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