天天看點

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

在2015年曾寫過一篇文章《從微軟build 2015,展望微軟未來發展》,提到了微軟的Azure和Windows 10 IoT,那算是初次接觸微軟物聯網技術。比較幸運的是在後續的時間裡,有幸和微軟相關部門進行了深入合作,對微軟的Azure雲及Windows 10 IoT有了更深的了解。

除了最初的基于樹莓派平台做了微軟利事盒教育箱(如下圖所示)外,尤為重要的是基于台灣新漢的NISE50 Windows 10 IoT工控級網關對接微軟Azure IoT Hub平台開發了養殖監控系統,後續在濰坊的一個現場成功實施。 

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

并于今年的1月9号在中關村微軟大廈和甘來、健安華夏和研華相關人員一起向微軟物聯網部門彙報了各自和微軟雲相關的項目進展。

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

不過基于Windows10 IoT終端裝置,對物聯網項目來說,還是太“重”了,急需輕量級的網關進行資料采集,并上傳到微軟Azure IoThub端。

好在微軟提供了裝置端的SDK(連結如下)

https://github.com/Azure/azure-iot-sdks

有基于C代碼,也有基于C#代碼的SDK,另外我們有成本效益較高的,且相對成熟的物聯網網關硬體,是以最直接的想法就是把SDK相關代碼移植到硬體上去,但是沒有想到一開始就困難重重,開始的幾個月一直進展不大,後來在微軟紀尚豪和王啟霄等老師的協助下,突破了相關瓶頸,成功在淩霄物聯網網關上移植成功了:基于Mbed OS系統的MQTT接口的雲端通信、以及基于.NET  Micro Framwork系統上的HTTP和MQTT的雲端通信。

本篇文章就先介紹基于.NET  Micro Framwork系統上的HTTP協定和微軟Azure雲進行通信的整個過程。

第一步:在MicrosoftAzure上建立一個IoT Hub

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

建立完畢後,大概這個樣子

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

建立完畢後,我們單擊共享通路政策,擷取共享通路密鑰。

第二步:借助DevcieExplorer Twin工具建立裝置

從上面SDK連結中可以下載下傳這個工具的源代碼,編譯運作,在IoT Hub Connection String中填寫第一步的共享通路密鑰。

然後在Management頁面建立裝置

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

下一個操作比較關鍵,我們要擷取裝置的連接配接字元串,以便在裝置中填寫這個字元串。

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

第三步:在.NETMicro Framework代碼中填入連接配接字元串,并進行聯調

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

裝置運作後,在DeviceExplorer Twin的Data頁籤中就可以看到裝置上傳的資料了。

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

同樣,也可以測試資料下發,可發現雙向通信都是正常的。

這個時候登陸MicrosoftAzure我們可以看到資料上傳的情況。

【物聯網雲端對接-1】 通過HTTP協定與微軟Azure IoT hub進行雲端通信

本篇文章先介紹到這裡,下一篇文章将介紹基于MQTT通信協定和微軟Azure雲進行通信的過程。有對微軟物聯網開發感興趣的網友可以加我的QQ(71825781)或微信(yefanqiu),一起進行物聯網技術探讨。