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