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