本文出自機智論壇,版權所有@bigfanofloT,轉載請注明出處
硬件本身有千奇百怪的型號,網絡環(huán)境也千差萬別。而硬件連接手機、接入云端,就是這么簡單的連接過程其實包含了從硬件跨到軟件、跨到互聯(lián)網的諸多問題。因為物聯(lián)網產品所涉及到的技術領域跨度很大,建議不要從一開始就自己去完成所有的東西,而是要盡可能地去利用外部的資源,找到合適的工具去解決一些通用的問題。
這里在體驗過幾個智能硬件云平臺后,我選擇了借助機智云自助開發(fā)平臺,來實現(xiàn)設備開發(fā)和聯(lián)網。理由么,就是機智云提供了很多開發(fā)工具,對于我一個硬件工程師來說,也能做一款APP應用了。下面主要講如何讓設備具有聯(lián)網能力。 三、讓設備具有聯(lián)網能力要讓設備能通過手機APP遠程控制,首先得賦予設備聯(lián)網能力。 通常我們會選用串口無線透傳模塊(WiFi、Zigbee、Lora、NB-IoT)聯(lián)網,來實現(xiàn)聯(lián)網功能。 此處推薦性價比最高的esp8266模塊。 在ESP8266模塊上燒寫GAgent通信協(xié)議,把它連接到arduino UNO R3板卡的串口即可,注意Tx、Rx要交叉連接。燒寫了GAgent后,MCU與云平臺通信的協(xié)議對用戶來說就屏蔽了,我們只需要在自動生成的單片機/MCU/SoC工程中添加下自己的業(yè)務代碼即可,整個工程的框架已經為我們搭建好。就像使用Arduino一樣,完全不用關心底層驅動原理,只管調用現(xiàn)成的接口函數(shù)。 關于GAgent協(xié)議: GAgent 的小固件程序,它運行在硬件平臺里面,通常在 Wi-Fi 模塊里,也可以在硬件的主控芯片里。GAgent 起到了一個承上啟下的作用,對云端,它實現(xiàn)了所有的機智云接口,讓硬件具有與云端連接的能力;對主控芯片,它又提供了一套對嵌入式開發(fā)很友好的封裝,讓硬件工程師可以面向業(yè)務編程,而不用去考慮云端通信的細節(jié)。GAgent 在云端所提供的各類型接口能夠讓整個連接過程變得更加簡易,這些接口在傳輸層面支持多種協(xié)議,包括 MQTT,HTTP/S,還有 WebSocket等。
GAgent for ESP8266固件燒寫教程
四、Let’s Go!準備工作做好后,我們就可以開始奇妙的開發(fā)之旅啦~
Step1:在機智云開發(fā)者中心創(chuàng)建一個產品,給它起個名字,選擇WiFi方案,然后點擊保存按鈕,這樣你的產品就在機智云那里“登記”了。
Step2:接著我們創(chuàng)建數(shù)據(jù)點,數(shù)據(jù)點即設備產品的功能的抽象,用于描述產品功能及其參數(shù)。 本次我們需要實現(xiàn)控制RGB LED的亮滅和顏色(RGB色單獨可調、一鍵設置組合色彩)5個功能,因此要建立5個數(shù)據(jù)點。機智云的開發(fā)者中心有很多產品模板,我們可以直接利用模板,然后在它的基礎上修改。
進入開發(fā)者中心的數(shù)據(jù)點一欄:
點擊管理->選擇產品數(shù)據(jù)點模板: 選擇gokitDemo: GokitDemo的數(shù)據(jù)點有很多,去掉不需要的: 最后保留的5個用于控制RGB LED的數(shù)據(jù)點: Step3:數(shù)據(jù)點建立好后,在MCU開發(fā)欄目,選擇獨立MCU方案,硬件平臺為ArduinoUNOR3,點擊生成代碼包即可生成工程。 稍等幾秒,很快就能生成完畢; 工程生成好后,我們下載它;
|