分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-12 21:50:30
在开始之前,我们先来简单的回顾一下证书的基础知识:证书是包含实例公钥的数字文档(仅仅包含公钥), 可以用于确定证书的使用者真实身份。一般情况下可以向证书颁发机构购买证书(CA: certificate authority), 或者如果是在测试环境中,也可以使用工具创建自签名的证书,创建自签名证书之后,可以使用它来签发设备证书或者中间步骤使用的中间证书,从而形成证书链。
算法:定义原始明文数据如何转换成密文,以及密文如何转换回明文。
密钥:是随机或者伪随机的数据字符串,用作算法的输入。
证书:包含实体公钥的数字文档。
证书颁发机构: certificate authority
Read more
分类:
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物联网
◆
标签:
#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物联网
◆
标签:
#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物联网
◆
标签:
#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物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-12 21:31:15
孪生设备(Device Twin)是用于存储链接到Azure IoT Hub的设备状态信息,包括元数据,配置, 状态等信息的Json文档,Azure IoT Hub为每个链接上来的设备都存储一份这样的文档。
孪生设备主要用于:
保存设备特定的元数据,例如设备部署的位置等等。
上报设备当前的状态以及配置,例如使用什么网络链接,设备的资源状态等等。
同步长时间运行的工作流的状态,例如更新或者升级的状态。
查询设备元数据,配置或者状态。
总之它是用于存储设备相关的信息:
设备应用和后端应用可以使用它来同步设备的状态和配置。
后端应用可以查询长时间运行操作的状态。
Read more
分类:
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
分类:
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
分类:
Azure搜索
◆
标签:
#Azure
#Search
#认知搜索
◆
发布于: 2023-06-12 21:05:59
我们前面一个系列使用Azure Portal来创建和使用Azure认知搜索,我们这一节使用.Net代码来创建和使用索引。
注意
我们这里使用新的API: Azure.Search.Document客户端,如果您需要使用早前的搜索客户端,您可以参考链接:
https://docs.microsoft.com/zh-cn/azure/search/search-get-started-dotnet-v10, 老版本使用的客户端是Microsoft.Azure.Search
开始之前:
开始之前,您需要准备一下环境:
需要Azure订阅,您可以申请一个免费的。
创建Azure认知服务
Visual Studio,您可以下载社区版,或者Visual Studio Code
Read more
分类:
Azure搜索
◆
标签:
#Azure
#Search
#认知搜索
◆
发布于: 2023-06-12 21:02:22
Search Explorer是Azure Portal中的一种内置查询工具,用于针对 Azure 认知搜索中的搜索索引运行查询。 利用此工具,可以轻松学习查询语法,测试查询或筛选器表达式,或者通过验证索引中是否存在较新的内容来确认数据刷新。
本快速入门使用现有索引来演示搜索浏览器。
开始之前,必须具备以下先决条件:
具有活动订阅的 Azure 帐户。 免费创建帐户。
Azure 认知搜索服务。 创建服务或在当前订阅下查找现有服务。 可以使用本快速入门的免费服务。
本快速入门使用了 realestate-us-sample-index。 请按照我们第一篇来创建该索引
Read more