Skip to main content

GroveモジュールをESPHomeを使用してHome Assistantに接続する

note

この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

GroveモジュールをESPHomeを使用してHome Assistantに接続する

はじめに

このWikiでは、Seeed Studio XIAO ESP32C3をHome Assistant上で動作するESPHomeに接続し、GroveモジュールをXIAO ESP32C3に接続した後にセンサーデータを送信したりデバイスを制御する方法をステップバイステップで説明します。それでは始めましょう!

ESPHomeとは?

ESPHomeは、ESPボードの管理を可能な限り簡単にすることを目的としたツールです。YAML構成ファイルを読み取り、ESPデバイスにインストールするカスタムファームウェアを作成します。ESPHomeの構成に追加されたデバイスやセンサーは、Home AssistantのUIに自動的に表示されます。

Home Assistantのインストール

Home Assistantがすでにインストールされていることを確認してください。ODYSSEY-X86 SBCにHome Assistantをインストールする手順については、このWikiを参照してください。

Home AssistantにESPHomeをインストールする

ESPHomeはHome Assistantアドオンとして利用可能で、アドオンストアから簡単にインストールできます。

  • ステップ1. Home AssistantでESPHomeを迅速にセットアップするには、以下のボタンをクリックしてください
  • ステップ2. 以下のポップアップが表示されたら、OPEN LINKをクリックしてください
  • ステップ3. INSTALLをクリックしてください
  • ステップ4. すべてのオプションを有効にしてSTARTをクリックしてください
  • ステップ5. OPEN WEB UIまたはサイドパネルのESPHOMEをクリックしてください

ESPHomeが正常に読み込まれると、以下のウィンドウが表示されます

Seeed Studio XIAO ESP32C3をESPHomeに追加する

  • ステップ1. + NEW DEVICEをクリックしてください
  • ステップ2. CONTINUEをクリックしてください
  • ステップ3. デバイスの名前を入力し、ネットワーク名パスワードなどのWiFi資格情報を入力してください。その後、NEXTをクリックしてください
  • ステップ4. ESP32-C3を選択してクリックしてください
  • ステップ5. このボードを手動で構成するため、SKIPをクリックしてください
  • ステップ6. 新しく作成されたボードの下にあるEDITをクリックしてください
  • ステップ7. これによりYAMLファイルが開き、このファイルを使用してすべてのボード構成を設定します。esp32の内容を以下のように編集してください
esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
version: 2.0.5
platform_version: 5.2.0

注意: ここでは、ESP32用ArduinoコアおよびPlatformIOのESP32サポートの最新バージョンを使用しています

  • ステップ8. SAVEをクリックし、その後INSTALLをクリックしてください
  • ステップ9. USB Type-Cケーブルの一端をSeeed Studio XIAO ESP32C3に接続し、もう一端をODYSSEY-X86のUSBポートのいずれかに接続してください
  • ステップ10. Plug into the computer running ESPHome Dashboardをクリックしてください
  • ステップ11. 接続されたポートを選択してください。/dev/ttyACM1である可能性が高いです。これは、/dev/ttyACM0がODYSSEY-X86のオンボードATSAMD21コプロセッサに接続されているためです

これで必要なボードパッケージがすべてダウンロードされ、ESPHomeファームウェアがXIAO ESP32C3にフラッシュされます。フラッシュが成功すると、以下の出力が表示されます

  • ステップ12. 上記のウィンドウには接続されたボードからのリアルタイムログが表示されます。STOPをクリックして閉じてください
  • ステップ12. ボードのステータスがONLINEと表示されている場合、ボードがWiFiに正常に接続されていることを意味します

これで、XIAO ESP32C3をX86ボードから切り離し、USBケーブルで電源を供給するだけで済みます。これは、今後XIAO ESP32C3にファームウェアを書き込む場合、USBケーブルでX86ボードに接続することなく、OTAで簡単に行えるようになるためです。

  • ステップ13. 三つの点をクリックし、Installをクリックします。
  • ステップ14. 三つの点をクリックし、Installをクリックします。
  • ステップ15. Wirelesslyを選択すると、変更がワイヤレスでボードにプッシュされます。
  • ステップ16. Settingsに移動し、Devices & Servicesを選択します。
  • ステップ17. ESPHomeが検出された統合として表示されます。CONFIGUREをクリックします。
  • ステップ18. SUBMITをクリックします。

ここで、xiao-esp32c3の設定にある暗号化キーを入力するよう求められます。

  • ステップ19. xiao-esp32c3.yamlに戻り、暗号化キーをコピーして、上記のダイアログボックスに貼り付け、SUBMITをクリックします。
  • ステップ20. FINISHをクリックします。

GroveモジュールをESPHomeとHome Assistantで使用する

次に、GroveモジュールをSeeed Studio XIAO ESP32C3に接続し、センサーデータを表示したり、Home Assistantを使用してデバイスを制御したりします!

GroveモジュールをXIAO ESP32C3に接続する

GroveモジュールをSeeed Studio XIAO ESP32C3で使用するには、Grove Shield for Seeed Studio XIAOを使用し、XIAO ESP32C3を接続します。

その後、ボード上のGroveコネクタを使用してGroveモジュールを接続できます。

ピン定義

Grove Shield for Seeed Studio XIAOのGroveコネクタにGroveモジュールを接続する際には、以下の表に従って適切な内部ピン番号を使用する必要があります。

内部ピン番号ピンマッピング
2D0
3D1
4D2
5D3
6D4
7D5
21D6
20D7
8D8
9D9
10D10
6SDA
7SCL

例えば、D0ポートにGroveモジュールを接続したい場合、ESPHomeでピンを2として定義する必要があります。

ESPHomeでのGrove互換性リスト

現在、以下のGroveモジュールがESPHomeでサポートされています。

GroveカテゴリESPHomeコンポーネント
Grove - レーザーPM2.5ダストセンサーガスGrove - レーザーPM2.5センサー (HM3301)
Grove - SEN55 オールインワン環境センサー, NOx, PM, VOC, RH, 温度ガスSen5xシリーズ環境センサー
Grove - SEN54 オールインワン環境センサー, PM, VOC, RH, 温度ガスSen5xシリーズ環境センサー
Grove - VOCおよびeCO2ガスセンサー - SGP30ガスSGP30 CO₂および揮発性有機化合物センサー
Grove - VOCガスセンサー (SGP40)ガスSGP40揮発性有機化合物センサーおよびSGP41 VOCおよびNOxセンサー
Grove - ホルムアルデヒドセンサー (SFA30) - HCHOセンサー空気質SFA30ホルムアルデヒドセンサー
Grove - 4桁ディスプレイディスプレイTM1637 7セグメントディスプレイ
Grove - サーボアクチュエータサーボコンポーネント
Grove - I2Cモータードライバー (TB6612FNG)アクチュエータGrove TB6612FNGモータードライブ
Grove - DS1307 RTC (リアルタイムクロック) for Arduino時間時間コンポーネント
Grove - 高精度RTC (DS1307)時間時間コンポーネント
Grove - WS2813 RGB LEDストリップ防水 - 30 LED/m - 1mライトNeoPixelBusライト
Grove - WS2813 RGB LEDストリップ防水 - 60 LED/m - 1mライトNeoPixelBusライト
Grove - RGB LEDリング (20 - WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LEDスティック (10 - WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LEDリング (24-WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LED (WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LEDスティック (20-WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LEDリング (16-WS2813 Mini)ライトNeoPixelBusライト
Grove - RGB LEDスティック (15-WS2813 Mini)ライトNeoPixelBusライト
Grove - アルティメットRGB LEDリングライトNeoPixelBusライト

これより、上記の表から6つのGroveモジュールを選択し、それらをESPHomeおよびHome Assistantと接続する方法を説明します。

Grove - 温度と湿度センサー (AHT20)

設定手順

  • ステップ 2. 以前作成した xiao-esp32c3.yaml ファイルの末尾に以下を追加し、OTAでXIAO ESP32C3にプッシュします。
i2c:
sda: 6
scl: 7

sensor:
- platform: aht10
variant: AHT20
temperature:
name: "Temperature"
humidity:
name: "Humidity"

AHT10コンポーネントについての詳細はこちらをご覧ください。このコンポーネントを使用すると、AHT10、AHT20、AHT21ベースのセンサーを利用できます。ここでは、AHT20がI2Cプロトコルを使用して通信するため、I²Cバスコンポーネントを追加しています。

ダッシュボードでの可視化

  • ステップ 1. Home Assistantの概要ページで、3つのドットをクリックし、ダッシュボードを編集を選択します。
  • ステップ 2. + カードを追加をクリックします。
  • ステップ 3. エンティティ別を選択し、temperatureと入力してTemperatureの横にあるチェックボックスを選択します。
  • ステップ 4. 同じ手順をHumidityにも繰り返します。
  • ステップ 5. 続行をクリックします。
  • ステップ 6. ダッシュボードに追加をクリックします。

これでHome Assistantのダッシュボードは以下のようになります。

  • ステップ 7. センサーのデータをゲージとして可視化することもできます。カード別ゲージをクリックします。
  • ステップ 8. ドロップダウンメニューからTemperatureを選択します。
  • ステップ 9. 保存をクリックします。
  • ステップ 10. 同じ手順をHumidityにも繰り返します。

これでダッシュボードは以下のようになります。

このWiki内のGrove - VOCとeCO2ガスセンサー (SGP30)およびGrove - CO2 & 温度 & 湿度センサー (SCD41)についても、同様の手順でセンサーデータをダッシュボードに可視化できます。

Grove - VOCとeCO2ガスセンサー (SGP30)

設定手順

  • ステップ 2. 以前作成した xiao-esp32c3.yaml ファイルの末尾に以下を追加し、OTAでXIAO ESP32C3にプッシュします。
i2c:
sda: 6
scl: 7

sensor:
- platform: sgp30
eco2:
name: "eCO2"
accuracy_decimals: 1
tvoc:
name: "TVOC"
accuracy_decimals: 1

SGP30コンポーネントについての詳細はこちらをご覧ください。

Grove - CO2 & 温度 & 湿度センサー (SCD41)

設定手順

  • ステップ 2. 以前作成した xiao-esp32c3.yaml ファイルの末尾に以下を追加し、OTAでXIAO ESP32C3にプッシュします。
i2c:
sda: 6
scl: 7

sensor:
- platform: scd4x
co2:
name: "CO2"
temperature:
name: "Temperature"
humidity:
name: "Humidity"

SGP4xコンポーネントについての詳細はこちらをご覧ください。

Grove - リレー

設定手順

  • ステップ 1. Grove - リレー をSeeed Studio XIAO用のGrove Shieldのデジタルポートの1つに接続します。ここではD0ポートを選択します。
  • ステップ 2. 以前作成した xiao-esp32c3.yaml ファイルの末尾に以下を追加し、OTAでXIAO ESP32C3にプッシュします。
switch:
- platform: gpio
pin: 2
name: "Relay"

リレーコンポーネントについての詳細はこちらをご覧ください。

ダッシュボードでの可視化

  • ステップ 1. 以前説明した+ カードを追加の下で、エンティティ別を選択し、relayと入力して選択し、続行をクリックします。
  • ステップ 2. ダッシュボードに追加をクリックします。

これでトグルスイッチを使用してリレーをオン/オフすることができます。

Grove - mini PIR モーションセンサー

設定構成

  • ステップ 2. 以前に作成した xiao-esp32c3.yaml ファイルの末尾に以下を追加し、OTA を使用して XIAO ESP32C3 にプッシュします。
binary_sensor:
- platform: gpio
pin: 2
name: "PIR Sensor"
device_class: motion

PIR コンポーネントについての詳細は こちら をご覧ください。

ダッシュボードでの可視化

  • ステップ 1. 以前に説明した + ADD CARD の下で、BY ENTITY を選択し、pir と入力して選択し、CONTINUE をクリックします。
  • ステップ 2. ADD TO DASHBOARD をクリックします。

モーションが検出されると、Detected と表示されます。

技術サポートと製品に関するディスカッション

弊社製品をお選びいただきありがとうございます!製品の使用体験がスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、いくつかのコミュニケーションチャネルをご用意しています。

Loading Comments...