Matter ESP32-C6 Ubuntu

Smart PC Project

Matter over Wi-FiによるPC電源管理システムの統合

Video

About this Project

本プロジェクトは、Ubuntu PCにESP32-C6を統合し、最新のスマートホーム規格「Matter」に対応させる試みです。 PCの電源状態を他の家電と同様にシームレスに管理・操作できるようにすることを目指しています。

System Architecture Operation Flow

Specification

1. プロジェクト概要

本プロジェクトは、Ubuntu PCをMatter over Wi-Fiプロトコルを通じてスマートホームエコシステムへ統合し、既存の家電製品と同様のシームレスな電源管理を実現することを目的とする。具体的には、Waveshare ESP32-C6-GEEKをインターフェースとし、物理的なスイッチ操作を介在させずにデジタル環境からPCの制御を可能にする。

  • 基本コンセプト: Musicサーバー等のUbuntu PCに対し、スマートホーム規格「Matter」を適用。デバイスの前まで移動することなく電源操作を完結させ、洗練されたユーザー体験と省電力運用を両立する。
  • 主要機能:
    • リモート操作: 外出先からの操作や、Google Nest Hub等の音声アシスタントによる制御。
    • 状態監視: PCのPWR LED信号を検知し、稼働状態をリアルタイムにフィードバック。
    • 自動化連携: スケジュール設定による定時起動や一括シャットダウン。
    • 安全設計: フォトカプラ(PC817)を用いた電気的分離により相互保護を徹底。

2. ハードウェア仕様

制御コアとして、ケース封入済みのUSBスティック型開発ボード「Waveshare ESP32-C6-GEEK」を採用する。

  • マイクロコントローラ: ESP32-C6(Wi-Fi 6、Bluetooth 5.0、Zigbee/Thread対応)
  • ストレージ: 16MB FLASH搭載
  • ディスプレイ: 1.14インチLCD(135x240ピクセル)標準装備
  • インターフェース: USB-A端子(バスパワー駆動対応)、UART、I2C
  • ユーザーインターフェース: オンボードBOOTボタン、RGB LED搭載

3. ピンアサインおよび回路構成

ESP32-C6とPCマザーボードの物理接続において、電気的な干渉や過電圧による故障を防ぐため「Hailege 2チャンネル フォトカプラ絶縁ボード (PC817)」を介在させ、ガルバニック絶縁(Galvanic Isolation)を構築する。

接続仕様およびGPIO割り当て
ESP32-C6 側 信号種別 接続先*1 役割
GPIO 0 Digital Output PC PWR SW ピン 電源ON/OFFトリガー(擬似的な物理ボタン押下)
GPIO 10 Digital Input PC PWR LED ピン 稼働状態の検知(High: ON / Low: OFF)

*1.フォトカプラ経由

  • Microcontroller: ESP32-C6 (Matter over Wi-Fi)
  • Host OS: Ubuntu (with ACPI integration)
  • Protocol: Matter (On/Off Light/Switch)
  • Controller: Google Nest Hub / Android Device

設計上の留意点:

  • 手動操作の維持: 本回路接続後も、PC筐体側の物理電源ボタンによる操作は引き続き有効であり、安全性を確保。
  • ロジック: GPIO 10はPower LED端子の電圧レベルを監視し、バイナリステータスをMatterのOn/Offクラスタへ反映。

4. 階層アーキテクチャ分析

システムのソフトウェアスタックは、以下の4層構造として定義される。

Software Architecture Layers
  • Application層: ユーザーロジックおよびデバイスの状態定義
  • Matter層: Matter SDKによるプロトコル実装(Matter Accessoryとして動作)
  • Arduino層: デバイス制御およびGPIO抽象化レイヤー
  • Wi-Fi層: Wi-Fi 6(802.11ax)を用いた物理通信(ローカル低遅延通信)

5. UI/UX設計およびロジック

1.14インチLCDを活用し、以下の情報をリアルタイムに可視化する。

  • PCステータス: 稼働状況(POWER ON / SHUTDOWN)の視覚的表示
  • ネットワーク情報: 割り当てられたIPアドレス、Wi-Fi電界強度
  • コミッショニング: Matterペアリング用のQRコード表示
  • 操作プロセス: Google Homeアプリ、または音声コマンドによる制御
  • Matter統合: Bluetooth LE 5.0を使用した初期コミッショニング

6. 筐体・設置仕様

Installation Method Parts list

フォームファクタの利点 ESP32-C6-GEEKは、基板が強固なケースに収められたUSBスティック形状であり、以下のメリットを提供する。

  • 設置の柔軟性: 外部USBポートへの装着に加え、内部USBピンヘッダ経由での隠蔽設置も可能
  • 電源の簡素化: USBバスパワーから電力を取得するため、別途電源配線が不要

7. 開発環境

安定したMatter over Wi-Fi 6の実装および統合のため、以下のツールセットを推奨する。

  • SDK: ESP-IDF v5.1以降
  • 開発フレームワーク: Arduino環境
  • セットアップツール: Google Home App(BLE 5.0)
  • コントローラー: Google Nest Hub(第2世代)

8. アーキテクチャ確認事項

Development Setup
  • BIOS/UEFI設定: PCのシャットダウン状態でもESP32-C6が信号を待ち受けるためには、マザーボードの給電設定(BIOS/UEFI)が必要です。特に「ErP Ready」をDisabledにし、シャットダウン中もUSB給電を維持する設定が必要です。
  • USB給電: PCがオフの時もUSBポートに給電され続けている必要があります。前述のErP設定に加え、「USB Standby Power」等の項目が有効であることを確認してください。
  • 物理コネクタの適合性(重要): ESP32-C6-GEEKの画像を見ると、側面のGPIO(GP0, GP10等)は一般的なピンヘッダではなく、**小型のJST規格コネクタ(おそらくSH 1.0mmピッチ等)**になっています 。 一般的なデュポンケーブル(ブレッドボード用ワイヤ)は直接刺さりません。GEEKに付属している専用の「コネクタ付きケーブル」があるか、あるいはそのコネクタから通常の配線へ変換する準備が必要です。
  • 電源ボタンの「押し時間」の定義 : ソースには「電源ON/OFFトリガー」とあるが、プログラム側で「何秒間スイッチを短絡させるか」のロジックが必要です

9. アプリケーション要求仕様定義必須 検討事項

  • 電源ボタン短押し(約200ms〜500ms):
  • 通常の電源ONおよびOSへのシャットダウン要求。
  • 電源ボタン長押し(5秒以上):
  • フリーズ時の強制終了(Matterの「長押し」機能として実装するか検討が必要)。
  • 絶縁ボード(Hailege)の電圧整合性: 使用予定の絶縁ボードは「3.6-30V」の電圧変換に対応していますが、ESP32-C6の信号は3.3Vです。 このボードの入力(IN1/IN2)が3.3Vで確実にフォトカプラを駆動できるか(抵抗値の選定)を確認してください。もし駆動電圧が足りない場合、ESP32側の出力を少し工夫する必要があります。
  • スリープ状態(点滅)への対応ロジック: Ubuntuが「スリープ(サスペンド)」に入ると、多くのマザーボードでPWR LEDが点滅します。 点滅している状態をMatter上で「ON」と見なすか、あるいは「スリープ」という別の状態として表示させるか、ソフトウェアでの判定ロジックが必要です。