802.11 Wi-Fi規格からの最小の遅延


8

Arduinoとesp-linkファームウェアを実行するESP8266モジュールを使用してプロジェクトを作成しています。これにより、MQTTを使用してArduinoを制御できます。代わりにXBeeモジュールのようなものを見てみましたが、ESP8266に比べて非常に高価です!(ESP8266またはMQTTが何であるかわからない場合でも、心配しないでください。Wi-FiでTCPを使用していることを知っていれば十分です)。

MQTTパケットは小さいため、Wi-Fiネットワークのスループットが問題になることは決してありません。ただし、レイテンシと信頼性は大きな要因です。MQTTシステムはTCPを使用しているため、十分に信頼できるはずですが、レイテンシーについてはよくわかりません。

ESP8266が使用するネットワークには、802.11b、.11g、または.11n接続を選択できます。これらの標準のいずれかに、他よりもレイテンシが低くなるものはありますか?非常に小さくて頻度の低いパケットで最高のパフォーマンスが期待できるのはどれですか。


1
レイテンシの考慮には、反対側も含まれ、その実装品質の問題もあります。理論上の数値があなたをそれほど遠くに導くとは思わない。
PlasmaHH 2017年

「wifiを高速にする」という名前のLWN記事については、google。
user3528438 2017年

回答:


10

まず第一に、多くのIoTデザイナーやユーザーが行わない非常に正しいことを行っています。操作には信頼性があり、レイテンシが制限されている必要があるという事実を考慮します。誰もがそうするわけではありません。そのため、多くのIoTデバイスは本当に悪いのです。

802.11 b / g / n間の標準の選択は、実際には遅延にあまり影響しません。レイテンシは10ミリ秒未満であると想定しています。これについてのすべてのことは、「良好なWiFiハードウェアを使用する場合、99.5%の場合にのみ機能する」ためです。

レイテンシの制約があるシナリオの場合、確かに

  • TCPを使用する(したがって、その上に構築されるMQTT)
  • 低速のシリアルリンクをエミュレートするデバイスを使用します。たとえば、パケットに4文字あり、9600ボーの場合、µCからWiFiデバイスにデータを取得するためだけに1ミリ秒かかります。
  • ステーションが有限の時間枠内で送信できる保証がないため、WiFiを使用します(可能性があります)。

一方、信頼性が必要な場合は、

  • 純粋なUDPを使用する(パケットが宛先に到達するという保証やフィードバックがないため)
  • 純粋な一方向の無線プロトコルを使用する(同じ理由)
  • ESP8266を使用します。これにより、テスト、設計、および信頼性の高い動作のための認証がないため、価格面で有利になります(したがって、大規模な電子機器メーカーは、そのテストを行わずにそれを使用しません。その場合、信頼できるメーカーの既製モジュール通常は安くなる)

したがって、最初に、遅延要件と信頼性要件を定義します。あなた言う一枚の紙を持っている必要があります

{one | two} -way通信のレイテンシは、ケースの{許容パーセンテージ}%で<最大レイテンシ}である必要があります。パケットを失う確率は{許容パーセンテージ}%を超えてはなりません。

次に、システムの理論的な制限を確認し、それに適合する実装の実際的な制限を確認します。


まず、あなたはとても正しいことをしています…ありがとう :)これは今のところ単なるおもちゃの例であり、実際の製品として提供する予定のものよりはましです。802.11 b / g / n間の標準の選択は、実際には遅延にあまり影響しません。あまり違いが出るとは思っていませんでしたが、お願いしたいと思いました。私自身もいくつかのテストを行いますが、ラボほど完全にテストするための設備がありません。EPS8266とWi-Fiについては、安上がりだったので、最初に試してみて、それが受け入れられない場合は別の方法を試してみました。
seanlano 2017年

私は間違いなく、許容可能なレイテンシとパケット損失の可能性のステートメントを定義し、ESP8266を使用し続けるかどうかの基準としてそれを使用します。
seanlano 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.