Skip to main content

云到设备(Cloud-to-device, C2D)通讯

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

Azure IoT Hub提供了三种方案来支持云到设备(cloud-to-device, C2D)的通讯:

  • 直接方法调用(Direct Method): 主要用于和设备交互的场景,需要设备即刻应答,例如打开某些功能或者特性,要么立即成功,要么失败。
  • 孪生设备预期属性(Twin's Desired Properties): 针对长时间等待的下发命令设计的,例如设置或者调整设备的某些属性,但是不需要设备立即反馈。例如设置遥测数据间隔30分钟发送一次等等。
  • 云到设备(Cloud-to-Device, C2D)的消息:需要注意的是C2D消息是单程消息。

后期我们会仔细的讨论Azure IoT Hub的架构指南,其中我们会使用这些方案来实现可插拔的Azure物联网架构,后面我们再来仔细学习。

关于云到设备的通讯,我们可以通过下表来对比:

分类直接方法(Direct methods)孪生设备预期属性(Twin's desired properties)云到设备消息(Cloud-to-device messages)
应用场景需要设备立即返回的下发命令,例如打开风扇用于设置不需要立即反馈的一些下发命令,例如设置设备的一些预期的属性等等。到设备的单程通知消息。
数据流向数据双向流动, 需要设备能够对后端应用及时反馈。单程通知,设备接收到后,无需向后端反馈。单程流向
消息持久性设备不在线会立即返回,后端应用会被通知到设备不在线。属性值会保存在孪生设备中,设备重新在线后会再次读取。同时属性可以通过IoT Hub查询语言来查询。消息会被保留48小时。
消息目的地单个设备使用device id, 目的地是多个设备通过schedule job单个设备使用device id, 目的地是多个设备通过schedule job单个设备,使用device Id
数据大小直接方法最大playload 128KB最大期望属性值大小:32KB最大64KB
更新频率中等
协议MQTTAMQPMQTTAMQP支持所有的协议,针对HTTPS,设备侧必须使用poll

后期我们继续学习教程:

  • 如何使用直接方法
  • 如何使用预取属性更新
  • 发送云到设备的消息。