为什么MKR GSM在传输正常一段时间后会停止向物联网云传输数据?

物联网 MQTT 阿杜伊诺 GSM
2021-05-31 13:43:28

该设备可以很好地连接到物联网云并传输数天甚至数周的数据,但随后它会无缘无故地停止传输。在物联网云仪表盘上,设备仍然被列为在线,但没有新数据进来。Arduino物联网云库使用MQTT进行通信。

数据设置为每 30 分钟传输一次。

应该注意的是,该设备是通过连接到发电机的 USB 电缆供电的。我听说 MKR GSM 在未连接到电池时无法正常工作,但之前我已将其通过 USB 连接到墙上的插头正常工作。

它也位于目前超过 40 摄氏度的区域。

有任何想法吗?

1个回答

可以帮助某人回答的一件事是有关您没有看到数据时情况的信息。即,Arduino 是否仍在运行(即,也许您的代码使 LED 闪烁并且仍在运行)?调制解调器是否仍在运行(即仍在响应 Arduino)?

需要研究的一些领域: 找到解决问题的方法。是 Arduino、调制解调器还是连接?

一些发电机会出现掉电。这可能会导致某些设备出现奇怪的情况,它们会在某些状态下锁定并停止工作。我们甚至有一个装置,它会以过热和熔化的方式闭锁。也许添加一些掉电检测电路以了解是否发生了这种情况。请记住,与调制解调器相比,Arduino 对掉电的反应可能不同。如果发生断电,您可能需要主动重启电源。

一些单元数据提供者默默地切断长 TCP 连接,而不让两端知道。在这种情况下,添加每隔一小时左右将 MQTT 客户端重新连接到您的服务器的代码可能会有所帮助。

您也有可能遇到调制解调器本身的错误。更新固件。您可以从 Arduino 每隔 x 小时重新启动或重置它吗?

也许是 Arduino 代码中的错误(整数溢出?)?

其他人可能有更多想法。