Azure IoT Hub Device Provisioning Service介绍
分类: Azure物联网 ◆ 标签: #Azure #Azure IoT Device Provisioning Service # ◆ 发布于: 2023-06-14 20:07:59

本章我们来快速的学习一下Azure Iot Hub Device Provisioning Service
, 即DPS
服务。DPS
服务是一个针对于Azure IoT Hub
的辅助服务,它只是针对不同的场景对Azure IoT Hub
的功能进行了增强,主要体现在如下几个方面:
- 使用
DPS
服务创建设备自动登记,注册,初始化的物联网解决方案。 - 使用
DPS
充当一个负载均衡,使得设备可以自动的连接到多个不同的Azure IoT Hub
上,并且可以自动切换和数据迁移。 - 使用
DPS
集成的traffic Manager的功能降低设备和Azure IoT Hub
之间的连接延迟,DPS
根据规则可以自动使得设备连接离设备位置最近的IoT 上。
针对以上场景,我们可以借用官方的一个图来说明:
关于上图的步骤说明:
- 设备制造上通过Azure Portal(或者其他工具)向
DPS
服务登记列表中添加设备的注册信息(包括一些元数据) - 设备加电后,通过SDK连接
DPS
的公开连接终点,并向DPS
服务传递认证信息。 DPS
服务验证设备标识。- 设备标识验证通过后,
DPS
服务根据预定的规则向Azure IoT Hub
注册该设备,同时向Azure IoT Hub
同步预设的设备初始状态信息(通过预期的device twin) - 设备注册和信息同步完成之后,
DPS
服务从IoT Hub
接收设备的id等基本信息。 DPS
返回连接信息到设备端口,有了这些信息之后,设备可以通过该信息直接连接Azure IoT Hub
- 设备连接到
Azure IoT Hub
- 设备通过由
DPS
同步到Azure IoT Hub
的状态信息,初始化自己(by 预期的device twin)
根据DPS
服务在整个物联网解决方案中的定位,设备初始化实际上是包含各自独立的两个步骤:
- 设备制造阶段:主要是指设备在产线被生产以及置入基本的信息阶段,例如使用HSM 以及TPM保存
DPS
的基本信息等等。 - 通过云进行设置的步骤:即设备从工厂出厂后第一次加电,进行初始化的过程。
这个两个过程也即是我们整个物联网解决方案中最为重要的一环。
DPS
主要的特性:
- 安全认证方式:用户可以通过X.509或者TPM进行标识认证
- 登记列表: 主持单个设备登记和分组登记,无论是单个设备或者分组,
DPS
都包含详细和完整的设备相关的记录和数据。 - 支持多种IoT Hub分配策略,例如支持通过
Traffic Manager
自动分配离设备最近的Hub进行注册。 - 提供监控和诊断日志
- 支持多个
Azure IoT Hub
- 支持跨区
目前设备可以通过如下三种方式来得到DPS
的认证:
Symmetric Key
认证X.509
证书认证TPM
认证。
Tips
DPS
有一个非常重要的特性,那就是所有的DPS
服务都是公用同一个endpoint的,所有的DPS
服务都有一个Global device endpoint
和service endpoint
, 所有的客户端都可以通过Global Service endpoint
进行连接,而无需担心,删除了某个dps之后,重建会影响已经生成并预置的设备, 例如中国区的global device endpoint
是:global.azure-devices-provisioning.cn
每一个DPS
服务都需要连接到至少一个Azure IoT Hub
上,DPS
支持多个Azure IoT Hub
, 用户可以通过分配规则来让设备注册到不同的Hub上。
Azure IoT Hub
的分配规则:
Evenly Weighted Distributtion
: 这是默认设置,如果DPS
连接了多个Azure IoT Hu
, 设备会平等的分配到几个hub上。Lowest Latency
: 使用背后的traffic manager
来根据延迟分配IoT Hub- 静态分配:相当于设备会被静态的绑定到某一个IoT hub上。
- 自定义分配: 关于这种方式,我们之后会使用一个例子来说明。
设备登记
设备登记是指存储在DPS
服务的设备将来向IoT Hub注册基本信息,主要包括这些信息:
- 设备认证的机制
- 可选的初始化配置数据。
- 期望注册的IoT Hub
- 期望注册的设备id
目前支持两种方式的登记,一种是分组登记,推荐用于大量的设备登记,一种是单个设备登记,推荐用于设备只能通过SAS
+ TPM认证的方式,或者用于测试目的。
术语
ID Scope
ID Scope
是当DPS
创建的时候赋予给DPS
的唯一标识,主要用于今后的各种操作用于指代DPS
服务。
Registration
注册是设备通过DPS
向IoT Hub
完成初始化的过程。
Registration ID
Device Id
按字面意思理解就可以了。