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

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

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