设想
我开发了一个简单的电路板,它通过 WiFi 连接并将一些数据上传到远程服务器。网络管理取决于客户,但现在他问我一些有关如何避免允许的有限连接数的提示。
问题
周围有数千块这样的板,但只有几百块在路由器的范围内(我只知道华为路由器一次允许 60 个 WiFi 连接)。
目前固件将每 20 分钟尝试连接一次,如果连接被授予,完成所有操作所需的时间约为 1-2 分钟。之后,董事会将在其他 20 分钟后上传另一组记录,但这次连接将持续几分之一秒(因为它没有数据,只是向服务器发送“保持活动”信号)。
每个板将在这个区域停留几个小时。这意味着在全天“上传区域”中板的平均数量是相当稳定的。
有了这种设置,经常会出现很多单元在自己的停车位时间无法上传数据,所以下一次他们有双倍的数据要上传,最终情况变得更糟。
问题
当然,第一件事显然是尝试找到另一个允许更多连接的路由器。
我的问题与任何提高整体效率的软件模式/策略有关。
我的想法:所有板都尝试随机连接。它们与指定的时间无关。因此,我们假设给定时间的概率非常均匀。如果路由器一次可以接受 60 个连接,则表示将拒绝下一个连接。如果我能捕捉到这个错误,我会比 20 分钟更频繁地重试。
通过这种方式,我应该增加在相同时间内找到空闲“插槽”的可能性。当然,如果我不知道连接是否因其他原因而被拒绝,我不会这样做,因为它会耗尽电池的电量过快。
还有其他想法吗?是否有专门为此类物联网应用设计的路由器?而且,据您所知,限制是由于无线电带宽还是路由器在内部处理更多连接的能力?