關於對ESP-WROOM-02模組的AT指令配置學習記錄
使用模塊需要注意的部分問題
1、確保ESP-WROOM-02模組(內嵌ESP8266EX芯片)的芯片有固件,不然需要到官網下載固件包進行燒錄,燒錄有一些需要注意的地方(管腳的拉高拉低等),給出固件庫參考鏈接:AT固件庫。一般我們購買的模組芯片都會帶有固件包。
2、供電電壓以及供電電流要達到數據手冊給出的要求(3.3V 500mA),數據手冊鏈接如下:ESP-WROOM-02 技術規格書。
3、如遇到使用模塊進行配置測試時,發送AT指令無返回ok情況,首先檢查供電有無問題。如無問題,用示波器觀測發送端管腳TXD的波形,一路監測信號到模塊的RXD管腳,如無問題,則AT指令信號成功發入模塊,若此情況下還是沒返回任何指令。用示波器觀測模塊的TXD管腳,若無波形,恭喜你,模塊壞了換一個吧,若有波形則一路觀測該信號線至連接PC端處,尋找問題。
4、在解決問題問題3時,需要先確保PC 串串⼝口⼯工具,⽤用於向 ESP8266 發送 AT 指令滿足(如下圖所示):(1)波特率設置爲 115200 (2)AT 指令要求以新⾏行行(CR LF)結尾,串串⼝口⼯工具應⽀支持 “新⾏行行模式”。
硬件準備
1、硬件:串口+ESP-WROOM-02模組
2、連接方式
在功能測試時,IO0懸空或者拉高,下載固件庫時纔將IO0拉低,如圖所示;
一、基本AT指令配置學習
1、AT啓動
AT //指令,在串口調試助手中輸入,記得加上新行。
OK //串口調試助手返回信息
2、模塊重啓
AT+RST //指令,在串口調試助手中輸入,記得加上新行。
OK //串口調試助手返回信息
3、查詢版本信息
AT+GMR //指令,在串口調試助手中輸入,記得加上新行。
//串口調試助手返回信息
AT version:1.6.2.0(Apr 13 2018 11:10:59) //AT版本信息
SDK version:2.2.1(6ab97e9) //ADK版本信息
compile time:Jun 7 2018 19:34:26 //編譯生成時間
Bin version(Wroom 02):1.6.2
OK
4、恢復出廠設置
AT+RESTORE //指令
OK //串口調試助手返回信息
二、WIFI AT指令配置學習
1、單連接 TCP Client
AT+CWMODE=3 // 配置WIFI模式 softAP+station mode
OK
AT+CWJAP_CUR="TP-TPX","C7TX52I68" //連接路由器
WIFI CONNECTED
WIFI GOT IP
OK
AT+CIFSR //查詢設備的IP地址
+CIFSR:APIP,"192.168.4.1"
+CIFSR:APMAC,"4e:11:ae:01:e2:eb"
+CIFSR:STAIP,"192.168.1.133"
+CIFSR:STAMAC,"14:cf:11:22:33:05"
OK
接下來使用網絡調試助手建立一個TCP服務器,由上可知無線IP爲192.168.113,創建一個
IP爲192.168.1.177的服務器,端口號設置爲15000(一般建議不要用8080端口號);
如下圖所示:
AT+CIPSTART="TCP","192.168.1.177",15000 //ESP8266 設備作爲TCP client
連接到上述服務器
CONNECT
OK
AT+CIPSEND=4 //ESP8266 設備向服務器器發送數據
> PTXK
Recv 4 bytes
當 ESP8266 設備接收到服務器器發來的數據(PTXKBeiJing),將提示如下信息:
+IPD,11:PTXKBeiJing //11代表字符個數
2、UDP傳輸(UDP 傳輸不不區分 server 或者 client)
AT+CWMODE=3 // 配置WIFI模式爲混合模式
OK
/* 連接路由器、 查詢IP地址、等指令按單連接TCP方式設置*/
/*在網絡調試助手創建UDP IP爲:192.168.1.117 端口號爲:15000 */
AT+CIPMUX=1 //使能多連接
OK
AT+CIPSTART=4,"UDP","192.168.1.177",15000,1112,0 //創建 UDP 傳輸,分配號4
4,CONNECT
OK
說明:
示例例指令中的參數說明如下:
• "1192.168.1.177",15000 爲 UDP 傳輸的遠端 IP 和端⼝口,即前⽂文步驟 4 中
PC 建⽴立的 UDP 端⼝口;
• 1112 爲 ESP8266 本地的 UDP 端⼝口,⽤用戶可⾃行設置,如不不設置則爲隨機值;
• 0 表示當前 UDP 傳輸建⽴立後,UDP 遠端不不會被其他設備更更改;
即使有其他設備通過 UDP 協議發數據到ESP8266 UDP 端⼝口 1112,ESP8266 的第4號
UDP 傳輸的遠端也不不會被替換,使⽤用指令“AT+CIPSEND=4, X” 發送數據,仍然是當
前固定的 PC 端收到。
AT+CIPSEND=4,7 // Send 7 bytes to transmission NO.4 發送數據
OK
>
busy s...
Recv 7 bytes
SEND OK
當 ESP8266 設備接收到服務器器發來的數據(PTXKBeiJing ),將提示如下信息:
+IPD,4,11:PTXKBeiJing // received 11 bytes, data=PTXKBeiJing
AT+CIPCLOSE=4 //斷開UDP傳輸
4,CLOSED
OK
當使⽤用 AT+CIPSTART 指令創建 UDP 通信,將最後⼀一個參數設置爲 2 時,
UDP 通信的遠端可改變。(在此之前先改爲單連接模式)
AT+CIPMUX=0 //關閉多連接
OK
AT+CIPSTART="UDP","192.168.1.177",15000,1112,2 //創建UDP傳輸
CONNECT
OK
AT+CIPSEND=7 // Send 7 bytes 發送數據
OK
> pdxkudp
busy s...
Recv 7 bytes
SEND OK
AT+CIPCLOSE //斷開UDP傳輸
OK
三、透傳
3.1 單連接TCP透傳
AT+CWMODE=3 // softAP+station mode
OK
/* 連接路由器、 查詢IP地址、等指令按單連接TCP方式設置*/
/*在網絡調試助手創建TCP服務器 IP爲:192.168.1.117 端口號爲:15000 */
AT+CIPSTART="TCP","192.168.1.177",15000 //ESP8266 設備作爲 TCP client
連接到上述服務器
CONNECT
OK
AT+CIPMODE=1 // 使能透傳模式
OK
AT+CIPSEND // ESP8266 設備向服務器器發送數據
/* 開啓透傳後,模塊作爲client端與PC端服務器連接,可以無限互相發送數據*/
/*在透傳發送數據過程中,若識別到單獨的⼀一包數據 “+++”,則退出透傳發送。數
據包“+++”取消新行模式,即不發送新行,等待數秒退出透傳狀態(此時還未斷開連接)*/
AT+CIPMODE=0 //斷開透傳模式
OK
AT+CIPCLOSE //斷開TCP連接
CLOSED
OK
3.2 UDP透傳
AT+CWMODE=3 //配置WIFI模式
OK
/* 連接路由器、 查詢IP地址、等指令按UDP傳輸方式設置*/
/*在網絡調試助手創建UDP IP爲:192.168.1.117 端口號爲:15000 */
AT+CIPSTART="UDP","192.168.1.117",15000,2233,0 //建立UDP連接
OK
AT+CIPMODE=1 //使能透傳模式
OK
/* 開啓透傳後,模塊通過UDP方式與服務器可以無限互相發送數據*/
/*在透傳發送數據過程中,若識別到單獨的⼀一包數據 “+++”,則退出透傳發送。數
據包“+++”取消新行模式,即不發送新行,等待數秒退出透傳狀態(此時還未斷開連接)*/
AT+CIPMODE=0 //斷開透傳模式
OK
AT+CIPCLOSE //斷開TCP連接
CLOSED
OK
補充
1、ESP8266的應用模式:ESP266支撐單AP模式、單STA模式和混合模式。簡單的來說就是:
AP:可以將ESP8266作爲熱點,可以讓其他的設備連接上它;
STA:可以連接上當前環境下的WIFI熱點。
AP+STA混合模式:既具備AP功能,又可使用STA功能。
2、什麼是透傳模式?
透傳就是指不需要關心wifi協議是如何實現的。所需要做的就是A通過串口發數據,B通過串口收數據,整個過程中A串口和B串口就像是用導線直接連接起來了一樣。則對於開發人員來看,就是完全透明的。
也可以下面這樣簡單理解:
如果不開啓透傳模式,我們怎麼發送數據呢?在每次發數據之前都要發送AT+CIPSEND=4指令,如下:
AT+CIPSEND=4
OK
> //在 > 後面輸入要上傳的數據
但是在開啓透傳模式後(AT+CIPMODE=1),不需要在每次發送數據前都發送指令AT+CIPSEND=param (字符個數)了,只需要發送一次AT+CIPSEND,之後發送的所有內容全部當成是數據了!
如果不想發數據了,就要退出透傳模式再發其他指令,怎麼退出?發送數據"+++"就可以了。注意:此時“+++”後面,不接“發送新行”!
PS:第一次發文檔,如有不當之處請多多指教,希望能夠與大家共同學習共同進步,如有錯誤之處歡迎大家指出。