ESP8266 調試全過程 – 使用指導
上電:正常工作驗證
本模塊可以工作在三種模式:1. STA 2 .AP 3 .AP+STA,出廠設置為第三種
上電后,藍色燈微弱閃爍后熄滅,紅燈長亮
1. 搜索無線網絡,可見ESP_XXXXXX已經處于列表中(后面的數字是MAC地址后幾位)

連接該網絡以后,查看連接狀態:

手機搜索該網絡,也可連接上:

軟件配置如下圖:
注意:(1)波特率一般在出廠情況下默認的是115200。如果在115200情況下收到的是亂碼可以試試其他波特率(舊版本的默認波特率可能是其他數值)。
(2)在輸入命令后必須再按一下回車鍵,然后再按發送!

注意:勾選上“發送新行”
發送命令AT+RST(重啟模塊),返回如下:

三 測試
測試前先閱讀:(1)Espressif IoT AT指令集_v0.1.5.pdf 描述了該模塊支持的AT命令
www點electrodragon點com/w/Wi07c該網頁命令描述更清晰一些
(2) ESP8266測試方法匯總.pdf 測試的具體流程
測試過程參照:ESP8266作為TCP服務器端使用心得.pdf 出錯的原因分析及處理
四 測試例程
原來推薦的測試例程比較粗略,這里放上我自己的測試過程,理解可能有誤,僅供參考。
請勿直接復制指令,部分格式經過WORD編輯后有誤!可能導致出錯!
(一)AP模式
1. 建立AP
(1)重啟模塊
發送命令:AT+RST(執行指令)
指令:AT+RST
響應:OK
(2)設置模塊
發送命令:AT+CWMODE=3或AT+CWMODE=2(設置指令)
指令:AT+CWMODE=<mode>
說明:<mode>:1-Station模式,2-AP模式,3-AP兼Station模式
響應:OK
說明:需重啟后生效(AT+RST)

(3)配置AP參數
發送命令:AT+CWSAP=”TEST”,”123456123456”,1,3(設置指令)
指令:AT+ CWSAP= <ssid>,<pwd>,<chl>, <ecn>
說明:指令只有在AP模式開啟后有效
<ssid>:字符串參數,接入點名稱
<pwd>:字符串參數,密碼最長64字節,ASCII
<chl>:通道號
< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK
響應:OK

刷新無線網絡列表,可見到SSID為TEST的無線網絡列于其中:

注意:此時連接網絡會可能出現連接不上的情況,請發送AT+RST命令并等待幾分鐘之后再連接
(4)查看已接入設備的IP
連接上TEST后,發送命令:AT+CWLIF(執行指令)
指令:AT+CWLIF
說明:查看已接入設備的IP
響應:<ip addr>
OK
說明:<ip addr>:已接入設備的IP地址
如果返回命令如下:
表示網絡成功建立,目前無設備連入。
如果無線網絡實際已連接上,請等待幾分鐘后再發送AT+CWLIF命令進行查詢。
(4)查詢本機IP地址
發送命令:AT+CIFSR(執行指令)
指令:AT+CIFSR
說明:查看本模塊的IP地址
注意:AP模式下無效!會造成死機現象!
響應:<ip addr>
說明:<ip addr>:本模塊IP地址

但實際測試中并未發生死機現象。
查看本機配置模式:CWMODE=2,為AP模式。

發送命令:AT+CIFSR=?(測試指令),返回響應如下:

同樣未出現死機現象。
2. Server方法收發
(0)查詢此時模塊狀態(該步驟可省略)
發送命令 AT+CWMODE?(查詢指令)
指令:AT+CWMODE?
說明:查看本模塊的WIFI應用模式
響應:+CWMODE:<mode>
OK
說明:<mode>:1-Station模式,2-AP模式,3-AP兼Station模式

發送命令AT+CIPMUX? (查詢指令)
指令:AT+CIPMUX?
說明:查詢本模塊是否建立多連接
響應:+ CIPMUX:<mode>
OK
說明:<mode>:0-單路連接模式,1-多路連接模式

發送命令AT+CIPMODE? (查詢指令)
指令:AT+CIPMODE?
說明:查詢本模塊的傳輸模式
響應:+ CIPMODE:<mode>
OK
說明:<mode>:0-非透傳模式,1-透傳模式

發送命令AT+CIPSTO? (查詢指令)
指令:AT+CIPSTO?
說明:查詢本模塊的服務器超時時間
響應:+ CIPSTO:<time>
OK
說明:<time>:服務器超時時間,0~2880,單位為s

(1)開啟多連接模式
發送命令:AT+CIPMUX=1(設置指令)
指令:AT+CIPMUX=<mode>
說明:<mode>:0-單路連接模式,1-多路連接模式
響應:OK

查詢可知,設置成功

(2)創建服務器
發送命令:AT+CIPSERVER=1,8080(設置指令)
指令:AT+CIPSERVER=<mode>[,<port>]
說明:<mode>:0-關閉server模式,1-開啟server模式
<port>:端口號,缺省值為333
響應:OK
說明:(1) AT+ CIPMUX=1時才能開啟服務器;關閉server模式需要重啟
(2)開啟server后自動建立server監聽,當有client接入會自動按順序占用一個連接。
開啟server服務如下圖所示:

關閉server服務如下圖所示:

打開USR-TCP232-Test.exe,點擊Connect按鈕連接不上,可知server服務未開啟

重新開啟server服務(注意:之前需要再發送一遍AT+CIPMUX=1以重新開啟多連接模式)。
點擊Connect按鈕

連接成功后,串口收到模塊返回的數據串:Link
180S(默認值)后,連接自動斷開,返回Unlink,客戶端的相應按鈕變成灰色。
全過程如下圖:

(3) 設置服務器超時時間
發送命令AT+CIPSTO=2880 (設置指令)
指令:AT+CIPSTO=<time>
說明:<time>:服務器超時時間,0~2880,單位為s
響應:OK

(4) 建立客戶端

(5) 查看當前連接
發送命令AT+CIPSTATUS (執行指令)
指令:AT+CIPSTATUS
響應:STATUS:<stat>
+ CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>
OK
說明:<id>:連接的id號0-4
<type>:字符串參數,類型TCP或UDP
<addr>:字符串參數,IP地址
<port>:端口號
<tetype>: 0-本模塊做client的連接,1-本模塊做server的連接

(之前電腦的USB無線網卡發燙厲害,拔出后重新插上,再次連接后自動分配的端口產生了變化,所以刷出了兩個客戶端,實際中存在的僅有ID=1的客戶端)
(6) 向某個連接發送數據
發送命令AT+CIPSEND=1,6(設置指令) (通過上一條指令AT+CIPSTATUS得知ID=1)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSEND=<length>
2)多路連接時(+CIPMUX=1) ,指令為: AT+CIPSEND= <id>,<length>
響應:收到此命令后先換行返回”>”,然后開始接收串口數據
當數據長度滿length時發送數據。
如果未建立連接或連接被斷開,返回ERROR
如果數據發送成功,返回 SEND OK
說明:<id>:需要用于傳輸連接的id號
<length>:數字參數,表明發送數據的長度,最大長度為2048

斷開客戶端后再發送一次,得到以下響應:

發送數據長度大于LENGTH時響應如下(HELLO!為之前一次發送的數據):
此時連接已建立,可以進行數據的雙向收發。
用客戶端向ESP8266發送數據,正常。

3. Client方法收發
(0) 關閉server服務 (如果沒有開啟server服務,可免除此步驟)
發送命令:AT+CIPSERVER=0(設置指令)
指令:AT+CIPSERVER=<mode>[,<port>]
說明:<mode>:0-關閉server模式,1-開啟server模式
<port>:端口號,缺省值為333
響應:OK
說明:(1) AT+ CIPMUX=1時才能開啟服務器;關閉server模式需要重啟
(2)開啟server后自動建立server監聽,當有client接入會自動按順序占用一個連接。
關閉server服務如下圖所示:

(1) 創建服務器


點擊Listening,創建成功后,該按鈕變為:

(2) 開啟多連接模式
發送命令:AT+CIPMUX=1(設置指令)
指令:AT+CIPMUX=<mode>
說明:<mode>:0-單路連接模式,1-多路連接模式
響應:OK

(3) 建立TCP連接
發送命令AT+CIPSTART=2,"TCP","192.168.4.101",8080 (設置指令)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSTART= <type>,<addr>,<port>
2)多路連接時(+CIPMUX=1),指令為:AT+CIPSTART=<id>,<type>,<addr>,<port>
響應:如果格式正確且連接成功,返回 OK,否則返回 ERROR
如果連接已經存在,返回 ALREAY CONNECT
說明:<id>:0-4,連接的id號
<type>:字符串參數,表明連接類型,”TCP”-建立tcp連接,”UDP”-建立UDP連接
<addr>:字符串參數,遠程服務器IP地址
<port>:遠程服務器端口號
如下圖所示:

(4) 向服務器發送數據
發送命令AT+CIPSEND=2,8(設置指令) (通過上一條指令AT+CIPSTART設置為ID=2)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSEND=<length>
2)多路連接時(+CIPMUX=1) ,指令為: AT+CIPSEND= <id>,<length>
響應:收到此命令后先換行返回”>”,然后開始接收串口數據
當數據長度滿length時發送數據。
如果未建立連接或連接被斷開,返回ERROR
如果數據發送成功,返回 SEND OK
說明:<id>:需要用于傳輸連接的id號
<length>:數字參數,表明發送數據的長度,最大長度為2048

接收正確,超過8個字符的部分不接收。
此時連接已建立,可以進行數據的雙向收發。用服務器向ESP8266發送數據,正常。

(二)STA模式
1.建立STA
(1) 重啟模塊
發送命令:AT+RST(執行指令)
指令:AT+RST
響應:OK

(2) 設置模塊
發送命令:AT+CWMODE=3或AT+CWMODE=1(設置指令)
指令:AT+CWMODE=<mode>
說明:<mode>:1-Station模式,2-AP模式,3-AP兼Station模式
響應:OK
說明:需重啟后生效(AT+RST)

將模塊設置為模式1,此時刷新網絡列表可見由ESP8266建立的網絡從列表中消失了
(3) 查看當前無線路由器列表
發送命令:AT+CWLAP(執行指令)
指令:AT+CWLAP
響應:正確:(終端返回AP列表)
+ CWLAP: <ecn>,<ssid>,<rssi>
OK
錯誤:ERROR
說明:< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK
<ssid>:字符串參數,接入點名稱
<rssi>:信號強度

如搜索不到信號,響應:

請重新上電并嚴格按照AT命令再發送一遍。
沒有列表返回的時候請耐心等待,否則會出現“busy”
(4) 加入當前無線網絡
發送命令:AT+CWJAP=”MERSAIN”,”XXXXXXXX”(設置指令)
指令:AT+CWJAP=<ssid>,< pwd >
說明:<ssid>:字符串參數,接入點名稱
<pwd>:字符串參數,密碼,最長64字節ASCII
響應:正確:OK
錯誤:ERROR

檢測是否真的連上該路線網絡
發送命令:AT+CWJAP?(查詢指令)
指令:AT+CWJAP?
響應:返回當前選擇的AP
+ CWJAP:<ssid>
OK
說明:<ssid>:字符串參數,接入點名稱

斷電。上電后發送AT+CWJAP?,返回同上,系統保持上次的狀態。
查看模塊IP地址
發送命令:AT+CIFSR(執行指令)
指令:AT+CIFSR
響應:正確:+ CIFSR:<IP address>
OK
錯誤:ERROR
說明:<ssid>:字符串參數,接入點名稱

群里(@云海之夢)反映:錯誤的SSID也可以連接上,測試后發現果然如此,輸入實際不存在的賬號密碼返回也是OK

但發送AT+CIFSR(查看模塊地址),返回ERROR,可通過此命令來判斷有沒有真正連接上。
2. Server方法收發
(0)查詢此時模塊狀態(該步驟可省略)
發送命令 AT+CWMODE?(查詢指令)
指令:AT+CWMODE?
說明:查看本模塊的WIFI應用模式
響應:+CWMODE:<mode>
OK
說明:<mode>:1-Station模式,2-AP模式,3-AP兼Station模式

發送命令AT+CIPMUX? (查詢指令)
指令:AT+CIPMUX?
說明:查詢本模塊是否建立多連接
響應:+ CIPMUX:<mode>
OK
說明:<mode>:0-單路連接模式,1-多路連接模式

發送命令AT+CIPMODE? (查詢指令)
指令:AT+CIPMODE?
說明:查詢本模塊的傳輸模式
響應:+ CIPMODE:<mode>
OK
說明:<mode>:0-非透傳模式,1-透傳模式

發送命令AT+CIPSTO? (查詢指令)
指令:AT+CIPSTO?
說明:查詢本模塊的服務器超時時間
響應:+ CIPSTO:<time>
OK
說明:<time>:服務器超時時間,0~2880,單位為s

(1)開啟多連接模式
發送命令:AT+CIPMUX=1(設置指令)
指令:AT+CIPMUX=<mode>
說明:<mode>:0-單路連接模式,1-多路連接模式
響應:OK

查詢可知,設置成功

(2)創建服務器
發送命令:AT+CIPSERVER=1,8080(設置指令)
指令:AT+CIPSERVER=<mode>[,<port>]
說明:<mode>:0-關閉server模式,1-開啟server模式
<port>:端口號,缺省值為333
響應:OK
說明:(1) AT+ CIPMUX=1時才能開啟服務器;關閉server模式需要重啟
(2)開啟server后自動建立server監聽,當有client接入會自動按順序占用一個連接。
開啟server服務如下圖所示:

關閉server服務如下圖所示:

打開USR-TCP232-Test.exe,點擊Connect按鈕連接不上,可知server服務未開啟

重新開啟server服務(注意:之前需要再發送一遍AT+CIPMUX=1以重新開啟多連接模式)。
點擊Connect按鈕

連接成功后,串口收到模塊返回的數據串:Link
180S(默認值)后,連接自動斷開,返回Unlink,客戶端的相應按鈕變成灰色。
全過程如下圖:

(3) 設置服務器超時時間
發送命令AT+CIPSTO=2880 (設置指令)
指令:AT+CIPSTO=<time>
說明:<time>:服務器超時時間,0~2880,單位為s
響應:OK

(4) 建立客戶端
界面設置如下圖所示:

(5) 查看當前連接
發送命令AT+CIPSTATUS (執行指令)
指令:AT+CIPSTATUS
響應:STATUS:<stat>
+ CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>
OK
說明:<id>:連接的id號0-4
<type>:字符串參數,類型TCP或UDP
<addr>:字符串參數,IP地址
<port>:端口號
<tetype>: 0-本模塊做client的連接,1-本模塊做server的連接

(6) 向某個連接發送數據
發送命令AT+CIPSEND=0,10(設置指令) (通過上一條指令AT+CIPSTATUS得知ID=0)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSEND=<length>
2)多路連接時(+CIPMUX=1) ,指令為: AT+CIPSEND= <id>,<length>
響應:收到此命令后先換行返回”>”,然后開始接收串口數據
當數據長度滿length時發送數據。
如果未建立連接或連接被斷開,返回ERROR
如果數據發送成功,返回 SEND OK
說明:<id>:需要用于傳輸連接的id號
<length>:數字參數,表明發送數據的長度,最大長度為2048
發:
收: 
斷開客戶端后再發送一次,得到以下響應:

此時連接已建立,可以進行數據的雙向收發。
3. Client方法收發
(0) 關閉server服務 (如果沒有開啟server服務,可免除此步驟)
發送命令:AT+CIPSERVER=0(設置指令)
指令:AT+CIPSERVER=<mode>[,<port>]
說明:<mode>:0-關閉server模式,1-開啟server模式
<port>:端口號,缺省值為333
響應:OK
說明:(1) AT+ CIPMUX=1時才能開啟服務器;關閉server模式需要重啟
(2)開啟server后自動建立server監聽,當有client接入會自動按順序占用一個連接。
關閉server服務如下圖所示:

(1)創建服務器


點擊Listening,創建成功后,該按鈕變為:

(2) 開啟多連接模式
發送命令:AT+CIPMUX=1(設置指令)
指令:AT+CIPMUX=<mode>
說明:<mode>:0-單路連接模式,1-多路連接模式
響應:OK

(3) 建立TCP連接
發送命令AT+CIPSTART=2,"TCP","192.168.1.109",8080 (設置指令)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSTART= <type>,<addr>,<port>
2)多路連接時(+CIPMUX=1),指令為:AT+CIPSTART=<id>,<type>,<addr>,<port>
響應:如果格式正確且連接成功,返回 OK,否則返回 ERROR
如果連接已經存在,返回 ALREAY CONNECT
說明:<id>:0-4,連接的id號
<type>:字符串參數,表明連接類型,”TCP”-建立tcp連接,”UDP”-建立UDP連接
<addr>:字符串參數,遠程服務器IP地址
<port>:遠程服務器端口號
如下圖所示:

(4) 向服務器發送數據
發送命令AT+CIPSEND=2,10(設置指令) (通過上一條指令AT+CIPSTART設置為ID=2)
指令:1)單路連接時(+CIPMUX=0),指令為:AT+CIPSEND=<length>
2)多路連接時(+CIPMUX=1) ,指令為: AT+CIPSEND= <id>,<length>
響應:收到此命令后先換行返回”>”,然后開始接收串口數據
當數據長度滿length時發送數據。
如果未建立連接或連接被斷開,返回ERROR
如果數據發送成功,返回 SEND OK
說明:<id>:需要用于傳輸連接的id號
<length>:數字參數,表明發送數據的長度,最大長度為2048

此時連接已建立,可以進行數據的雙向收發。
完整的Word格式文檔51黑下載地址:
ESP8266入門調試指導(補全).doc
(621.12 KB, 下載次數: 85)
2018-11-13 00:26 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|