首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Adafruit IO数据速率限制

Adafruit IO数据速率限制
EN

Stack Overflow用户
提问于 2020-04-23 21:20:58
回答 2查看 929关注 0票数 2

我试图从多个ESP-8266发送数据到我的Adafruit帐户的提要。问题是,当我尝试发送新值时,我将面临发布禁令,因为当我的两个或多个MCU同时发送数据时,就违反了2秒的时间限制(我无法同步它们以避免这种情况)。这个问题有什么解决办法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-24 08:52:54

我建议考虑这三种选择:

从一个ESp发送到下一个的发送令牌。所以基本上所有的ESP都是不允许发送的。如果接收到令牌,则允许发送-等待,适当的时间限制将令牌交给下一个ESP。该解决方案通过AP/路由器连接所有Arduino,并将使用客户端到客户端通信。

如果下一个ESP不可用(重置/断电等),您可以选择列表中的下一个,并向服务器发出附加警告。

第二种解决方案可以是(更灵活和动态的,但SPO -单点故障)设置一个ESP作为数据收集器来完成发送。

如果ESps位于不同的位置,则必须设置它们以满足以下要求:

如果您有一个免费的Adafruit帐户,利率限制是每分钟30个数据点。如果超过此限制,将向{username}/throttle MQTT主题发送通知。如果您想知道您的用户帐户何时超过了Adafruit IO速率限制,您可以订阅该主题。此限制适用于HTTP和MQTT API上的所有数据记录修改操作,因此,如果您有多个设备或客户端发布数据,请确保将更新延迟到低于帐户限制的总速率。

所以它不是2秒限制,而是30/min (如果是pro的话是60/min),所以您限制将每个ESP发送到公式:

代码语言:javascript
复制
30 / Number of ESPs sending to I/O -> 30 / 5 = 6 ==> 5 incl. saftey margin

意味着每个ESP在一分钟内只允许发送5次。重要的,如果5次发送限制上升,则必须在下一次发送之前等待一分钟。

票数 1
EN

Stack Overflow用户

发布于 2020-04-24 12:20:23

答案很简单,只是不要那么频繁地发送。

在IoT世界里

如果数据需要频繁更新(如电动机/伺服、加速度计等),则

  • 通常希望将其保持在本地,而不希望/不需要将其发送到云。
  • 如果数据需要在云中,则通常不需要如此频繁地进行更新(例如温度/湿度)。

或者,如果您仍然认为您的数据是如此关键,需要如此频繁地更新,请指定一个ESP作为您的边缘网关,从传感器节点收集数据,并立即发送到云,这实际上是多传感器节点的IoT网络设计的正确方法。

如果这仍然不适用于您,您仍然可以选择付费服务来提高费率限制,或者构建您自己的云服务并将其与您的边缘网关集成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61397189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档