为什么需要DPS(Device Provisioning Service)及DPS的工作原理

您可以在B站观看视频或在本站观看:https://www.bilibili.com/video/av92435390?p=1

实战:创建IoT Hub, DPS并将IoT Hub链接到DPS中

您可以在B站观看视频或在本站观看:https://www.bilibili.com/video/av92435390?p=2 

 

 

 

图文介绍:

DPS是什么?

官方定义是:

IoT 中心设备预配服务是针对 IoT 中心的帮助程序服务,无需人为干预即可零接触实时预配至合适的 IoT 中心,方便客户采用安全且可缩放的方式预配数百万台设备。

划重点,1. 是IoT Hub的一个配套服务;2. 不用认为在IoT Hub 中进行配置就能注册IoT 设备;3. 安全,可缩放,数百万台。

 

什么场景下需要DPS呢?

  • 零接触预配到单一 IoT 解决方案,无需在出厂(初始设置)时对 IoT 中心连接信息进行硬编码

  • 跨多个中心对设备进行负载均衡

  • 根据销售交易数据将设备连接到其所有者的 IoT 解决方案(多租户)

  • 根据用例将设备连接到特定的 IoT 解决方案(解决方案隔离)

  • 将设备连接到具有最低延迟的 IoT 中心(异地分片)

  • 根据设备中的更改重新进行预配

  • 滚动设备使用的密钥以连接到 IoT 中心(当不使用 X.509 证书进行连接时)

 

原理示意图

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第1张图片

 

  1. 设备制造商将设备注册信息添加到 Azure 门户中的注册列表。

  2. 设备联络出厂时设置的预配服务终结点。 设备将识别性信息传递给预配服务来证明其标识。

  3. 预配服务通过使用 nonce 质询(受信任的平台模块)或标准 X.509 验证 (X.509) 根据注册列表项来验证注册 ID 和密钥,从而验证设备的标识。

  4. 预配服务将设备注册到 IoT 中心,并填充设备的所需孪生状态。

  5. IoT 中心将设备 ID 信息返回给预配服务。

  6. 预配服务将 IoT 中心连接信息返回到设备。 设备现在可以开始将数据直接发送到 IoT 中心。

  7. 设备连接到 IoT 中心。

  8. 设备从其在 IoT 中心中的设备孪生获取所需的状态。

 

实战:创建Azure IoT Hub 和 IoT DPS服务,并将IoT Hub链接到DPS服务中

准备工作1,注册IoT Hub

 

在资源组中新建“IoT 中心”

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第2张图片

本例中,选择了离作者位置比较近的中国东部2区域,输入IoT Hub的名称,点击创建。

默认创建了一个S1的IoT Hub。

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第3张图片

 

准备工作2, 注册DPS服务

 

在资源组中创建“IoT 中心设备预配服务”

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第4张图片

 

位置同样选择了中国东部2,输入DPS名称,点击创建。

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第5张图片

准备工作3,将IoT Hub链接到 DPS服务

进入到DPS服务,点击“链接的IoT中心”,点击添加。

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第6张图片

 

选中当前订阅下要添加的IoT中心,访问策略选择“iothubowner”,点击保存;

 

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第7张图片

注意,此处可以添加多个IoT Hub,即 一个DPS可以向多个IoT Hub预配设备。

Azure IoT 中级(1)-Device Provisioning Service(DPS)概览_第8张图片