视频讲解:

 

为什么需要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 证书进行连接时)

 

原理示意图

 

  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 中心”

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

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

 

准备工作2, 注册DPS服务

 

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

 

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

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

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

 

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

 

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

 

 

 

本系列其他文章:

  1. (视频)Azure IoT 中级(1)-Device Provisioning Service(DPS)概览
  2. (视频)Azure IoT 中级(2)-理解DPS组注册和单独注册
  3. (视频)Azure IoT 中级(3)-(案例1)使用DPS通过对称密钥进行单个设备注册
  4. (视频)Azure IoT 中级(4)-(案例2)使用DPS通过对称密钥进行设备组注册
  5. (视频)Azure IoT 中级(5)- 在 DPS/IoT Hub中使用X509证书的准备工作(1)了解证书链
  6. (视频)Azure IoT 中级(6)- 在 DPS/IoT Hub中使用X509证书的准备工作(2)创建自签名证书并验证所有权
  7. (视频)Azure IoT 中级(7)- (案例3)设备通过X509证书经DPS验证后注册到IoT Hub并开始通信