關於對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  串口波特率設置及發送新行設置

硬件準備

1、硬件:串口+ESP-WROOM-02模組
2、連接方式
在功能測試時,IO0懸空或者拉高,下載固件庫時纔將IO0拉低,如圖所示;圖2    模組管腳連接方式

一、基本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端口號);
如下圖所示:

圖3 網絡調試助手創建TCP服務器

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:第一次發文檔,如有不當之處請多多指教,希望能夠與大家共同學習共同進步,如有錯誤之處歡迎大家指出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章