コードを 1 行も書かずに独自のスマート ホーム デバイスを構築する方法を紹介します。
独自のスマート ホーム デバイスを構築することを考えたことがある場合は、マイクロコントローラーがどのように動作するかを学習したり、複雑なコードを記述したりすることで気が遠くなったかもしれません。私は ESP32 ボードを使用していくつかのスマート ホーム デバイスを構築しましたが、ESPHome のおかげで、それらを動作させるために 1 行のコードを記述する必要はありませんでした。
ESPHome が非常に便利な理由
ESP32 をほぼあらゆるものに変身させます
ESP32 は小型で安価なマイクロコントローラーであり、多くのボードには Bluetooth と Wi-Fi が組み込まれているため、独自のスマート ホーム デバイスを構築するのに最適です。多くの場合、はんだ付けを必要とせずに、センサー、ボタン、LED ストリップなどの追加コンポーネントを ESP32 のピンに接続できます。 完全なオペレーティング システムを実行する Raspberry Pi のようなシングルボード コンピューターとは異なり、ESP32 はボードと接続されたハードウェアを制御する専用のファームウェアを実行します。 センサーなど。
このファームウェアは C++ などの言語で記述する必要がありますが、幸いなことに、自分でコードを記述する必要はありません。 ESPHome は、ファームウェアを生成できる無料のオープンソース プラットフォームです。自分でコードを書く代わりに、使用しているハードウェアとデバイスに何をさせたいかを ESPHome に伝えます。
既成のプロジェクトから始めました
一部のデバイスは数回クリックするだけでセットアップできます
ESPHome で ESP32 プロジェクトを開始する最も簡単な方法は、既製のプロジェクトの 1 つを試すことです。これらのプロジェクトには、すでに構成されているファームウェア パッケージが含まれているため、自分で何も設定する必要はありません。必要なのは、プロジェクトに関連する ESP32 ハードウェアだけで、準備は完了です。
最初に Bluetooth プロキシを構築しました。これにより、ESP32 を使用してホーム アシスタント経由で Bluetooth デバイスと通信できるようになり、家の周囲の Bluetooth 通信範囲が広がります。
Bluetooth は短距離通信プロトコルであるため、デバイスがサーバーから遠すぎる場合、Home Assistant はそのデバイスと通信できない可能性があります。 Bluetooth デバイスの近くに Bluetooth プロキシを配置し、Wi-Fi 経由でホーム アシスタントと通信し、関連情報を Bluetooth 経由でデバイスにやり取りできます。
Bluetooth プロキシの構築は簡単です。ESP32 を USB 経由でコンピュータに接続し、ESPHome Web サイトにある Bluetooth プロキシ プロジェクトの手順に従います。関連するファームウェアがデバイスにインストールされ、それをホーム アシスタントに追加できます。他の既製のプロジェクトには、音声アシスタント、メディア プレーヤー、赤外線および RF プロキシなどが含まれます。
Device Builder を使用するとカスタム デバイスを作成できます
コードを記述する代わりに、追加するコンポーネントを選択できます
既製のプロジェクトは構成がすでに行われているため、簡単に構築できます。独自のカスタム デバイスを構築する場合は、使用している ESP32 モデル、接続されているセンサーまたはその他のデバイス、およびデバイスに何を実行させたいかを構成する必要があります。
従来、これには YAML 構成を自分で記述する必要がありました。 YAML は人間が読める構成ファイル用の言語であり、C++ コードを記述するよりもはるかに複雑ではありませんが、独自の学習曲線があり、多くの人にとって不快に感じる可能性があります。ありがたいことに、ESPHome にはさらに簡単なオプションが追加されました。
Home Assistant では、ESPHome Device Builder を使用して構成ファイルを作成できます。このビジュアル エディターを使用すると、コア構成、接続されたコンポーネント (センサーなど)、自動化ステップなどの構成要素を選択して構成ファイルを構築できます。 Device Builder でブロックを選択すると、YAML ファイルが自動的に生成されます。
たとえば、使用している ESP32 ボードを選択し、ESP32 に接続した温度および湿度センサーのブロックを追加し、湿度が 80% を超えたら ESP32 のオンボード LED をオンにするという小さな自動化を構築できます。 Device Builder はこれを YAML 構成に変換し、ESP32 で実行するファームウェアにコンパイルできます。
複雑なプロジェクトの場合、私の比較的弱いハードウェアでは、Home Assistant 内でファームウェアをコンパイルするのが難しい場合があることがわかりました。この場合、ラップトップやデスクトップなどの別のデバイスでファームウェアをコンパイルできます。
ホーム アシスタントは魔法が起こる場所です
ESP32 は自動化を処理する必要がありません。
ESPHome Device Builder を使用してデバイス上で実行されるオートメーションを構築できますが、そうする必要はありません。 ESPHome は Home Assistant と統合されているため、構築したデバイスをスマート ホーム ソフトウェアに簡単に追加できます。 ESP32 デバイスのさまざまなセンサー、ボタン、LED、その他のコンポーネントはすべて、監視または制御できるホーム アシスタント内のエンティティとして表示されます。
その後、ESP32 自体にオートメーションを常駐させることなく、カスタム スマート ホーム デバイスに動作方法を指示できる複雑なオートメーションを構築できます。 ESPHome はハードウェア通信を処理し、Home Assistant はロジックを処理します。
これにより、ESP32 デバイスの動作の変更も非常に簡単になります。 YAML ファイルを編集したり、ファームウェアを再コンパイルしたりする必要はありません。ホーム アシスタントのオートメーションでいくつかの点を変更するだけです。 ESPHome と Home Assistant はまさに完璧にマッチしています。
独自のデバイスを構築するためにプログラマーである必要はありません
やりたいことすべてができないスマート ホーム デバイスに大金を費やしたくない場合は、自分でデバイスを構築することを妨げるものはありません。 C++ の知識は必要なく、YAML を記述する必要もありません。 ESPHome と Home Assistant を使用すると、コードを 1 行も記述することなく、優れたプロジェクトを構築できます。
関連情報は以下のリンクからご確認いただけます