偉大なるESP-MESH
ESP-MESH
Page not Found - ESP32 - — ESP-IDF Programming Guide latest documentation
ESP-MESHは通常のWiFiルーターにroot Nodeが接続して一般的なWiFi規格上で双方向Mesh通信できるようになっている。 各ノードは上位にはStationが接続し、SoftAPが機能している。
更に一般的なネットワークで使われるTCP/IPプロトコルへの接続可用性も残し、
・WiFi規格上に独自のESP-MESHパケットを内包する事でMACルーティングテーブルに基づく双方向Mesh通信を可能としている。ルートノードはTCP / IPでルーターと通信する事で外部IPネットワークとの間でパケットを送受信できる
・各ノードとルーター間の信号強度に基づくルートノードを動的選択できる。
・親ノードの自己修復ができる。 ”1つ以上の子ノードを持つ親ノードが故障した場合、または親ノードとその子ノード間の接続が不安定になった場合に発生します。ESP-MESHの子ノードは、新しい親ノードを自律的に選択し、それとアップストリーム接続を形成して、ネットワークの相互接続性を維持できる。”
・MACアドレスに基づくマルチキャスト通信 ができる。
・動的な物理チャネル切り替えが可能である。
これらにより柔軟な自律ネットワークが構成される。
条件:
“各ノードは、同じメッシュネットワークID、ルーター構成、およびsoftAP構成で構成する必要がある。” メッシュネットワークID、softAP構成を特に変わるもので無いため良い。 各ノードでルーター構成を同じにするという事はルーターが1台の場合には問題ないが、複数の場合には接続先のルーター情報(SSID/PW/暗号化方式)を同じにしておく必要があるという事だ。
WiFiテザリングとの違い:
上位WiFiルーターに接続しているWindowsPCやスマホがテザリングを数珠繋ぎにする構成だと、上位から下位以下へ接続ができない。これは基本的にはRouting tableが無いためだ。勿論ファイアウォールで制限されている可能性もある。SSIDを選択しなければ接続できないため、完全自動でリーフノードが最上位へ接続できるわけではない。
考察
物理チャネルはSTAとSoftAPで同一チャネルとなってしまうため、基本的に分けられない。 TPを更に向上するには、チャネルを離した2台のESP32を高速なI2C等でブリッジさせる必要がある。