ModifyCloudToDeviceConfig 以 qos 1 发送命令。除了 ModifyCloudToDeviceConfig 之外,是否还有其他方法可以发送命令。
2 回答
我们刚刚Commands
向 IoT Core 添加了一项新功能,该功能正是这样做的。它刚刚进行了公测,所以你现在应该可以访问它了。在控制台中,如果您深入了解单个设备,您将在顶部栏的“更新配置”旁边看到“发送命令”。在使用 gcloud SDK 的命令行上,您可以执行 agcloud components update
然后gcloud beta iot devices --help
查看新的命令命令,并且在发现 API 中您现在应该可以SendCommandToDevice
调用来执行此操作。在这里查看文档
根据MQTT Bridge的文档,对于设备配置,您可以指定两个 QoS 级别:
- QoS 等于 0:配置版本发布只发生一次。
- QoS 等于 1:重试最新的配置更新,直到设备使用PUBACK确认它。
此外,根据MQTT 设备配置文档,使用 MQTT 的设备可以订阅接收配置更新的特殊主题:
/devices/{device-id}/config
订阅后,MQTT 桥将使用为配置主题指定的 QoS(可以是0或1,如前所述)以SUBACK响应。
此外,如果您想改用HTTP Bridge,您可以在 Cloud IoT Core 中定义配置,如文档中所述,稍后通过显式请求设备配置手动检索它。
因此,总而言之,在更新设备配置时(您可以使用该modifyCloudToDeviceConfig()
方法,尽管也可以通过gcloud
控制台或控制台完成),您无法指定 QoS 级别。此时,更新将在 Cloud IoT Core 中可用,但未在相应设备中应用。然后,在更新的第二步中,您实际检索并在设备中应用更新,您可以使用 MQTT(然后指定要在config
主题中使用的 QoS 级别)或 HTTP(并在您随时手动检索新配置想)。