【Home Assistant(Hass.io)】
ESPHome最新版でESP32の初期設定
「Home Assistant(Hass.io)でホームオートメーション 再起動!」シリーズです。
久しぶりにESP32デバイスを設定したら、ESPhomeの画面がだいぶ変わっていたので、備忘録代わりにメモっておきます。
<2023/09/28 追記>
ESP32デバイスの静的IPアドレスの設定・変更の仕方の記述を追加しておきました。これも備忘メモです。
以前は下記記事でESP32デバイスの初期設定について書きました。やることは概ね一緒ですが、細かな手順が変わりました(違うやり方ができるようになりました)。
この記事の前提条件 | |
---|---|
Home Assistant | 2022.9.1 |
Supervisor | 2022.08.6 |
Operating System | 8.5 |
Server | Raspberry Pi 4(2GB)/32bit |
ESPHome | 2022.8.3 |
上記バージョンを前提とした手順です。 (最新版では動かないこともあるかもしれませんが、私が使っている限り、備忘録を兼ねて最新化してゆきたいとは思っています)
1. はじめに
下記の記事で、ESPHomeでESP32デバイスの設定方法を記載しました。その後、ESPHomeも版を重ね画面とか変わったので、更新しておきます。
【Home Assistantでホームオートメーション】ESPHomeで屋内センサー増量 - コモノポリタン
2. ESP32の初期設定
基本的な流れは上記記事通りです。まず3.1. ESPHomeのHome Assistantへの導入 は終わっているとします。
3.2. NodeMCU-ESP32の初回接続の準備でブレッドボードにESP32デバイス(NodeMCU-ESP32Sとか)を挿すところまでは同じ。前はいちいちサーバまで行ってUSBケーブルで接続しなければならなかったので面倒でしたが、いまは設定画面をブラウザで開いているPCに接続して初期設定が可能になりました。
ESPHomeアドオン画面の右下の「+New Device」から初期設定を始めます。
初期設定するデバイスの名前(ここではenergy-ct1としています。何用かは察してくださいね)を設定するのと、デバイスが接続するWiFiのSSIDとパスワードを設定するようになっています。このWifiの設定は画面右上のSECRETSの中に記載されます(wifi_ssid, wifi_password)。
(ちなみに古いESPHomeで設定したことがある私は既にここにwifi_passwordが保存されていました。そこにさらにwifi_password(同じ名前!)の行が追加されたので、エラー出たりしました。ううむ。片っぽのwifi_passwordを消せば大丈夫なのですが。)
「インストール開始 (Installation)」のメッセージ画面ですが、ここで「Connect your ESP board with a USB cable to your computer ...」とあるので、今、ブラウザを開いているPCにデバイスを接続します。
上の画面の「Connect」をクリックすると、下の左の様な接続選択画面が出ます。「CP2102 USB to …」を選んで接続する(私のESP32デバイスの通信ブロックはCP2102らしい。四角いチップが載っている)のですが何度やってもうまくいかない時は、CP2102のドライバを入れなおしたらうまくいきました。下左画面で「キャンセル」とすると下右画面がでるので、CP2102のドライバを落としに行きましょう。私はCP210x Universal Driverなるものを入れてうまくいきました。
Connecting、Preparing installationとしばらくグルグルして「大丈夫か?」と不安になり始めたころに、真ん中のようなInstalling画面が出ます。で、うまくいくと「Configuration created」となります。
こうなればブレッドボードから抜いてUSBに電源を供給するだけで、ESPHomeから認識されるようになります。めでたしめでたし。
<追加メモ> ESP32デバイスの静的IPアドレス設定/変更
上記初期設定後はDHCPで自動取得したIPになっているかと思います。それを固定IP(静的なIPアドレス)でアクセスできるようにしたいと思います。
まずDHCPで割り当てられたアドレスを確認します。ESP32デバイスのログを見るか、ルータで割り当てられているIPを確認するかで、DHCPでのIPを取得します(例:'192.168.200.11)
次にESPHomeでデバイスの「EDIT」で下記記載を加えてインストールします。
(ここでuse_address:
に今アクセスしているアドレスを入れないとESPHomeはmanual_ip:
の項を見てそちらのIPにアクセスしようとします。ですが当然、まだそこにはいないので、変更のアップロード失敗します。)
(前略) wifi: ssid: "<接続しているWi-FiのSSID>" password: "<接続しているWi-Fiのパスワード>" use_address: 192.168.200.11 # DHCPでのIPアドレス # Static IP for this device manual_ip: static_ip: 192.168.200.101 # 設定したい静的IPアドレス gateway: 192.168.200.1 subnet: 255.255.255.0 dns1: 192.168.200.1 dns2: 0.0.0.0 (後略)
これで静的IPアドレス(固定IP)が設定できました。が、このままの設定ファイル(.yamlファイル)にしておくと次にアップロード(インストール)をしようとした時に、既に使っていないDHCP割り当てでのIPアドレスに接続しに行ってしまうので、use_address:
をコメントアウトするか、削除しておく必要あります。
(前略) wifi: ssid: "<接続しているWi-FiのSSID>" password: "<接続しているWi-Fiのパスワード>" # use_address: 192.168.200.11 # DHCPでのIPアドレス (後略)
以上で、ESP32デバイスの固定IP化は完了です。
同じやり方で「静的IPアドレスの変更」もできます。
- ESP32デバイスの設定ファイル(.yamlファイル)を編集して、今までのIPを
use_address:
に設定し、static_ip:
を新しい固定IPに変更。 - ESP32デバイスに新しい設定ファイルをインストールする
- ESP32デバイスの設定ファイル(.yamlファイル)を編集して、
use_address:
をコメントアウト(もしくは削除)する。
4. おわりに
ということで、これもだいぶ楽になりましたね。