近日,微軟正式發(fā)布了 Azure IoT Hub 設備配置服務。該服務之前已經面向客戶公開預覽了數月,此次發(fā)布增加了新的功能及更多的語言支持。
該服務是 Microsoft Azure IoT 架構的一部分。微軟聲稱,他們設計這項服務的目的是為了在實際應用中為大量 IoT 設備的配置提供零接觸的解決方面,而不需要人為干預。
Nicole Berdy 是 IoT Hub 的一名高級項目經理,他在公告中指出:
我們在設計“設備配置過程(Device Provisioning Process)”時,充分考慮了供應鏈面臨的挑戰(zhàn),為以一種安全、可伸縮的方式配置數以百萬計的設備提供了所需的基礎設施。
典型的 IoT 設備配置過程可能包括在生產的時候向設備增加一個連接串,當設備部署完成后立即就可以開始發(fā)送消息。然而,這會導致安全和伸縮性方面的問題,因為每個設備在部署之前就必須有一個獨一無二的連接串。
在 Azure IoT Hub 設備配置服務(DPS)中,過程就不一樣了。
首先,制造商向 Azure 門戶上的 DPS 實例中添加設備注冊信息。至此,當設備在工廠中生產并準備好后,它就配置好了 DPS 服務的端點。
一旦設備激活,以下過程就會自動發(fā)生,無需人工干預:
1、設備和服務通信,發(fā)送設備標識信息證明其身份;
2、一旦注冊標識和密鑰驗證通過,服務就會把設備注冊到 IoT Hub,并創(chuàng)建期望的設備孿生狀態(tài),其中包含設備最初的配置信息;
3、IoT Hub 向 DPS 返回設備 ID;
4、DPS 向設備返回 IoT Hub 的連接信息;
5、設備直接和 IoT Hub 通信,從 IoT Hub 獲取期望的狀態(tài)配置。
此時,設備可以正常通信了。DPS 支持的協(xié)議和 Azure IoT Hub 一樣,包括 HTTP、AMQP、 MQTT、AMQP over web sockets 和 MQTT over web sockets 等。
設備端和服務端操作的開發(fā)支持都是通過 SKD 提供的,可用的 SDK 有 C、C#、Java、Node、Python 等語言的。GitHub 上提供了這些 SDK 的下載,并且提供了快速入門教程,幫助用戶開始使用這項服務。
IoT 解決方案的一個重要部分是保證設備及通信的安全。為此,DPS 當前支持兩種設備標識機制:
1、X.509 證書,用于交換設備生產時創(chuàng)建并安裝到設備上的證書;
2、從安裝好的 TPM 設備上提取可信平臺模塊(TPM)“簽注密鑰(endorsement key)”的公共部分。TPM 是一個專用的微處理器,用于保障硬件安全,是一項國際標準。
Azure IoT Hub 設備配置服務可以連接到 Azure IoT Hub 的許多實例,使該服務可以向位于不同區(qū)域的許多 IoT Hub 分配設備,支持設備地理復制或負載均衡及跨不同的 Azure 訂閱,支持多客戶或環(huán)境。
自 2018 年 2 月 1 日起,該服務的收費標準為每 1000 次操作 0.10 美元,微軟 Azure 文檔站點提供了完整的文檔。