Google Cloud iot核心向qos 0设备发送命令

时间:2018-03-29 09:54:54

标签: google-cloud-platform google-cloud-functions google-cloud-iot

ModifyCloudToDeviceConfig使用qos 1发送命令。 是否有其他方法发送除ModifyCloudToDeviceConfig以外的命令。

2 个答案:

答案 0 :(得分:1)

我们刚刚为IoT Core添加了一个新的Commands功能。它刚刚开放测试版,因此您现在应该可以使用它。在控制台中,如果您深入到单个设备,则会在顶部栏的“更新配置”旁边看到“发送命令”。在gcloud SDK的命令行上,您可以先执行gcloud components update然后执行gcloud beta iot devices --help来查看新的命令命令,并且在发现API中,现在应该进行一个SendCommandToDevice调用。检查文档here

答案 1 :(得分:0)

根据MQTT Bridge的文档,对于设备配置,您可以指定两个QoS级别:

  • QoS等于0: 配置版本发布只发生一次。
  • QoS等于1: 重试最新的配置更新,直到设备通过 PUBACK 对其进行确认。

此外,根据MQTT device configuration上的文档,使用MQTT的设备可以订阅接收配置更新的特殊主题:

/devices/{device-id}/config

订阅之后,MQTT网桥将使用为配置主题指定的QoS(可以是 0 1 SUBACK 进行响应em>,如前所述。

此外,如果您想使用HTTP Bridge,您可以在Cloud IoT Core中定义配置,如in the documentation所述,然后由explicitly requesting the device configuration手动检索。

因此,作为摘要,当updating the device configuration(您使用modifyCloudToDeviceConfig()方法执行时,虽然可以通过gcloud或控制台执行),但您无法指定QoS水平。此时,更新将在Cloud IoT Core中提供,但不会在相应的设备中应用。然后,在更新的第二步中,您实际在设备中检索并应用更新,您可以使用MQTT(然后指定要在config主题中使用的QoS级别)或HTTP(并手动检索)随时可以使用新配置。