Skip to main content

ESPHome サポート Seeed Studio XIAO ESP32C3

note

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

XIAO ESP32C3 を ESPHome を介して Home Assistant に接続する(すべてのポート対応)

このウィキでは、Seeed Studio XIAO ESP32C3 を ESPHome を使用して Home Assistant に接続し、Grove モジュールを XIAO ESP32C3 に接続した後にセンサー データを送信したりデバイスを制御したりする方法をステップバイステップで説明します。ここでは、デジタル、アナログ、IIC、SPI、UART を含むすべてのポートを使用しています。それでは始めましょう!

ESPHome と Home Assistant とは?

ESPHome は、ESP ボードの管理をできるだけ簡単にすることを目的としたツールです。YAML 設定ファイルを読み取り、ESP デバイスにインストールするカスタム ファームウェアを作成します。ESPHome の設定に追加されたデバイスやセンサーは、Home Assistant の UI に自動的に表示されます。ESPHome を使用すると、データを Home Assistant デバイスに接続して送信することができます。

ハードウェアの準備

制御ボードとして XIAO ESP32C3 を使用し、ハードウェアとして reRouter を使用し、複数の Grove センサーを組み合わせています。

Seeed Studio XIAO ESP32C3Seeed Studio 拡張ボードHome Assistant デバイス

Grove センサー

ソフトウェアの準備

Home Assistant のインストール

まず、Home Assistant がすでに稼働していることを確認してください。Home Assistant を 製品 にフラッシュする方法については、複数のウィキが紹介されています。私は Raspberry Pi CM4 を搭載した reRouter を使用しているため、公式の手順を使用して OS を reRouter にフラッシュすることができます

Home Assistant に ESPHome をインストール

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

  • ステップ 1. INSTALL をクリックします。
  • ステップ 2. すべてのオプションを有効にして、START をクリックします。

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

はじめに

ソフトウェアとハードウェアの準備が整ったら、作業を開始できます。

1. Seeed Studio XIAO ESP32C3 を ESPHome に追加

  • ステップ 1. + NEW DEVICE をクリックします。
  • ステップ 2. CONTINUE をクリックします。
  • ステップ 3. デバイスの名前を入力し、ネットワーク名パスワードなどの WiFi 認証情報を入力します。その後、NEXT をクリックします。
  • ステップ 4. ESP32-C3 を選択してクリックします。
  • ステップ 5. このボードを手動で設定するため、SKIP をクリックします。
  • ステップ 6. 新しく作成したボードの下にある EDIT をクリックします。
  • ステップ 7. YAML ファイルが開きます。このファイルを使用してボードのすべての設定を行います。以下のように esp32 の内容を編集します。
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio

esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0

# ロギングを有効化
logger:
hardware_uart: UART0

# Home Assistant API を有効化
api:
password: "Your password"

ota:
password: "Your password"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

# WiFi 接続が失敗した場合のフォールバックホットスポットを有効化
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "Your Password"
note

ここでは、ESP32 用の最新バージョンの Arduino corePlatformIO の ESP32 サポート を使用しています。

  • ステップ 8. SAVE をクリックし、その後 INSTALL をクリックします。
  • ステップ 9. USB Type-C ケーブルの一端を Seeed Studio XIAO ESP32C3 に接続し、もう一端を reRouter CM4 1432 の USB ポートのいずれかに接続します。
  • ステップ 10. Plug into the computer running ESPHome Dashboard をクリックします。
  • ステップ 11. 接続されているポートを選択します。おそらく /dev/ttyACM1 です。なぜなら /dev/ttyACM0 は reRouter CM4 1432 に接続されているためです。
tip

2.4GHz Wi-Fi を使用することをお勧めします。

これで、必要なボードパッケージがすべてダウンロードされ、ESPHome ファームウェアが XIAO ESP32C3 にフラッシュされます。フラッシュが成功すると、以下の出力が表示されます。エラーが表示された場合は、XIAO ESP32C3 を再起動するか、BOOT ボタンを押しながら接続してブートローダーモードに入ってみてください。

  • ステップ 12. 上記のウィンドウには、接続されたボードからのリアルタイムログが表示されます。STOP をクリックして閉じてください。
  • ステップ 13. ボードのステータスが ONLINE と表示されている場合、それはボードが WiFi に正常に接続されたことを意味します。
  • ステップ 14. Settings に移動し、Devices & Services を選択します。
  • ステップ 15. ESPHome が検出された統合として表示されます。CONFIGURE をクリックします。
  • ステップ 16. SUBMIT をクリックします。
  • ステップ 17. パスワードを入力します。これは STEP 8 で確認した API パスワードです。
  • ステップ 18. FINISH をクリックします。

2. Grove モジュールを接続してデータを送信する

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

開発知識

XIAO 拡張ボード

Grove モジュールを Seeed Studio XIAO ESP32C3 と一緒に使用するには、Seeed Studio Expansion Base for XIAO を使用し、XIAO ESP32C3 をその上に接続します。

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

ピン定義

以下の図を参考にして、Grove Shield for Seeed Studio XIAO 上の Grove コネクタに Grove モジュールを接続する際に適切な内部ピン番号を使用してください。

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

ESPHome との Grove 互換性リスト

現在、以下の Grove モジュールが ESPHome に対応しています。こちら を確認してください。

3. Grove 接続とデータ送信

次に、いくつかの Grove モジュールを選択し、それらを ESPHome および Home Assistant と接続する方法を説明します。

Grove - 温湿度センサー (DHT20)

この温湿度センサーは、事前に校正されたデジタル出力を提供します。独自の静電容量センサー要素が相対湿度を測定し、温度は負の温度係数 (NTC) サーミスタによって測定されます。優れた信頼性と長期安定性を備えています。こちらをクリック して購入できます。

セットアップ構成
  • ステップ 1. Grove - DHT20 を Seeed Studio Expansion Base for XIAO の I2C コネクタのいずれかに接続します。
  • ステップ 2. 以前に作成した xiao-esp32c3.yaml ファイル内でファイルを変更し、OTA を使用して XIAO ESP32C3 にプッシュします。
esphome:
name: xiao-esp32c3
platformio_options:
board_build.flash_mode: dio

esp32:
board: seeed_xiao_esp32c3
variant: esp32c3
framework:
type: arduino
platform_version: 5.4.0

# ロギングを有効化
logger:
hardware_uart: UART0

api:
password: "F4MQG/rBhNmqP8Nud+AJ+5CYu7LuIhIFTOcRwOm5Nw4="

ota:
password: "999afa1f8a07e85959a9f89f8f6aebb2"

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password

# WiFi 接続が失敗した場合のフォールバックホットスポット (キャプティブポータル) を有効化
ap:
ssid: "Xiao-Esp32C3 Fallback Hotspot"
password: "YtpCwOqLoYlp"

captive_portal:

# 0x28 は DHT20 の I2C アドレス
i2c:
sda: GPIO6
scl: GPIO7
scan: True
id: bus_0x38

sensor:
- platform: aht10
temperature:
name: "リビングルームの温度"
humidity:
name: "リビングルームの湿度"
update_interval: 60s

DHT20 コンポーネント についてさらに学ぶことができます。ここでは、DHT20 が I2C プロトコルを使用して通信するため、I²C バスコンポーネントを追加しています。

ダッシュボードでの可視化
  • ステップ 1. Home Assistant の概要ページで、3つのドットをクリックし、Edit Dashboard を選択します。
  • ステップ 2. + ADD CARD をクリックします。
  • ステップ 3. By ENTITY を選択し、temperature と入力して、Temperature の横にある チェックボックス を選択します。
  • ステップ 4. ADD TO DASHBOARD をクリックします。

  • ステップ 5. センサーのデータをゲージとして可視化することもできます。BY CARD の下で Gauge をクリックします。

これで、Home Assistant のダッシュボードは以下のように表示されます。

Grove - 光センサー (LS06-S)

Grove - 光センサー v1.2 はアナログモジュールで、さまざまな電気信号を出力し、それを異なる範囲に変換することができます。このセンサーは高感度で信頼性の高いフォトダイオードである LS06-S フォトレジスタを統合しており、環境の光の強度を検出します。光の測定、光の検出、光制御スイッチに最適な Arduino 光センサーモジュールです。

こちらをクリックして購入できます。

設定手順
  • ステップ 1. Grove - 光センサーを XIAO 用 Seeed Studio 拡張ベースのアナログ/デジタルコネクタの1つに接続します。
  • ステップ 2. 以前作成した xiao-esp32c3.yaml ファイルを編集し、OTA を使用して XIAO ESP32C3 にプッシュします。

すべてが正常に進行すると、以下の結果が表示されます。

ダッシュボードでの可視化
  • ステップ 1. Home Assistant の概要ページで、3つのドットをクリックし、Edit Dashboard を選択します。
  • ステップ 2. + ADD CARD をクリックします。
  • ステップ 3. By ENTITY を選択し、Light Sensor を選択します。
  • ステップ 4. PICK DIFFERENT CARD を選択します。
  • ステップ 5. Gauge を選択します。
  • ステップ 6. 最小値と最大値を設定します。
  • ステップ 7. これで、ダッシュボードに光センサーの値が表示されます。

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

✨ 貢献者プロジェクト

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

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

Loading Comments...