Google 云 - IoT 核心 - 每 1 小时发送一次配置重新启动设备
Google Cloud - IoT Core - Config sent every 1 hour reboot the device
我有一个带继电器的 ESP8266,可以 on/off 一盏灯。
一切正常,但 IoT 核心每 1 小时发送一次配置,这会使设备重新启动,当设备再次启动时,无法保证初始状态是所需的。
有什么方法可以避免这种自动配置?
谢谢。
我可以通过更改设备内部的逻辑来解决它。 JWD 每小时需要刷新一次,以便让 iot core 向具有新状态的设备发送一条消息。
每次设备(重新)连接时,IoT Core 都会向设备发送最新配置,以确保它是最新的,即使在断开连接时向其发送了新配置也是如此。这是 expected IoT Core behaviour.
正如其他回答中提到的,可能发生的情况是您的设备在那段时间没有发送数据,这使得连接在一小时后超时。设备尝试重新连接,接收最新配置并导致它重新启动。
您有很多选择可以避免这种情况:
- Implement keep alive 保持连接打开。
- Refresh the JWT 在它到期之前(这也有效地重新启动超时计时器)。
- 如果您不希望配置从 IoT Core 发送到设备,do not subscribe to the configuration mqtt topic。
我有一个带继电器的 ESP8266,可以 on/off 一盏灯。 一切正常,但 IoT 核心每 1 小时发送一次配置,这会使设备重新启动,当设备再次启动时,无法保证初始状态是所需的。
有什么方法可以避免这种自动配置?
谢谢。
我可以通过更改设备内部的逻辑来解决它。 JWD 每小时需要刷新一次,以便让 iot core 向具有新状态的设备发送一条消息。
每次设备(重新)连接时,IoT Core 都会向设备发送最新配置,以确保它是最新的,即使在断开连接时向其发送了新配置也是如此。这是 expected IoT Core behaviour.
正如其他回答中提到的,可能发生的情况是您的设备在那段时间没有发送数据,这使得连接在一小时后超时。设备尝试重新连接,接收最新配置并导致它重新启动。
您有很多选择可以避免这种情况:
- Implement keep alive 保持连接打开。
- Refresh the JWT 在它到期之前(这也有效地重新启动超时计时器)。
- 如果您不希望配置从 IoT Core 发送到设备,do not subscribe to the configuration mqtt topic。