ESP32-C6-GEEK(Waveshare)を使って、Matter プロトコル経由でスマートフォンから ON/OFF 操作できる 仮想スマートデバイスです。 実際の PC ハードウェアを接続しなくても、LCD に ON/OFF 状態を表示しながら動作確認ができます。
- Matter 対応 — Apple Home / Google Home / Amazon Alexa などのスマートホームアプリから操作可能
- LCD リアルタイム表示 — ON/OFF 状態・WiFi 接続状態・IP アドレスを 20fps でアニメーション表示
- バックライト自動調光 — イベント発生後 10 秒で全輝度、その後 22 秒かけてゆっくり消灯
- 仮想モード/実機モード切替 — 1 行変更するだけで実際の PC 電源ボタン制御(フォトカプラ GPIO)に切り替え可能
- OTA アップデート対応 — 無線でファームウェアを更新可能
| 部品 | 型番 |
|---|---|
| マイコン | Waveshare ESP32-C6-GEEK |
| LCD | ST7789(基板内蔵 135×240px) |
実機モード(
PC_VIRTUAL_MODE 0)では別途フォトカプラ回路が必要です。
| ツール | バージョン |
|---|---|
| ESP-IDF | v5.4.1 |
| ESP-Matter | 最新(GN 必須) |
| Python | 3.12.3 以上 |
| LovyanGFX | components/ に同梱 |
main/wifi_creds.h を編集します:
#define WIFI_SSID "your-ssid" // WiFi のネットワーク名
#define WIFI_PASSWORD "your-password" // 暗号化キーsource /home/kusa/esp/esp-idf/export.sh
source /home/kusa/esp/esp-matter/export.sh
cd /path/to/Virtualdev
idf.py buildidf.py -p /dev/ttyACM0 flash-
デバイスを起動し、LCD が
Readyになるまで待つ(IP アドレスがフッターに表示される) -
スマートホームアプリで 「デバイスを追加」 を選択
-
手動入力を求められたら以下の 11 桁コード を入力:
34970112332
シリアルモニターでも確認できます:
idf.py -p /dev/ttyACM0 monitor起動ログ内の
Manual pairing code:の行に表示されます。
起動
└─ connecting... (WiFi 接続中)
└─ Ready (IP 取得・Matter 待機中)
├─ ON (Matter から ON コマンド受信)
└─ OFF (Matter から OFF コマンド受信)
フッターには常に取得済み IP アドレスが表示されます。
main/pc_control.h:
#define PC_VIRTUAL_MODE 1 // 1=仮想モード(デフォルト)/ 0=実機GPIO実機モード(0)にすると、GPIO 20 のフォトカプラ経由で PC 電源ボタンを制御します。
main/lcd_display.cpp:
#define BL_MAX 220 // イベント直後の輝度(0〜255)
#define BL_HOLD_MS 10000 // 全輝度を維持する時間 [ms]
#define BL_FADE_STEP_MS 100 // フェードのステップ間隔 [ms](小さいほど速い)Virtualdev/
├── CMakeLists.txt
├── partitions.csv OTA 対応カスタムパーティション
├── sdkconfig.defaults ビルド共通設定
├── sdkconfig.defaults.esp32c6 ESP32-C6 固有設定
├── main/
│ ├── app_main.cpp Matter ノード・イベントコールバック
│ ├── lcd_display.cpp/hpp LovyanGFX LCD 描画・バックライト制御
│ ├── pc_control.c/h 仮想/実機 電源状態管理
│ └── wifi_creds.h WiFi SSID / パスワード ← 要編集
├── components/
│ └── LovyanGFX/ LCD ドライバライブラリ
├── managed_components/ ESP-IDF マネージドコンポーネント
└── doc/
├── readme.md このファイル
└── BUILD_INSTRUCTIONS.md 詳細ビルド手順
MIT License
- ESP-Matter — Espressif 公式 Matter SDK
- LovyanGFX — 高速グラフィックライブラリ