分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
#入门
#指南
◆
发布于: 2023-06-13 21:31:29
物联网中大家经常说的一句话是:万物互联, 这句话总结和概括的非常好,从字面意思上就可以理解物联网的本质。但是当我们从技术实现上来理解这句话的时候有很多需要考虑的地方, 例如:
万物的范畴主要有哪些?
如何创建一个标准使得符合范畴的事物可以联入网络?
符合范畴的事物联入网络之后需要使用什么标准互相通讯?
是否可以对联入网络的事物进行控制,监控,操作?
这些问题都是技术需要考虑和解决的问题。
Read more
分类:
Azure物联网
◆
标签:
#Azure
#
#IoT Hub
◆
发布于: 2023-06-13 21:26:43
Azure IoT 入门文章列表
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:14:53
Azure IoT Hub默认拥有灾难恢复(DR: Disaster Recovery)的功能。当灾难发生时,微软内置的触发器会触发DR, 自动将主要的数据自动转移到其他区域(这些区域已经由微软规划好),这包括所有的设备Identity, Device Twin等数据,并恢复服务。
在DR的概念中我们有一个重要的指标:Recovery time objective(RTO), 这个指标主要用于评估恢复的时长,也可以用于评估当灾害发生时,DR过程中会有多大的业务损失。
默认的DR必须要微软的触发器在灾害发生时自动触发,这个过程是非常少见的。在方案设计的时候如果要考虑DR,必须要有能参考的指标。有了参考的指标,当设计应用冗余的时候,可以有针对性的做出更多设计。针对这个需求, Azur
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:11:46
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:09:59
Azure IoT Hub目前正式支持的是MQTT v3.1.1协议,针对于MQTT 5.0的支持在本文写作时还是public preview的阶段,同时需要注意的是Azure IoT Hub对于MQTT的实现,并没有全部实现协议本身的说明。
Azure IoT Hub使用端口8883支持MQTT v3.1.1
Azure IoT Hub使用端口443支持WebSocket之上的MQTT
设备和Azure IoT Hub相连必须使用TLS/SSL加密,因此不支持非加密端口1883。
链接到Azure IoT Hub
使用MQTT协议的设备可以使用如下两种方式链接到Azure IoT Hub:
使用Azure提供的SDK
直接使用MQTT协议。
大多数的公司会阻挡端口8
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:07:58
AMQP协议不仅可以使用在设备端,也可以使用在服务端,MQTT只能使用在设备端。Azure IoT Hub支持AMQP 1.0。除了大家可以直接使用Azure SDK之外,你可以直接使用AMQP client通过Azure IoT Hub提供的两个endpoint完成同样的操作。
Service Client
通过认证链接到Azure IoT Hub
为了链接到Azure IoT Hub, 客户端可是使用CBS或者SASL认证。Service Client要求如下的信息:
IoT Hub Hostname: 例如:<iot-hub-name>.azure-devices.net
Key Name: service
Access Key: 主要或者是次要的服务key
SA
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:05:36
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件同产品,不同的开发语言等条件的限制。
AMQP协议这种降低耦合的机制是基于与上层产品,语言无关的协议。是一种二进制协议,提供客户端应用与消息中间件之间多通道、协商、异步、安全、中立和高效地交互。从整体来看,AMQP协议可划分为两层:
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:03:09
本章我们根据github上的实例来学习一遍如何设计一个良好的设备客户端,该客户端设计上考虑了:
监听设备的连接状态,根据设备的连接状态决定要如何对设备连接进行处理
一个设备上只有一个设备客户端实例在线。
响应必要的动作
注意
本节代码都是基于.Net 6。
创建新项目
使用如下的命令创建一个新的项目:
Read more
分类:
Azure物联网
◆
标签:
#Azure
#IoT Hub
#
◆
发布于: 2023-06-13 21:00:30
前面我们学习了很多在.Net Device SDK上处理消息的情况,我们这里来总结一下:
连接到Azure IoT Hub
连接到Azure IoT Hub首先需要考虑几个要素:
连接认证的方式
连接的字符串
连接使用的协议
关于连接的认证方式,我们之前已经学习过了,基本上有三种:
使用SAS Key连接
使用CA签发的证书连接
使用自签发证书的指纹连接
我们之前已经有代码的例子,大家可以找来试一试。
Read more
分类:
Azure物联网
◆
标签:
#Azure
#
#IoT Hub
◆
发布于: 2023-06-13 20:56:14
使用Azure IoT Hub的计划任务可以同时操作多个设备,使用计划任务可以处理如下的场景:
批量更新预期属性
批量更新Tags
批量调用直接方法。
本章向大家展示如何使用.Net Service SDK来创建计划任务,并使用该任务调用直接方法,本章需要使用到之前创建的一个实例,DirectMethodCallSample, 您可以参考文档重新创建该实例:
Read more