Skip to main content

设备到云(Device-to-Cloud, D2C)通讯

分类:  Azure物联网 标签:  #Azure #IoT Hub 发布于: 2023-06-12 21:26:19

Azure IoT Hub提供三个方案用于设备向云发送信息:

  • 设备到云的消息(Device-to-Cloud Message, D2C Message): 用于基于时间系列的遥测数据和警报
  • 孪生设备属性上报(Device Twin's reported Properties): 用户上报设备的状态信息,例如设备资源可用容量,设备情况,长时间运行的某些应用的状态(配置和软件更新)等等。
  • 文件上传:针对定期上报一些媒体文件或者批量遥测数据, 或者重启后重新上报积压的数据,或者压缩数据定期上传等等场景。

可以使用下表来对比三种方案:

要素设备到云的消息(Device-to-cloud messages)孪生设备属性上报(Device twin's reported properties)文件上传(File uploads)
应用场景遥测数据,包括基于时间线的数据或者警报,例如:256-KB的传感器每5分钟上传一次数据。可用功能或者资源,设备工况等等。例如当前设备的链接模式是移动网络还是wifi,同步长时间运行的工作流,例如配置或者软件更新等等。媒体文件,或者大量压缩数据批量上载
存储和检索遥测数据默认被IoT Hub存储,最多保留7天,只能按顺序读取。存储在IoT Hub的孪生设备(Device Twin)中, 使用IoT Hub 查询语言操作读取存储在用户定义的Azure Storage Account中。
数据大小消息最大256KB上报属性最大32KB由Azure Blob Storage决定最大文件大小。
发生频率高. 详细信息参考Azure IoT Hub 限制。中等。 详细信息参考Azure IoT Hub 限制。低。
协议支持所有的协议。支持MQTTAMQP协议。支持所有的协议,但是要求设备支持HTTPS协议。

有时候设备应用可能同时需要将数据作为遥测数据发给IoT Hub还需要将它作为孪生设备属性保存,针对这种场景可以考虑:

  • 设备发送设备到云的消息,同时上报属性改变。
  • 后端解决方案存储孪生设备的tags, 并跟踪改变。

需要注意的是设备到云的消息设计目的是使用非常大的吞吐量,尽量要避免每次发送遥测数据时更新孪生设备。