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