|
以前よりESP8266やESP32でスマートホーム機器を自作していますが、
メインの通信でWiFiを利用していた時は多くの悩みを抱えていました。 そんな中で2021年の今頃ですがESP-NOWという仕組みに気づきました。 ESP32/8266同士のMACアドレスで調停無しで直接通信する仕組みの様で、 自分なりに欲しい機能をまとめたサンプルを作って検討を始めました。 QiitaにArduinoIDEで作ったESP-NOWの送受信関数群とサンプルを作りました ESP-NOWで三路スイッチモドキを作る(リレー側) ESP-NOWで三路スイッチモドキを作る(スイッチ側) 検討して判ったESP-NOWは安直で良い感じです ・ESP32/8266の保持するMACアドレスに対して送信/受信ができる ・総てのESP32/ESP8266へ一斉送信ができる(broadcast) ・送信は届かない事もある。(UDP通信みたいな感じ?) ・1送信で200byteぐらい送れる(非暗号化の平文ですケドネー) ・WiFiのプログラムとは共存できないらしい (排他利用:WiFiは別機器で利用可) ・通信範囲はESP32とESP8266の性能に依存(最悪で3mぐらい) ・通信チャンネルは設定できるらしい (僕は固定CHで利用中なので詳細不明) ・使用時のプログラム/ヒープメモリ占有量は少ない(BLE通信と共存可) ・RSSIはESP32で取れるがESP8266は無理っぽい(ArduinoIDEライブラリで未対応) ・電源ONから約50mSecでESP-NOWメッセージが送信できる 問題点は? ・1対1通信は楽に作れる。けどネットワークの仕組みは無い ・通信距離はESP32/ESP8266の性能に依存して5mがやっと・・ かな? 中継機能ありのESP-NOWネットワークを自作してみた 親局同士の連携+親局・子局の通信の機能を持ったモノを作成しました。 連携先のMACアドレスを各機体で覚える形式ですが結構うまく動きました。 でも設定や現状把握は専用の自作ソフトが必要になりました。 機器台数が10台を超えた頃から設定が面倒臭くなりました。 設定不要なESP-NOW MESHネットワークを自作してみる 「宛先付きの電文を各機器がリレー伝達すれば成り立つ」と考え作りました。 個々の通信は一応できますが、従来のスマートネットワークでは対応できず 新たな仕様を考えている状態です。 ESP-NOWを導入して解決したWiFiの悩みです。 ・WiFi AP局が死んだ時は総ての機器が停止する ・WiFi AP局が復活しても自動復帰できない機器がある ・ルーター先のネットワークが死ぬと停止する機器がある ・WiFiの通信距離が短い機器/場所がある ・手持ちのESP32/8266は総じてWiFi通信距離が短い(安全距離は約5m) ・WiFi AP局に子機が同時接続できる台数が結構少ない(安物買うからですけどねー) ・WiFi AP局の更新は子機全てに同じSSIDとPASSWORDの設定が必要 ・子機を他所に持っていって披露する時はWiFiAP局も持って行く必要がある ここからは過去の検討記事です 2021年12月27日 ESP-NOWの動作確認を行いました 使用したのは ESP32 (ESP32Loin 32 Lite)とESP8266(Node MCU V3 Lua) QiitaにArduinoIDEで作ったESP-NOWの送受信関数群とサンプルを上げました。 自分視点ですが、TEXT仕様でUARTと似た使い方が出来る様にしました。 ルールさえ判れば、使用感はUDP通信より簡単で扱い易いです。 Broadcast送信がある Broadcast応答機能を組み込んでおけば、通信可能範囲に 何台機器があるか判るし・・・ イロイロできます。 ESP-NOWの有効飛距離 飛距離の判定は古民家の屋内で行いました。 平屋/土壁/築100年ホド MACアドレス指定での検討だと5m以上でも通信できました。 broadcastとloopbackの応答具合では通信距離は5mぐらい。 別件でAirPlay使用中に時々WiFiの飛距離低下が判っています。 その時間帯は距離3m程度で隣の部屋への通信がやっとでした。 ソコで中継局を考慮した通信の仕組みが欲しいなぁと考えています。 ESP-NOWとWiFiの同時運用 1つの機体でESP-NOWとWiFiが使えれば楽になると考え調べました。 一応は可能な様ですが提供ライブラリを改造する必要がありそうで、 バージョンアップで動かなくなる可能性を考慮して諦めました。 別個でESP-NOW機とWiFi機を作り、UARTで繋いで対処してます。 時々電文の取りこぼしが起こります。 仕様なので対処が必要です。 自作のESP-NOW通信ライブラリは送信・受信を出来る様にしました。 必要に応じて送信受信の確認する様にプログラムを作って対処します。 1台の機器の送信先登録数は20台程度 良く判らないソフト作成時の不具合ですがメモ書きしときます 個人的な問題点:解決:トグルコマンドの連発は結局ドッチ? 2023年4月 追記 WiFiの様な通信強度(RSSI)が取れないか気になります 2023年6月 三路スイッチモドキのサンプルを上げました。 2023年3月 ESP-NOWの中継ハブ運用も開始しました 2023年1月 QiitaにArduinoIDEで作ったサンプルを上げました。 2022年8月 ESP-NOW通信が結構形になってきました 2023年2月 ESP-NOWネットワーク中継局を運用開始しました 2023年11月 ESP-NOWネットワーク中継ハブ通信が結構形になってきました お気に入りの記事を「いいね!」で応援しよう
Last updated
2024/10/03 11:27:05 PM
コメント(0) | コメントを書く
[部品:電気・電子・USBの工作や部品等の検討・紹介] カテゴリの最新記事
|