本文的開發(fā)項(xiàng)目由開發(fā)者發(fā)布在CSDN博客(ID為nanxl1)分享,主要介紹了使用ESP866模塊、機(jī)智云平臺(tái)及APP實(shí)現(xiàn)遠(yuǎn)程控制舵機(jī)旋轉(zhuǎn),實(shí)操步驟包括調(diào)試模組、固件燒錄、代碼移植、云平臺(tái)接入及APP生成等。具體開發(fā)流程為在機(jī)智云平臺(tái)開發(fā)者界面創(chuàng)建產(chǎn)品和小程序;將GAgent固件燒入WiFi模組;平臺(tái)自動(dòng)生成MCU方案代碼;將自動(dòng)生成的代碼移植到ST標(biāo)準(zhǔn)庫(kù)(主要完成硬件功能設(shè)計(jì)、WiFi模塊與MCU的通信)。
01
ESP8266 模塊簡(jiǎn)介
ESP8266是一款超低功耗的UART-WiFi 透?jìng)髂K,擁有業(yè)內(nèi)極富競(jìng)爭(zhēng)力的封裝尺寸和超低能耗技術(shù),專為移動(dòng)設(shè)備和物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì),可將用戶的物理設(shè)備連接到Wi-Fi 無(wú)線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。
模塊特點(diǎn)
支持無(wú)線802.11 b/g/n 標(biāo)準(zhǔn)
支持STA/AP/STA+AP三種工作模式
內(nèi)置TCP/IP協(xié)議棧,支持多路TCP Client連接
支持豐富的Socket AT指令
支持UART/GPIO數(shù)據(jù)通信接口
支持Smart Link 智能聯(lián)網(wǎng)功能
支持遠(yuǎn)程固件升級(jí)(OTA)
內(nèi)置32位MCU, 可兼作應(yīng)用處理器
超低能耗,適合電池供電應(yīng)用
3.3V 單電源供電
引腳功能介紹
ESP8266硬件接口豐富,可支持UART,IIC,PWM,GPIO,ADC等,適用于各種物聯(lián)網(wǎng)應(yīng)用場(chǎng)合。
功能及模式介紹
主要功能:包括串口透?jìng)?,PWM 調(diào)控,GPIO控制。
- 串口透?jìng)鳎簲?shù)據(jù)傳輸,傳輸?shù)目煽啃院?,最大的傳輸速率為?60800bps。
- PWM 調(diào)控:燈光調(diào)節(jié),三色LED 調(diào)節(jié),電機(jī)調(diào)速等。
GPIO控制:控制開關(guān),繼電器等。
工作模式:支持STA/AP/STA+AP 三種工作模式。
- STA 模式:ESP8266模塊通過(guò)路由器連接互聯(lián)網(wǎng),手機(jī)或電腦通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制。
- AP 模式:ESP8266模塊作為熱點(diǎn),實(shí)現(xiàn)手機(jī)或電腦直接與模塊通信,實(shí)現(xiàn)局域網(wǎng)無(wú)線控制。
- STA+AP 模式:兩種模式的共存模式,即可以通過(guò)互聯(lián)網(wǎng)控制實(shí)現(xiàn)無(wú)縫切換,方便操作。
調(diào)試模塊
1)硬件連線注意: 面板板處于通電狀態(tài)
2)發(fā)送AT+RST指令
接好線后,將USB轉(zhuǎn)TTL模塊接入電腦打開串口助手,發(fā)送AT+RST指令
串口接收到模塊返回的信息,調(diào)試完成。
02
關(guān)于機(jī)智云平臺(tái)
機(jī)智云平臺(tái)是機(jī)智云物聯(lián)網(wǎng)公司經(jīng)過(guò)多年行業(yè)內(nèi)的耕耘及對(duì)物聯(lián)網(wǎng)行業(yè)的深刻理解,而推出的面向個(gè)人、企業(yè)開發(fā)者的一站式智能硬件開發(fā)及云服務(wù)平臺(tái)。平臺(tái)提供了從定義產(chǎn)品、設(shè)備端開發(fā)調(diào)試、應(yīng)用開發(fā)、產(chǎn)測(cè)、云端開發(fā)、運(yùn)營(yíng)管理、數(shù)據(jù)服務(wù)等覆蓋智能硬件接入到運(yùn)營(yíng)管理全生命周期服務(wù)的能力。
機(jī)智云平臺(tái)為開發(fā)者提供了自助式智能硬件開發(fā)工具與開放的云端服務(wù)。通過(guò)傻瓜化的自助工具、完善的SDK與API服務(wù)能力最大限度降低了物聯(lián)網(wǎng)硬件開發(fā)的技術(shù)門檻,降低開發(fā)者的研發(fā)成本,提升開發(fā)者的產(chǎn)品投產(chǎn)速度,幫助開發(fā)者進(jìn)行硬件智能化升級(jí),更好的連接、服務(wù)最終消費(fèi)者。
文檔中心
提供一些開發(fā)教程和資料,讓快速掌握物聯(lián)網(wǎng)開發(fā)技術(shù)變得非常簡(jiǎn)單。
開發(fā)者中心
機(jī)智云開發(fā)者中心,即自助開發(fā)云平臺(tái),可提供更高效、更便捷的開發(fā)平臺(tái)服務(wù)與交互體驗(yàn),如創(chuàng)建產(chǎn)品、APP和自動(dòng)生成代碼服務(wù)等。
03
基于云平臺(tái)的物聯(lián)網(wǎng)開發(fā)
開發(fā)流程
- 在平臺(tái)開發(fā)者界面創(chuàng)建產(chǎn)品和小程序
- 將GAgent固件燒入WiFi模組中
- 平臺(tái)自動(dòng)生成MCU方案代碼
將自動(dòng)生成的代碼移植到ST標(biāo)準(zhǔn)庫(kù)(主要完成硬件功能設(shè)計(jì)、WiFi模塊與MCU的通信)
關(guān)鍵概念介紹
* GAgent:
機(jī)智云官方提供的固件,可將其燒錄進(jìn)ESP8266 WiFi模組;燒錄后,模組原來(lái)的AT指令集失去作用,模組能夠接入機(jī)智云平臺(tái),并自動(dòng)完成模組與平臺(tái)間的數(shù)據(jù)交換。GAgent配網(wǎng)方式有airlink和softap。
* MCU與WIFI模塊的通信:
ESP8266用UART通信,并有應(yīng)答機(jī)制;MCU與WIFI模塊的通訊可以用MCU自帶的USART(支持UART)資源。
04
開發(fā)實(shí)操內(nèi)容
GAgent固件的燒寫(ESP8266)
燒錄的方法有兩種,一是用燒錄器燒錄,二是用USB轉(zhuǎn)TTL模塊燒錄。由于沒(méi)有燒錄器,下面介紹用USB轉(zhuǎn)TTL燒錄的方式。
1)下載GAgent固件包
下載好的固件包的內(nèi)容,根據(jù)參數(shù)選擇燒錄的固件包
2)下載安可信ESP8266資料
3)硬件接線(ESP-01s為例)
接線:
4)打開ESP8266資料中的燒錄軟件
一直點(diǎn)進(jìn)去直到找到.exe文件
打開后是這樣的圖
查看芯片參數(shù)(之前調(diào)試的時(shí)候有)
參數(shù)配置
點(diǎn)擊start
完成燒錄
注意: 燒寫失敗有可能是線接觸不良(Combine包比較大),有時(shí)候需重試幾次才能燒錄成功。
檢查GAgent固件是否燒錄成功
1)進(jìn)入機(jī)智云平臺(tái)隨便新建一個(gè)產(chǎn)品
隨便加個(gè)數(shù)據(jù)點(diǎn)(不然調(diào)試助手會(huì)檢測(cè)不到產(chǎn)品)
可以看到左上角有PK和PS
2)下載機(jī)智云的串口調(diào)試助手
打開串口調(diào)試助手
3)將EPS8266模塊與usb-TTL連接
注意:ESP其他引腳都接VCC(手冊(cè)上說(shuō)懸空也行,但有的芯片必須得全接好才能正常工作)
4)進(jìn)入模擬MCU、選擇串口、SoftAP
點(diǎn)擊SoftAp后,串口向模塊發(fā)送進(jìn)入SoftAP模式的信息,模塊收到后會(huì)進(jìn)行應(yīng)答。若能接收到模塊的信息則說(shuō)明GAgent燒錄成功。
5)打開手機(jī)WIFI界面可以看到XPG-GAgent開頭的WiFi
創(chuàng)建產(chǎn)品
根據(jù)自己的需求,按照步驟完成產(chǎn)品的創(chuàng)建
機(jī)智云虛擬設(shè)備
1)下載中心下載機(jī)智云APP
2)開發(fā)者中心->虛擬設(shè)備->打開APP掃碼綁定設(shè)備
3)APP上改變舵機(jī)角度,云端數(shù)據(jù)發(fā)生相應(yīng)變化
MCU自動(dòng)代碼生成及代碼移植
1)自動(dòng)生成代碼服務(wù)
下載代碼即可
2)自動(dòng)生成代碼說(shuō)明
a. 兩個(gè)重要的包
自動(dòng)生成代碼中,Gizwits和Utils是我們需要的,一個(gè)建立起與機(jī)智云的通訊,一個(gè)是工具包。
可以看到,自動(dòng)生成的代碼是基于Hal庫(kù)的,我們需要實(shí)現(xiàn)自己的功能,并將其移植到標(biāo)準(zhǔn)庫(kù)中
c. 打開Gizwits中的gizwits_product.c
d. 機(jī)智云服務(wù)用到的三個(gè)外設(shè)
可以看到,需要用一個(gè)定時(shí)器(Timer)和兩個(gè)串口(USART)
說(shuō)明:
- 定時(shí)器也可以用TIM1、TIM3,同理串口也不一定要用USART1和USART2
USART1用于打印調(diào)試信息,這一部分功能可以刪去,但相應(yīng)要修改一些代碼
e. 關(guān)于USART1
在gizwits_product.c大概兩百多行的位置,重寫了fputc函數(shù)
然后在utils/common.h文件中可以看到GIZWITS_LOG(日志函數(shù))就是printf
在自動(dòng)生成的代碼中,很多調(diào)試信息的打印都調(diào)用了GIZWITS_LOG
當(dāng)完成USART1的初始化并重寫fputc函數(shù)后, 將USART1的端口與usb轉(zhuǎn)TTL模塊連接后接入電腦,借助串口助手可以打印調(diào)試信息到串口助手
重寫的方式如上(本質(zhì)上就是用USART1發(fā)送數(shù)據(jù))
f.主要文件和接口
3) 代碼移植 (需要根據(jù)需求進(jìn)行修改)
將移植后的代碼下載進(jìn)單片機(jī)中,連接好硬件電路后,即可進(jìn)入下一步
接線示范 (僅供參考,根據(jù)自己的實(shí)際需求接)
說(shuō)明:
- A2、A3為USART的端口,分別接WIFI模塊的TX、RX
- WIFI模塊除了TX、RX和GND,其余引腳工作時(shí)接高電平(手冊(cè)解釋有些引腳浮空也行,但我這塊實(shí)測(cè)都得接高電平)
- B10、B12、B14為選擇WIFI模塊工作模式的三個(gè)按鍵分別對(duì)應(yīng)(RESET、SoftAP、AirLink)
- A7為光敏傳感器模擬信號(hào)輸入口
- A0為控制舵機(jī)PWM信號(hào)輸出口
- A1接按鍵,控制角度加30°
這里USART1的A9、A10未接線,可接USB轉(zhuǎn)TTL模塊將調(diào)試信息打印到電腦的串口助手
5)設(shè)備連網(wǎng)
a. 準(zhǔn)備工作
需要: 機(jī)智云APP,兩臺(tái)移動(dòng)設(shè)備(手機(jī),一臺(tái)用來(lái)開熱點(diǎn),熱點(diǎn)頻率為2.4G)
b. 機(jī)智云APP下載
c. 用另外一臺(tái)設(shè)備開啟熱點(diǎn) (注意頻段為2.4G)
d. 進(jìn)入機(jī)智云連接設(shè)備
e. 輸入熱點(diǎn)密碼,下一步
f. 選擇樂(lè)鑫 (選擇模塊對(duì)應(yīng)的模組) 繼續(xù)點(diǎn)直到進(jìn)入,這時(shí)候先別點(diǎn),先按下B10的按鍵(SoftAP模式的按鍵),讓模組進(jìn)入SoftAP工作模式,然后點(diǎn)幾藍(lán)色字體
g. 點(diǎn)擊XPG-GAgent-7067(漏了一步,在點(diǎn)擊XPG前,手機(jī)要先連上熱點(diǎn))
注意:
若找不到XPG開頭的,則可將MCU與WIFI模組通信的串口的發(fā)送口,通過(guò)USB轉(zhuǎn)TTL接到電腦上,用串口助手查看發(fā)送的信息是否正確(與實(shí)操02中的協(xié)議一致),若不一致則需進(jìn)一步進(jìn)行檢查。
還有一種情況,需接受調(diào)試串口的信息,看程序是否運(yùn)行正常
h. 回到機(jī)智云調(diào)試APP,等待設(shè)備連接
若連接失敗: 則檢查熱點(diǎn)質(zhì)量,檢查輸入的熱點(diǎn)密碼是否正確
i.可以看到設(shè)備在線,點(diǎn)進(jìn)去后
j. 可以通過(guò)手機(jī)控制舵機(jī)的角度
05
APP生成
1)創(chuàng)建→ \rightarrow→移動(dòng)應(yīng)用→ \rightarrow→應(yīng)用名稱、應(yīng)用包名隨便填(應(yīng)用包名最好英文)→ \rightarrow→關(guān)聯(lián)應(yīng)用,不關(guān)聯(lián)
2)關(guān)聯(lián)應(yīng)用→ \rightarrow→選擇產(chǎn)品 (圖標(biāo)壁紙可以根據(jù)喜好,自己上傳資源)
3)構(gòu)建應(yīng)用→ \rightarrow→應(yīng)用構(gòu)建→ \rightarrow→構(gòu)建測(cè)試版
4)構(gòu)建成功后可以用手機(jī)下載
5)添加設(shè)備 (過(guò)程與在調(diào)試APP添加設(shè)備類似)
-
模塊
+關(guān)注
關(guān)注
7文章
2695瀏覽量
47431 -
控制
+關(guān)注
關(guān)注
4文章
1011瀏覽量
122656 -
APP
+關(guān)注
關(guān)注
33文章
1573瀏覽量
72439 -
機(jī)智云
+關(guān)注
關(guān)注
2文章
587瀏覽量
26392
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論