IoTシステムを自作・設計する際、センサー端末からクラウドへデータを送る手段としてWi-FiやLTE、MQTTやHTTPといった技術が候補に挙がります。しかし、電池駆動の小型センサーを複数配置したい場合、すべての端末に直接インターネット通信を行わせる構成は消費電力や通信コストの観点から現実的ではありません。
そうした場面で選ばれる通信手段の一つがESP-NOWです。本記事では、ESP-NOWがネットワーク階層のどこに位置するプロトコルなのか、そしてシリアル通信とも共通するゲートウェイによる通信翻訳のアーキテクチャについて整理します。
ESP-NOWの正体とプロトコル階層
ESP-NOWは、Espressif社が提供するESP8266やESP32シリーズ向けの独自無線通信プロトコルです。最大の特徴は、Wi-Fiルーター(アクセスポイント)を介さずにデバイス同士が直接通信できる点にあります。
一般的なWeb通信とESP-NOWの違いは、プロトコルスタックを比較すると明確になります。私たちが普段利用するHTTPやMQTTは、TCP/IPプロトコルスタックの上で動作しています。端末がルーターに接続し、IPアドレスを取得し、DNSでサーバーのアドレスを解決した上で接続を確立するという多層的な手続きを踏みます。
一方、ESP-NOWはTCPやIPといったレイヤを通過しません。Wi-Fiの規格(IEEE 802.11)に定義されているベンダー固有アクションフレームを直接利用し、データリンク層(MAC層)レベルでデータをやり取りします。宛先の指定にはIPアドレスではなく、機器固有のMACアドレスを用います。
したがって、ESP-NOWは「HTTPやMQTTの下位レイヤ」に位置するだけでなく、TCP/IPの体系そのものを迂回して物理的な電波の上に最小限のパケットを直接流す通信方式といえます。
ゲートウェイによる「翻訳」アーキテクチャ
ESP-NOW自体にはIPネットワークの概念がないため、子機から直接WebサーバーへHTTP POSTを送ったり、クラウドのMQTTブローカーへPublishしたりすることはできません。
そこで用いられるのが、親機(ゲートウェイ)を1台配置して通信を翻訳させる構成です。
[子機: センサー] ---\
[子機: センサー] ----+--> [親機 (ESP32ゲートウェイ)] ===> [クラウド / サーバー]
[子機: センサー] ---/ (データ成形・再送) (AWS, MQTT等)
【ESP-NOW】 【LTE / 通常Wi-Fi】
・IPなし、高速送受信 ・TCP/IPスタック
・超低消費電力 ・HTTP / MQTT
各センサーを搭載した子機は、計測した生データをESP-NOWに乗せて親機へ向けてブロードキャストやユニキャストで送信します。親機となったESP32はデータを受信し、JSON等の形式に整形したりタイムスタンプを付与したりした上で、LTEモジュールや通常のWi-Fi接続を介してクラウドへ届ける役割を担います。
このアーキテクチャには大きな利点があります。まず、通常のWi-Fi接続ではルーターとのネゴシエーションや暗号化の確立に数秒単位の時間を要しますが、ESP-NOWであれば起動から送信完了までわずか数ミリ秒から数十ミリ秒で完了します。送信後すぐにディープスリープへ移行できるため、子機をコイン電池や小型バッテリーで長期間運用することが可能になります。また、外部通信を親機に集約することで、LTE通信に必要なSIMカードの契約数を1枚に抑えられるという費用面のメリットも生まれます。
シリアル通信と共通する「足回り」の思想
この「子機が軽量な通信でデータを送り、親機がネットワークへ載せ替える」という構造は、ESP-NOWに限った話ではありません。組込み分野で古くから使われているUARTやRS-485などの有線シリアル通信も、本質的には全く同じ役割分担を持っています。
シリアル通信もまた、銅線の上に電圧のHigh/Lowとしてバイト列を垂れ流すだけの足回りに過ぎません。そこにはURLやIPアドレス、MQTTトピックといった概念は存在しないため、受け手側のマイコンやPCが受信バッファからデータを切り出し、プロトコルヘッダーを組み立てて上位のネットワークへ橋渡しします。
媒体が2.4GHzの電波(ESP-NOW)であるか、物理的な配線(シリアル通信)であるかという違いはあるものの、上位の通信規格(HTTP/MQTT)をそのまま喋れない末端デバイスのデータをゲートウェイが集約し、翻訳してインターネットへ流すという設計思想は完全に共通しています。
まとめ
- ESP-NOWはWi-Fiの物理層・MAC層(アクションフレーム)を直接利用するプロトコルであり、TCP/IPスタックを経由しない
- 接続シーケンスやIP取得が存在しないため、超低消費電力かつミリ秒単位の即時通信が可能である
- インターネット上のサーバーとHTTPやMQTTで通信するためには、親機となるESP32がESP-NOWデータを受け取り、上位プロトコルへ翻訳・再構築して外部(LTEや通常Wi-Fi)へ流す必要がある
- この役割分担は有線シリアル通信(UART等)からクラウドへデータを吸い上げる構成と本質的に同一であり、IoTにおける代表的な基本パターンである
