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

Google在LWN上发表了一篇文章,名为“快速完成wifi”。
user3528438

Answers:


10

首先,您所做的事情非常正确,很多IoT设计师和用户却做不到:您考虑到这样一个事实,即操作必须可靠且受延迟限制。并非每个人都这样做,这就是为什么许多物联网设备确实不好的原因。

在802.11 b / g / n之间选择标准不会真正影响您的延迟。我假设我们的延迟等待时间小于10毫秒,因为关于此的一切“只要使用良好的WiFi硬件,就可以在99.5%的情况下正常工作”。

如果您处于延迟受限的情况下,那么您当然不会

  • 使用TCP(因此使用MQTT,它建立在TCP之上)
  • 使用模拟慢速串行链接的设备-如果您的数据包有4个字符,并且波特率为9600,那么您将花费一毫秒的时间将数据从µC传输到WiFi设备
  • 使用WiFi,因为根本无法保证您的电台能够在有限的时间范围内发送信息(仅可能)

另一方面,如果您需要可靠性,则不必

  • 使用纯UDP(因为不能保证或反馈数据包到达目的地)
  • 使用纯单向无线电协议(相同原因)
  • 使用ESP8266,由于缺乏对高可靠性操作的测试,设计和认证,因此具有价格优势(因此,没有大型电子制造商会在不进行自我测试的情况下使用它,在这种情况下,值得信赖的制造商会提供现成的模块通常会变得更便宜)

因此,首先,定义您的延迟要求和可靠性要求。你必须有一张纸写着

在一种情况下,{单向}双向通信的等待时间必须<{最大等待时间}。丢失数据包的概率不得超过{可容忍的百分比}%。

然后,您可以查看系统的理论限制,然后查看符合条件的人员的实施的实际限制。


首先,您正在做的非常正确的事情……谢谢!:)到目前为止,这只是一个玩具示例,比我计划将其作为真实产品提供的更多。在802.11 b / g / n之间选择标准不会真正影响您的延迟。我不认为这会带来太大变化,但我想问一下。我仍然会做一些自己的测试,但是显然我没有像实验室那样彻底地进行测试的设备。至于EPS8266和Wi-Fi,我认为,由于价格便宜,因此我首先考虑-如果不可接受,请尝试其他方法。
seanlano

我肯定会定义一个可接受的延迟和数据包丢失概率的声明-并将其用作我是否继续使用ESP8266的标准。
seanlano
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.