はじめに
自作デバイスesp32io は、ESP32-S3をベースにした汎用リモートI/Oプラットフォームです。フォトカプラ絶縁のDI/DO、0–10V ADC入力など、幅広い信号レベルを扱える設計になっており、MQTT Discoveryに対応しているため、ESP32-S3-DevkitC-1にファームウェアを書き込んでHome Assistantに繋ぐだけでスイッチやセンサーとして自動的にエンティティ登録されます。また、本記事では扱いませんが、PythonやNode-REDからも制御することができます。
前回の記事に続き、今回は実基板(esp32io-hw)を使って24V系信号(リレー駆動・フォトインタラプタ入力)を扱ってみます。24Vは工場設備などで一般的に使われている電圧レベルで、家庭用のIoT工作とは少し異なる領域になります。
プロジェクト全体像はハブ記事にまとめてあるので、esp32ioの全体像が気になる方はそちらもあわせてご覧ください。
今回やること
- Home Assistant上のスイッチ操作で、24VリレーをON/OFF駆動
- 24V系フォトインタラプタの状態を、Home Assistant上でリアルタイム表示
使用機材
| 項目 | 内容 |
|---|---|
| マイコン基板 | esp32io-hw(ESP32-S3-DevkitC-1搭載、KiCad設計) |
| ファームウェア | esp32io-mqtt-firmware |
| リレー | Omron MY-2N 24V |
| フォトインタラプタ | Omron EE-SX671A (NPNオープンコレクタ出力) |
| 外部電源 | DC24V アダプター |
| Home Assistant | Raspberry Pi 4B上で動作(Docker) |
| MQTTブローカー(Mosquitto) | Raspberry Pi 4B上で動作(Docker) |
⚠️ esp32io基板自体のロジック電源は3.3V/5V系です。リレー・フォトインタラプタの24V駆動には別途外部電源が必要です。
⚠️ 扱う電圧が3.3Vや5Vの場合は自作基板は不要で、ESP32-S3-DevkitC-1単体にファームウェアを書き込むだけでも利用可能です。
⚠️ 本デバイス(esp32io-hw)は個人が開発した基板であり、PSEやCEなどの認証を取得したものではありません。24V回路への接続・使用は自己責任で行ってください。
配線図
本記事の電気配線は以下の通りです。
内部回路が気になる方はこちらをどうぞ。
1. リレー駆動(DOによるスイッチ制御)
DO(do/0)はHome Assistant上で switch エンティティとして自動登録されます。トグルをONにするとリレーが動作します。
2. フォトインタラプタ検知(DIによるバイナリセンサー)
DI(di/0)は binary_sensor として登録されます。フォトインタラプタが遮光/受光を検知すると、Home Assistant上の状態がリアルタイムに変化します。
まとめ
実基板esp32io-hwと、そのファームウェア(esp32io-mqtt-firmware)を組み合わせることで、24V系の信号(リレー・フォトインタラプタ)もHome Assistantから違和感なく扱えることを確認しました。
24Vリレー駆動 → switch エンティティで制御
24Vフォトインタラプタ → binary_sensor エンティティで検知
このデバイスはハードウェア側の絶縁設計によって3.3V/5V系でも24V系でも扱える一方、ソフトウェア側は同じMQTT Discoveryの仕組みでYAML設定不要のまま自動的にエンティティ登録されます。配線は変わっても、ソフトウェア側で意識することはほぼ何もない、というのがesp32io-mqtt-firmwareの強みだと思っています。
<想定される用途>
- シャッター・ポンプ・換気扇など、家庭内外の設備のリモート操作
- 既存の機器や設備の稼働状態をリモートで見える化する
- 装置試作時のテスト環境構築の高速化
こうした用途はどれも、DI/DOという最小限のインターフェースと、Home Assistant側の自動エンティティ登録によって、追加の作り込みなしで実現できる範囲です。
esp32ioプロジェクトの全体像はこちらにまとめています。ハードウェア設計(KiCad/FreeCAD)や他のI/O機能についても順次記事化していく予定です。
参考リンク
- GitHub(esp32io-hw):https://github.com/noritama-lab/esp32io-hw
- GitHub(esp32io-mqtt-firmware):https://github.com/noritama-lab/esp32io-mqtt-firmware
- ハブ記事:https://qiita.com/Noritama-Lab/items/4532265ec6197ea5deee
- 前回記事(MQTT Discovery基本編):https://qiita.com/Noritama-Lab/items/2c3b7bda0aadf82f27a6




