在本文中,通過設計一個智能遙控的小燈來介紹一下使用機智云平臺的開發過程和體驗。
一、硬件設計
設計硬件電路之前,我先查閱了GE211的規格書,發現預留接口是5V電平。翻找了一下手頭的板卡,發現只有一塊arduino UNO是5V電平的。因此選定Arduino平臺作為此次試用的軟硬件環境。
通過機智云社區發現一篇非常有價值的帖子,《史上最詳細的Arduino uno R3接入機智云教程》。
通過學習此貼文,我基本了解機智云開發流程和關鍵點,下面把我的設計過程逐步寫一下。借用參考貼文中的接線圖,我按照我這連線方便從新改造了一下。
接線圖如下:
圖1、硬件連接圖
其中,兩個按鍵和LED燈,我原封照搬的。電壓測量本次測試用不到去掉了。由于Arduino UNO下載程序和GE211共用唯一的一個硬串口,我在GE211的TX引線上加了一個開關,在下載程序時斷開GE211的發送,防止干擾程序下載。為了方便調試,我單獨引出一路軟串口,只將軟串口的TX接到了USB轉串口的RX,能看到運行中發的數據就行。
由于手頭沒有面包板和各種直插器件,我就找了一塊閑置空白的PCB,通過在上面飛線把上圖中的各個器件焊接在一起,最終的實物圖下圖。
圖2、焊接好的實物圖
二、云端產品創建
參照貼文和機智云幫助文檔,很容易創建自己的云端產品。這里我不再詳細描述。如下圖是我創建了一個名為“LED燈”的產品。
圖3、設備創建成功
功能上,我只設計了一個布爾量開關,用來控制LED燈開關,如下圖。
圖4、布爾量開關
為了驗證設置參數,創建一個虛擬設備進行調試一下,確保參數設置正確。
云端設置好后,可以通過機智云提供的串口調試助手實現模擬MCU調試功能,這樣可以驗證整個軟硬件鏈路是否正常,防止在開發中遇到諸如電源不對,wifi配錯,RX、TX接反等低級錯誤。
先把GE211和USB轉串口小板連起來接入電腦,如下圖。
圖6、連接GE211和USB轉串口小板
然后打開串口調試助手《GAgent_Debugger.exe》進行參數設置。注意此軟件需要聯網,我在一個有端口限制的內網環境就沒配置成功。按照說明配置如下圖。
圖7、模擬MCU配置
網絡通訊建立成功后,就可以看到左上窗口顯示從GE211收發的數據。還可以通過左下的命令按鈕實現各種配網、校時等基礎功能。
圖8、模擬MCU調試
下圖是數據上傳后,在云端收到的效果展示。
圖9、模擬MCU調試效果
通過模擬MCU調試可以確認我這的軟硬件連接均正常,可以進行下一步程序設計了。
四、程序編寫,設備調試
機智云針對常用的MCU平臺,專門設計了一個程序包自動生成功能,這個把物聯網相關的操作都封裝好了,極大簡化了開發難度,這個是其他云平臺所不具備的,對于提高產品開發效率非常友好。
我這里直接生成Arduino UNO的程序包,如下圖。
圖10、生成MCU代碼
參照貼文例程,對程序的三個地方進行修改,如下圖。這里特別贊一下Arduino-IDE_2.0.4版本的編輯界面,已經支持函數、變量轉到定義功能,非常有助于理解已有的程序。
圖11、接口定義修改
圖12、初始化接口
圖13、功能實現
只需把這三個地方簡單修改一下,就實現了預期的功能,不用考慮JSON解碼,不用設置回調函數,比其他平臺簡單很多。
程序編好后,將GE211的TX線斷開,下載程序。觀察軟串口輸出,可以監測到聯網狀態。如下圖。
圖14、串口監視
從云端觀察,可見設備已經在線,說明程序好用,設備聯網成功。如下圖。
圖15、設備在線
此時,可以在機智云調試APP中對這個設備進行控制,下圖是APP截圖。
圖16、APP控制
在手機上的操作,同時也可以在云端看到,進行實時調試。如下圖。
圖17、設備實時調試
LED燈通過手機APP進行控制的視頻如下,操作實時性很好,幾乎感覺不到延遲。
五、總結
通過本次試驗,我熟悉了機智云的基本設計開發流程,且由于機智云對框架完整的封裝和豐富的資源,使我的開發過程非常高效。機智云對于剛接觸物聯網開發的工程師會非常友好,不用深入學習各種協議、解碼就能完成產品開發,相信未來機智云的粉絲會越來越多。
-
電路
+關注
關注
172文章
5852瀏覽量
171927 -
物聯網
+關注
關注
2903文章
44295瀏覽量
371375 -
機智云
+關注
關注
2文章
582瀏覽量
26369
發布評論請先 登錄
相關推薦
評論