写点什么

微软 Azure IoT Hub 设备配置服务正式发布

  • 2017-12-27
  • 本文字数:1148 字

    阅读完需:约 4 分钟

近日,微软正式发布了Azure IoT Hub 设备配置服务。该服务之前已经面向客户公开预览了数月,此次发布增加了新的功能及更多的语言支持。

该服务是Microsoft Azure IoT 架构的一部分。微软声称,他们设计这项服务的目的是为了在实际应用中为大量IoT 设备的配置提供零接触的解决方面,而不需要人为干预。

Nicole Berdy 是 IoT Hub 的一名高级项目经理,他在公告中指出:

我们在设计“设备配置过程(Device Provisioning Process)”时,充分考虑了供应链面临的挑战,为以一种安全、可伸缩的方式配置数以百万计的设备提供了所需的基础设施。

典型的 IoT 设备配置过程可能包括在生产的时候向设备增加一个连接串,当设备部署完成后立即就可以开始发送消息。然而,这会导致安全和伸缩性方面的问题,因为每个设备在部署之前就必须有一个独一无二的连接串。

在 Azure IoT Hub 设备配置服务(DPS)中,过程就不一样了。

图片来源: https://azure.microsoft.com/en-au/blog/azure-iot-hub-device-provisioning-service-is-generally-available/

首先,制造商向 Azure 门户上的 DPS 实例中添加设备注册信息。至此,当设备在工厂中生产并准备好后,它就配置好了 DPS 服务的端点。

一旦设备激活,以下过程就会自动发生,无需人工干预:

  1. 设备和服务通信,发送设备标识信息证明其身份;
  2. 一旦注册标识和密钥验证通过,服务就会把设备注册到 IoT Hub,并创建期望的设备孪生状态,其中包含设备最初的配置信息;
  3. IoT Hub 向 DPS 返回设备 ID;
  4. DPS 向设备返回 IoT Hub 的连接信息;
  5. 设备直接和 IoT Hub 通信,从 IoT Hub 获取期望的状态配置。

此时,设备可以正常通信了。DPS 支持的协议和 Azure IoT Hub 一样,包括 HTTP、AMQP、 MQTT、AMQP over web sockets 和 MQTT over web sockets 等。

设备端和服务端操作的开发支持都是通过 SKD 提供的,可用的 SDK 有 C、C#、Java、Node、Python 等语言的。GitHub 上提供了这些 SDK 的下载,并且提供了快速入门教程,帮助用户开始使用这项服务。

IoT 解决方案的一个重要部分是保证设备及通信的安全。为此,DPS 当前支持两种设备标识机制:

  1. X.509 证书,用于交换设备生产时创建并安装到设备上的证书;
  2. 从安装好的 TPM 设备上提取可信平台模块(TPM)“签注密钥(endorsement key)”的公共部分。TPM 是一个专用的微处理器,用于保障硬件安全,是一项国际标准。

Azure IoT Hub 设备配置服务可以连接到 Azure IoT Hub 的许多实例,使该服务可以向位于不同区域的许多 IoT Hub 分配设备,支持设备地理复制或负载均衡及跨不同的 Azure 订阅,支持多客户或环境。

自 2018 年 2 月 1 日起,该服务的收费标准为每 1000 次操作 0.10 美元,微软Azure 文档站点提供了完整的文档。

查看英文原文 Microsoft Azure IoT Hub Device Provisioning Service Hits General Availability

2017-12-27 18:001294
用户头像

发布了 1008 篇内容, 共 401.7 次阅读, 收获喜欢 345 次。

关注

评论

发布
暂无评论
发现更多内容

【死磕Java并发】-----J.U.C之深入分析CAS

chenssy

11月日更 死磕 Java 死磕 Java 并发

DDD领域驱动设计落地实践系列:战略设计和战术设计

慕枫技术笔记

Java 后端 签约计划第二季

Rust 元宇宙 7—— 异步和消息

Miracle

rust 异步 元宇宙

架构训练营 - 模块六

Geek_9de3de

架构实战营

OpenELB 进入 CNCF Sandbox,让私有化环境对外暴露服务更简单

青云技术社区

云计算 云原生

如何用JavaScript实现2+2=5?

汪子熙

JavaScript 大前端 语音识别 语音合成 11月日更

面试官:说一下final关键字和final的4种用法?

王磊

[Pulsar] 消息的消费

Zike Yang

Apache Pulsar 11月日更

12.04 Serverless Meetup 深圳站 | Call 你来参加

阿里巴巴云原生

阿里云 Serverless 云原生 活动

GitHub上星标39.9k+的开源类库,忍不住分享下

沉默王二

Java

Python Qt GUI设计:QClipboard剪贴数据类(基础篇—19)

不脱发的程序猿

Python PyQt GUI设计 QClipboard 剪贴板

Python量化数据仓库搭建系列3:数据落库代码封装

恒生LIGHT云社区

量化投资 量化交易 量化

面试官:final、finally、finalize 有什么区别?

王磊

java面试

激发数字新活力 打造发展新优势

CECBC

中国首批区块链订单融资缘何落地雄安?

CECBC

在线文本并集计算工具

入门小站

工具

AOP 插件就这?上手不用两分钟!!

4ye

Java spring 程序员 后端 签约计划第二季

一文读懂敏捷开发的发布策略

华为云开发者联盟

DevOps 运维 敏捷 开发 发布策略

「Oracle」Oracle数据库基本概念

恒生LIGHT云社区

数据库 oracle

从1天到10分钟的超越,华为云DRS在背后做了这些

华为云开发者联盟

数据库 数据 报表 华为云DRS 在线交易

使用ES6编写一个超简单的搜索算法

吴脑的键客

JavaScript 大前端

元宇宙是人类文明不可避免的一次内卷

CECBC

架构训练营 - 模块五

Geek_9de3de

架构实战营

Spring AOP内功修炼

4ye

Java spring 程序员 后端 签约计划第二季

使用JDK自带的VisualVM进行Java程序的性能分析

汪子熙

Java jdk 性能 性能调试 11月日更

架构营模块五作业

GTiger

使用HTML+CSS制作逼真的红色开关

海拥(haiyong.site)

CSS html 大前端 Demo 签约计划第二季

29 K8S之ReplicaSet控制器

穿过生命散发芬芳

k8s 11月日更

面试官:int和Integer有什么区别?为什么要有包装类?

王磊

微信程序开发系列教程(一)开发环境搭建

汪子熙

JavaScript node.js 微信 11月日更 微信开发

spring-boot-devtools 快速重启的秘密

4ye

Java spring 程序员 后端 签约计划第二季

微软Azure IoT Hub设备配置服务正式发布_微软_Martin Abbott_InfoQ精选文章