TOPICS

エスプレッシフのワイヤレス通信プロトコル

ESP-NOWは、エスプレッシフによって定義されたデータリンク層に基づく無線通信プロトコルです。それがもたらす大きな違いは、ESP-NOWがOSIモデルの5つのレイヤーを1つだけに減らすことです。つまり、データは、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、およびアプリケーション層を介して送信される必要はありません。また、各層にパケットヘッダーやアンパッカーが必要ないため、応答が速くなり、混雑したネットワークでのパケット損失による遅延が減少します。

さらに、ESP-NOWは、Wi-FiおよびBluetooth LEと共存しながら、従来の接続プロトコルよりも少ないCPUおよびフラッシュリソースを使用します。ESP-NOWは、さまざまなシリーズのEspressifチップをサポートし、「1対多」および「多対多」のデバイスの接続に適した柔軟なデータ伝送を提供します。さらに、ESP-NOWは、デバイスのプロビジョニング、デバッグ、およびファームウェアのアップグレードを支援する独立した補助プロトコルとして使用できます。

ESP-NOW、エスプレッシフのワイヤレス通信プロトコルは効率的で応答性が高く、開発が容易です。以下詳細をご案内します。

ESP-NOWデバイス制御

ESP-NOWは、ペアリングされたデバイスがデータリンク層を介して相互に直接通信できるようにするプロトコルです。ペアリングプロセス全体では、Wi-Fi接続や携帯電話などのサードパーティ製デバイスは必要ありません。2つ以上のデバイスをペアリングするために必要なのは、ボタンを長押しすることだけです。

  • 1つのレスポンダーを複数のイニシエーターでペアリングできます。
  • 1人のイニシエーターが複数のレスポンダーとペアリングできます。

デバイスのペアリング中に、ワイヤレスで受信した信号強度表示(RSSI)を使用して、デバイス間の距離を決定し、その距離を承認できます。正常にペアリングできるのは、許可された距離内のデバイスのみです。

RSSIをフィルターとして使用すると、デバイスのペアリング中に異なる部屋のレスポンダーが互いに干渉しないようにすることもできます。

さらに、ESP-NOWには次の明確な利点があります。

1)クイックレスポンス
電源投入後、デバイスはデータを送信し、ワイヤレス接続なしで他のペアのデバイスを直接制御でき、応答速度はミリ秒です。

2)低消費電力
ESP-NOWは、OSIモデルの5つのレイヤーを1つのレイヤーのみに削減します。これにより、通信が非常に簡単になり、消費電力が削減されます。コントロールボタンは、単三電池2本で2年間使用できます。

3)互換性が良い
デバイスをルーターに接続したり、ホットスポットとして機能させたりすると、ESP-NOWを介した高速で安定した通信を実現できます。ルータに障害がある場合やネットワークが不安定な場合でも、デバイスはESP-NOWを介して接続を安定させることができます。

4)範囲と受信の改善
ESP-NOWは長距離通信をサポートしているため、屋外のアプリケーションシナリオでも使用できます。さらに、厚い壁で区切られたデバイスや異なるフロアに配置されたデバイス間でも安定した接続を保証します。さらに、ESP-NOWは大規模なインストールをサポートできます。たとえば、エスプレッシフのR&D部門が実施した実験では、大きなブロックの建物の四隅に4つのライトを配置しました。各ライトは次のライトから320メートルの距離にあったため、4つのライトは合計100,000平方メートル以上の面積を囲みました。この場合、4つのライトはすべてボタンスイッチの500メートルの制御限界内にありました。このように、ボタンスイッチを使用して4つのライトのいずれかをオン/オフし、ESP-NOWのデータ転送機能を使用して、それらの間のマルチホップネットワークを実現することができました。

5)多層制御
ESP-NOWを使用すると、ユニキャスト、ブロードキャスト、およびグループ制御を通じて数百のデバイスを制御できます。

6)複数の制御方法
前述のボタンスイッチに加えて、ESP-NOWは、タッチスイッチ、LCD画面、音声制御、およびさまざまなセンサーでも動作します。

この記事の次のセクションでは、ESP-NOWに基づくデバイスのプロビジョニング、デバッグ、およびファームウェアのアップグレードについて詳しく説明します。

A.デバイスプロビジョニング

ESP-NOWは、Wi-FiプロビジョニングおよびBluetoothプロビジョニングとともに、デバイスプロビジョニングに使用できます。最初のデバイスは、Bluetooth経由でプロビジョニングする必要があります。これが完了すると、他のデバイスはSSIDやパスワードなどの情報を入力する必要がなくなります。これは、最初のデバイスがこの情報を他のデバイスに直接送信するためです。次に、ユーザーは、残りのデバイスがアプリケーション側のネットワークにアクセスできるようにするかどうかを選択できます。

B.デバイスのデバッグ

ESP-NOWを使用すると、分析およびデバッグ用のデータログを取得できます。この機能は、高電圧、高温のためにユーザーがデバイスに直接接触できない場合、またはデバイスが取り外しできないケースに収納されている場合に特に便利です。

ESP-NOWは多対多の接続をサポートしているため、イニシエーターは複数のレスポンダーからログを受信し、デバイスの障害を迅速に検出できます。ESP-NOWのデバッグ機能は、接続されたデバイスのログや、プロジェクトのバージョン、ノード数、メモリ使用量、Wi-Fi信号強度などの動作ステータスを取得するためにも使用できます。これにより、デバイスの障害分析が容易になります。

さらに、特定のコマンドを送信することにより、ユーザーはデバイスの制御、GPIO、UART、LEDなどの周辺機器インターフェースのデバッグ、Wi-Fi TXの電力やモードなどのパラメーターの調整、デバイスの再起動、リセット、およびタスク操作の制御を行うことができます。

製造中、ESP-NOWは、エージングテスト、干渉テスト、ワイヤレス接続テスト、モジュールのフラッシュ読み取り/書き込みテスト、およびその前の任意のデバイスでのバージョン検証テストの実行に使用できることに注意してください。発送されます。このようにして、ハードウェアの障害を簡単に検出でき、同様に欠陥のある製品を迅速に取り除くことができます。

開発者は、コマンドラインを使用してデバイスをデバッグすることもできます。

C.ファームウェアのアップグレード

ESP-NOWは、ファームウェアのアップグレードの場合と同様に、大量のデータを転送するために使用できます。

C.1)ブレークポイントからのアップグレードの再開
ファームウェアのアップグレードにESP-NOWを使用する場合、ファームウェアは固定サイズのバイト配列にサブパッケージ化されます。デバイスは、各ファームウェアパッケージのアップグレードステータスを記録し、フラッシュに書き込みます。アップグレードプロセスが中断された場合、デバイスは残りのファームウェアパッケージのみを要求するため、ブレークポイント以降でアップグレードが再開されます。

C.2)複数のデバイスのアップグレード
ESP-NOWを使用すると、複数のデバイスを1分未満で同時にアップグレードできます。

C.3)バージョンリセット
デバイスで更新されたファームウェアの実行中にエラーが発生した場合は、1つのコマンドで以前のファームウェアバージョンにリセットし、システムのスムーズな実行を保証できます。

ESP-NOW であなたは以下を達成することができます:

  • 簡単なペアリング、迅速な応答、低消費電力、優れた互換性、長距離通信、多層制御などの機能を備えたデバイス制御
  • SSIDとパスワードを使用しないデバイスプロビジョニング
  • 障害の検出と分析後のデバイスのデバッグ
  • ブレークポイント以降の再開、複数のデバイスの同時アップグレード、およびバージョンリセットをサポートするファームウェアアップデート

さらに詳しい情報は以下のリンクをご覧ください。

ESP-NOWプロジェクト:https://github.com/espressif/esp-now
ESP-NOWプロトコルドキュメント:https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-reference/network/esp_now.html

本記事は、エスプレッシフ社記事2021年12月29日より抜粋した内容を掲載しています。

関連記事一覧

TOPICS