在2015年曾寫過一篇文章《從微軟build 2015,展望微軟未來發(fā)展》,提到了微軟的Azure和Windows 10 IoT,那算是初次接觸微軟物聯(lián)網(wǎng)技術(shù)。比較幸運(yùn)的是在后續(xù)的時(shí)間里,有幸和微軟相關(guān)部門進(jìn)行了深入合作,對(duì)微軟的Azure云及Windows 10 IoT有了更深的了解。 除了最初的基于樹莓派平臺(tái)做了微軟利事盒教育箱(如下圖所示)外,尤為重要的是基于臺(tái)灣新漢的NISE50 Windows 10 IoT工控級(jí)網(wǎng)關(guān)對(duì)接微軟Azure IoT Hub平臺(tái)開發(fā)了養(yǎng)殖監(jiān)控系統(tǒng),后續(xù)在濰坊的一個(gè)現(xiàn)場(chǎng)成功實(shí)施。 并于今年的1月9號(hào)在中關(guān)村微軟大廈和甘來、健安華夏和研華相關(guān)人員一起向微軟物聯(lián)網(wǎng)部門匯報(bào)了各自和微軟云相關(guān)的項(xiàng)目進(jìn)展。 不過基于Windows10 IoT終端設(shè)備,對(duì)物聯(lián)網(wǎng)項(xiàng)目來說,還是太“重”了,急需輕量級(jí)的網(wǎng)關(guān)進(jìn)行數(shù)據(jù)采集,并上傳到微軟Azure IoThub端。 好在微軟提供了設(shè)備端的SDK(鏈接如下) https://github.com/Azure/azure-iot-sdks 有基于C代碼,也有基于C#代碼的SDK,另外我們有性價(jià)比較高的,且相對(duì)成熟的物聯(lián)網(wǎng)網(wǎng)關(guān)硬件,所以最直接的想法就是把SDK相關(guān)代碼移植到硬件上去,但是沒有想到一開始就困難重重,開始的幾個(gè)月一直進(jìn)展不大,后來在微軟紀(jì)尚豪和王啟霄等老師的協(xié)助下,突破了相關(guān)瓶頸,成功在凌霄物聯(lián)網(wǎng)網(wǎng)關(guān)上移植成功了:基于Mbed OS系統(tǒng)的MQTT接口的云端通信、以及基于.NET Micro Framwork系統(tǒng)上的HTTP和MQTT的云端通信。 本篇文章就先介紹基于.NET Micro Framwork系統(tǒng)上的HTTP協(xié)議和微軟Azure云進(jìn)行通信的整個(gè)過程。 第一步:在MicrosoftAzure上創(chuàng)建一個(gè)IoT Hub 創(chuàng)建完畢后,大概這個(gè)樣子 創(chuàng)建完畢后,我們單擊共享訪問策略,獲取共享訪問密鑰。 第二步:借助DevcieExplorer Twin工具創(chuàng)建設(shè)備 從上面SDK鏈接中可以下載這個(gè)工具的源代碼,編譯運(yùn)行,在IoT Hub Connection String中填寫第一步的共享訪問密鑰。 然后在Management頁(yè)面創(chuàng)建設(shè)備 下一個(gè)操作比較關(guān)鍵,我們要獲取設(shè)備的連接字符串,以便在設(shè)備中填寫這個(gè)字符串。 第三步:在.NETMicro Framework代碼中填入連接字符串,并進(jìn)行聯(lián)調(diào) 設(shè)備運(yùn)行后,在DeviceExplorer Twin的Data選項(xiàng)卡中就可以看到設(shè)備上傳的數(shù)據(jù)了。 同樣,也可以測(cè)試數(shù)據(jù)下發(fā),可發(fā)現(xiàn)雙向通信都是正常的。 這個(gè)時(shí)候登陸MicrosoftAzure我們可以看到數(shù)據(jù)上傳的情況。 |
|