近日,微軟正式發(fā)布了Azure IoT Hub設(shè)備配置服務(wù)。該服務(wù)之前已經(jīng)面向客戶公開預(yù)覽了數(shù)月,此次發(fā)布增加了新的功能及更多的語言支持。
該服務(wù)是Microsoft Azure IoT架構(gòu)的一部分。微軟聲稱,他們設(shè)計這項(xiàng)服務(wù)的目的是為了在實(shí)際應(yīng)用中為大量IoT設(shè)備的配置提供零接觸的解決方面,而不需要人為干預(yù)。
Nicole Berdy是IoT Hub的一名高級項(xiàng)目經(jīng)理,他在公告中指出:
我們在設(shè)計“設(shè)備配置過程(Device Provisioning Process)”時,充分考慮了供應(yīng)鏈面臨的挑戰(zhàn),為以一種安全、可伸縮的方式配置數(shù)以百萬計的設(shè)備提供了所需的基礎(chǔ)設(shè)施。
典型的IoT設(shè)備配置過程可能包括在生產(chǎn)的時候向設(shè)備增加一個連接串,當(dāng)設(shè)備部署完成后立即就可以開始發(fā)送消息。然而,這會導(dǎo)致安全和伸縮性方面的問題,因?yàn)槊總€設(shè)備在部署之前就必須有一個獨(dú)一無二的連接串。
在Azure IoT Hub設(shè)備配置服務(wù)(DPS)中,過程就不一樣了。
首先,制造商向Azure門戶上的DPS實(shí)例中添加設(shè)備注冊信息。至此,當(dāng)設(shè)備在工廠中生產(chǎn)并準(zhǔn)備好后,它就配置好了DPS服務(wù)的端點(diǎn)。
一旦設(shè)備激活,以下過程就會自動發(fā)生,無需人工干預(yù):
設(shè)備和服務(wù)通信,發(fā)送設(shè)備標(biāo)識信息證明其身份;一旦注冊標(biāo)識和密鑰驗(yàn)證通過,服務(wù)就會把設(shè)備注冊到IoT Hub,并創(chuàng)建期望的設(shè)備孿生狀態(tài),其中包含設(shè)備最初的配置信息;IoT Hub向DPS返回設(shè)備ID;DPS向設(shè)備返回IoT Hub的連接信息;設(shè)備直接和IoT Hub通信,從IoT Hub獲取期望的狀態(tài)配置。
此時,設(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解決方案的一個重要部分是保證設(shè)備及通信的安全。為此,DPS當(dāng)前支持兩種設(shè)備標(biāo)識機(jī)制:
X.509證書,用于交換設(shè)備生產(chǎn)時創(chuàng)建并安裝到設(shè)備上的證書;從安裝好的TPM設(shè)備上提取可信平臺模塊(TPM)“簽注密鑰(endorsement key)”的公共部分。TPM是一個專用的微處理器,用于保障硬件安全,是一項(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)提供了完整的文檔。