单个 WiFi 路由器上有多少本地 IoT、MQTT 设备?

物联网 MQTT 无线上网 阿杜伊诺
2021-06-11 13:30:49

我正在研究与 MQTT 通信的实时物联网设备的专用 WiFi 网络。消息非常短,大​​约 100 个字节。网络上至少有 85 台设备。

IoT 应用程序是用 MicroPython 编写的,并使用标准的 WiFi 和 MQTT 库。没有什么异国情调。每个设备获得一个 IP,订阅和发布两个主题。每个设备可能使用两个始终需要保持连接和打开的 IP 套接字。

MQTT 服务器是本地的,没有互联网。许多设备几乎同时发送数据以响应事件。事件间隔至少 15 秒。85 个设备之间的最大消息突发将低于 20,000 字节。

物理空间是敞开的。大多数远程设备将在 35 米左右。可以根据需要使用 WiFi 中继器。

以 500,000 Mbps WiFi 容量的低球估计,带宽似乎不是问题。如果没有冲突,发送它需要 40 毫秒。发送消息时最多一秒的延迟是可以接受的。

有多少短消息物联网设备可以合理地同时连接到现代 WiFi 路由器?我正在查看的典型路由器可以在其 DHCP 表中支持大约 252 个 IP 地址。用物联网设备推动这个限制是否合理?许多同时连接的 WiFi 开销是最大的问题吗?

2个回答

这绝对取决于路由器。您是对的,瓶颈可能不是带宽,而是路由器可以处理的同时连接数,而不会丢弃现有连接以添加新连接。然而,问题不仅仅是可以分发的 IP 地址数量。寻找使用MU-MIMO(多用户多入多出)的路由器,这些路由器旨在保持更多的连接数。

正如@hardillb 所提到的,商用路由器通常会更好地支持多个连接。在中低端,您可以从Ubiquiti UniFi HD系列 AP 之类的东西开始

过去的情况(不确定是否仍然如此)任何消费级(甚至一些专业)AP 在 WiFi 芯片本身(通常是 64 IIRC)中只有有限数量的密钥空间。这意味着一旦您超过该限制(并且您必须为多播等计算额外的密钥),它就必须不断更换芯片中的密钥,事情就会变得糟糕。

如果您使用实际的企业级 AP(大多数都非常昂贵,但有些价格要低得多),当然还有几个,这应该不是问题。

您当然希望 AP 使用单独的、不重叠的信道。请记住,在 2.4 GHz 频带中这很棘手。请参阅https://en.wikipedia.org/wiki/List_of_WLAN_channels以供参考。

如果可以,请使用支持 5 GHz 频段的设备,这样会安静得多。但我相信,支持它的物联网设备很少。

由于您在本地网络上,因此不会出现 NAT 表溢出的问题(当您有大量持久连接时,这是一个常见问题)。这是考虑将服务器与设备位于同一 LAN 上,而不是位于 NAT 的两侧。