在本文中,通過設(shè)計一個智能遙控的小燈來介紹一下使用機智云平臺的開發(fā)過程和體驗。
一、硬件設(shè)計 設(shè)計硬件電路之前,我先查閱了GE211的規(guī)格書,發(fā)現(xiàn)預(yù)留接口是5V電平。翻找了一下手頭的板卡,發(fā)現(xiàn)只有一塊arduino UNO是5V電平的。因此選定Arduino平臺作為此次試用的軟硬件環(huán)境。
通過機智云社區(qū)發(fā)現(xiàn)一篇非常有價值的帖子,《史上最詳細的Arduino uno R3接入機智云教程》,
通過學(xué)習(xí)此貼文,我基本了解機智云開發(fā)流程和關(guān)鍵點,下面把我的設(shè)計過程逐步寫一下。借用參考貼文中的接線圖,我按照我這連線方便從新改造了一下。 接線圖如下:
 其中,兩個按鍵和LED燈,我原封照搬的。電壓測量本次測試用不到去掉了。由于Arduino UNO下載程序和GE211共用唯一的一個硬串口,我在GE211的TX引線上加了一個開關(guān),在下載程序時斷開GE211的發(fā)送,防止干擾程序下載。為了方便調(diào)試,我單獨引出一路軟串口,只將軟串口的TX接到了USB轉(zhuǎn)串口的RX,能看到運行中發(fā)的數(shù)據(jù)就行。
由于手頭沒有面包板和各種直插器件,我就找了一塊閑置空白的PCB,通過在上面飛線把上圖中的各個器件焊接在一起,最終的實物圖下圖。
圖2、焊接好的實物圖
二、云端產(chǎn)品創(chuàng)建
參照貼文和機智云幫助文檔,很容易創(chuàng)建自己的云端產(chǎn)品。這里我不再詳細描述。如下圖是我創(chuàng)建了一個名為“LED燈”的產(chǎn)品。

功能上,我只設(shè)計了一個布爾量開關(guān),用來控制LED燈開關(guān),如下圖。

為了驗證設(shè)置參數(shù),創(chuàng)建一個虛擬設(shè)備進行調(diào)試一下,確保參數(shù)設(shè)置正確。如下圖。
圖5、虛擬設(shè)備調(diào)試
三、模擬MCU調(diào)試
云端設(shè)置好后,可以通過機智云提供的串口調(diào)試助手實現(xiàn)模擬MCU調(diào)試功能,這樣可以驗證整個軟硬件鏈路是否正常,防止在開發(fā)中遇到諸如電源不對,wifi配錯,RX、TX接反等低級錯誤。 先把GE211和USB轉(zhuǎn)串口小板連起來接入電腦,如下圖。
 圖6、連接GE211和USB轉(zhuǎn)串口小板
然后打開串口調(diào)試助手《GAgent_Debugger.exe》進行參數(shù)設(shè)置。注意此軟件需要聯(lián)網(wǎng),我在一個有端口限制的內(nèi)網(wǎng)環(huán)境就沒配置成功。按照說明配置如下圖。
圖7、模擬MCU配置
網(wǎng)絡(luò)通訊建立成功后,就可以看到左上窗口顯示從GE211收發(fā)的數(shù)據(jù)。還可以通過左下的命令按鈕實現(xiàn)各種配網(wǎng)、校時等基礎(chǔ)功能。
圖8、模擬MCU調(diào)試
下圖是數(shù)據(jù)上傳后,在云端收到的效果展示。
通過模擬MCU調(diào)試可以確認我這的軟硬件連接均正常,可以進行下一步程序設(shè)計了。
四、程序編寫,設(shè)備調(diào)試
機智云針對常用的MCU平臺,專門設(shè)計了一個程序包自動生成功能,這個把物聯(lián)網(wǎng)相關(guān)的操作都封裝好了,極大簡化了開發(fā)難度,這個是其他云平臺所不具備的,對于提高產(chǎn)品開發(fā)效率非常友好。
我這里直接生成Arduino UNO的程序包,如下圖。
參照貼文例程,對程序的三個地方進行修改,如下圖。這里特別贊一下Arduino-IDE_2.0.4版本的編輯界面,已經(jīng)支持函數(shù)、變量轉(zhuǎn)到定義功能,非常有助于理解已有的程序。
圖11、接口定義修改
圖12、初始化接口
只需把這三個地方簡單修改一下,就實現(xiàn)了預(yù)期的功能,不用考慮JSON解碼,不用設(shè)置回調(diào)函數(shù),比其他平臺簡單很多。 程序編好后,將GE211的TX線斷開,下載程序。觀察軟串口輸出,可以監(jiān)測到聯(lián)網(wǎng)狀態(tài)。如下圖。
圖14、串口監(jiān)視
從云端觀察,可見設(shè)備已經(jīng)在線,說明程序好用,設(shè)備聯(lián)網(wǎng)成功。如下圖。
此時,可以在機智云調(diào)試APP中對這個設(shè)備進行控制,下圖是APP截圖。
圖16、APP控制
在手機上的操作,同時也可以在云端看到,進行實時調(diào)試。如下圖。
LED燈通過手機APP進行控制的視頻如下,操作實時性很好,幾乎感覺不到延遲。
☝點擊上圖查看視頻
五、總結(jié)
通過本次試驗,我熟悉了機智云的基本設(shè)計開發(fā)流程,且由于機智云對框架完整的封裝和豐富的資源,使我的開發(fā)過程非常高效。機智云對于剛接觸物聯(lián)網(wǎng)開發(fā)的工程師會非常友好,不用深入學(xué)習(xí)各種協(xié)議、解碼就能完成產(chǎn)品開發(fā),相信未來機智云的粉絲會越來越多。
|