Skip to main content

Azure IoT Hub消息指南

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

Azure IoT Hub允许通过消息进行双向通讯,关于消息的通讯,您可以参考我们之前的文章(D2C, C2D), 为了更好的适应各种协议,Azure IoT Hub专门为消息指定了统一的格式,包括D2C和C2D都使用统一的消息格式。虽然消息的内容格式是一样的,但是D2C和C2D在和服务器之间的通讯方式由于选择协议不一样而不一样,D2C消息使用流模式,并且它的实现类似于Event Hub的时间模式。 Azure IoT Hub消息主要包括如下几个部分: 预定义的系统属性 应用属性 二进制的消息体 属性名和值只能包括ASCII字符串 + !, #, $, %, &, ', *, +, -, ., ^, _, '',|,~`。

Read more

Azure IoT Hub上针对孪生设备的查询语言

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

Azure IoT Hub提供类似SQL的查询语言,专门针对如下几种对象进行查询: 孪生设备(device twin) 孪生模块(module twin) 计划任务( jobs) 路由消息( Message Routing) 注意 关于路由消息的查询,后面学习Message的时候再进一步深入。 当使用查询语言是,上述几种对象针对的对象名分别为: 孪生设备(device twin): devices, 例如:SELECT * FROM devices 孪生模块(module twin): devices.modules, 例如: SELECT * FROM devices.modules 计划任务(jobs): devices.jobs, 例如: SELECT

Read more

Azure IoT Hub针对多个设备的计划任务

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

Azure IoT Hub通过计划任务让设备管理员可以针对大量的设备在计划的时间里管理设备或者和设备交互,或者进行孪生设备更新。当遇到如下的场景,适合使用计划任务(schedule job): 大量设备上更新预期属性 大量设备上更新tags 大量设备上调用直接方法。 计划任务的生命周期 计划任务由后端应用初始化,但是生命周期是由IoT Hub来管理。通常情况通过PUT https://<iot hub>/jobs/v2/<jobID>?api-version=2018-06-30来初始化一个任务,通过GET https://<iot hub>/jobs/v2/<jobID?api-version=2018-06-30查询计划任务。

Read more

理解Azure IoT Hub的直接方法调用

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

Azure IoT Hub可以从云直接调用设备的方法,这个方法就叫直接方法,该方法的是类似于HTTP的请求,属于应答式的请求,而且要求设备在过期时间范围内应答,否则就会失败。直接方法的应用场景适合于和单个或者少量设备进行交互的场景。 每个直接方法的对象都是单个的设备,如果计划一次性操作大量的设备,那么考虑使用Schedule Job, 它主要可用于: 多个设备上调用直接方法。 规划在掉线设备上线后调用方法。 直接方法的生命周期 直接方法的实际应用是在设备上实现的,设备可以以方法playload的形式接受参数输入。用户一般从service SDK或者是service侧开始调用设备的直接方法,如果使用rest api, service侧的URI是{iot hub}/twins/

Read more

理解Azure IoT Hub的孪生设备(Device Twin)和孪生模块(Module Twin)

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

孪生设备(Device Twin)是用于存储链接到Azure IoT Hub的设备状态信息,包括元数据,配置, 状态等信息的Json文档,Azure IoT Hub为每个链接上来的设备都存储一份这样的文档。 孪生设备主要用于: 保存设备特定的元数据,例如设备部署的位置等等。 上报设备当前的状态以及配置,例如使用什么网络链接,设备的资源状态等等。 同步长时间运行的工作流的状态,例如更新或者升级的状态。 查询设备元数据,配置或者状态。 总之它是用于存储设备相关的信息: 设备应用和后端应用可以使用它来同步设备的状态和配置。 后端应用可以查询长时间运行操作的状态。

Read more

云到设备(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物联网架构,后面我们再来仔细学习

Read more

设备到云(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): 用户上报设备的状态信息,例如设备资源可用容量,设备情况,长时间运行的某些应用的状态(配置和软件更新)等等。 文件上传:针对定期上报一些媒体文件或者批量遥测数据, 或者重启后重新上报积压的数据,或者压缩数据定期上传等等场景。 可以使用下表来对比三种方案:

Read more