ESP8266 AT指令入門調試及應用

ESP8266是一款低功耗,便於開發的WIFI模塊,據說其內嵌了32位處理器,並且有自己的操作系統和wi-fi協議棧。

ESP8266具有兩種開發方式,即基於協議棧給出的API接口進行開發和基於AT指令進行簡單開發。

對於新手而言,AT指令開發無疑是最佳選項。

這裏主要講解我使用8266時用到AT指令,詳細的指令解釋可以在網上或者在我博客的資源中下載。開發中用到的工具也可在我的資源中下載

實驗時最好使用USB轉串口模塊先對模塊進行調試,調試後確定沒問題再連接其他微控制器進行開發

本模塊可以工作在三種模式:1. STA(連接到外網,通過外網收發數據)  2 .AP(模塊作爲熱點,其他設備連接模塊的熱點後進行收發數據)  3 .AP+STA

在sscom42.exe中實驗過程:模塊初始波特率好像是115200,可以修改,記得勾選發送新行

首先上電,上電後,藍色燈微弱閃爍後熄滅,紅燈長亮。

在串口工具輸入:AT ,返回OK說明模塊啓動成功

輸入AT指令後一定要有回車作爲結束,否則模塊識別不出命令

一、AP模式

模塊作爲服務器

重啓模塊:AT+RST;響應:OK

設置模式:AT+CWMODE=2;響應:OK       

設置後可輸入AT+CWMODE?查詢是否設置成功,不成功就重啓模塊即可

配置熱點參數:AT+CWSAP="名字","密碼",1(通道號),3(加密方式:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK)響應:OK       

這時用手機打開WIFI就可以看到模塊的熱點,然後連接熱點

查看接入設備:AT+CWLIF;響應:<ip addr> OK,即返回接入模塊的設備的IP地址

如果沒有ip地址,說明目前無設備連入。如果無線網絡實際已連接上,請等待幾分鐘後再發送AT+CWLIF命令進行查詢。

查詢本機IP:AT+CIFSR;響應:本機IP OK

開啓多連接模式:AT+CIPMUX=1(0:單路連接;1:多路連接);響應:OK

開啓服務器模式:AT+CIPSERVER=1(0:關閉server模式,1:開啓server模式),8080(端口號,缺省值爲333);響應:OK

AT+ CIPMUX=1時才能開啓服務器;關閉server模式需要重啓。開啓server後自動建立server監聽,當有client接入會自動按順序佔用一個連接。

這時就可以用TCP調試助手連接模塊進行通信了(這裏IP地址和端口號選對就能正常通信,模式要選Server)

查看當前連接:AT+CIPSTATUS;響應:+ CIPSTATUS:<id>,<type>,<addr>,<port>,<tetype>  OK

<id>:連接的id號0-4

<type>:字符串參數,類型TCP或UDP

<addr>:字符串參數,IP地址

<port>:端口號

<tetype>: 0-本模塊做client的連接,1-本模塊做server的連接

發送數據:AT+CIPSEND=1(ID號,通過上一條指令AT+CIPSTATUS得知),6(數據長度,最大長度爲2048 )

1)單路連接時(+CIPMUX=0),指令爲:AT+CIPSEND=<length>

2)多路連接時(+CIPMUX=1) ,指令爲: AT+CIPSEND= <id>,<length>

響應:收到此命令後先換行返回”>”,然後開始接收串口數據

當數據長度滿length時發送數據。

如果未建立連接或連接被斷開,返回ERROR

如果數據發送成功,返回 SEND OK

此時連接已建立,可以進行數據的雙向收發。

二、STA模式

模塊作爲客戶端

首先要確保模塊不處於服務器模式:AT+CIPSERVER=0

重啓模塊:AT+RST;響應:OK

設置模式:AT+CWMODE=1;響應:OK   

查看當前無線路由器列表:AT+CWLAP;響應:返回可接入網絡列表  OK

+ CWLAP: <ecn>,<ssid>,<rssi>

錯誤返回:ERROR 此時請重新上電並嚴格按照AT命令再發送一遍。

說明:< ecn >:0-OPEN,1-WEP,2-WPA_PSK,3-WPA2_PSK,4-WPA_WPA2_PSK

          <ssid>:字符串參數,接入點名稱

          <rssi>:信號強度

加入當前無線網絡AT+CWJAP="ssid","密碼";響應:OK,錯誤:ERROR

加入網絡後可以檢測下是否加入成功:AT+CWJAP?,返回已加入的網絡的ssid,模塊對已加入的網絡具有記憶功能,即斷電重連後仍默認連接上次加入的網絡(這一點需要特別注意

連接模式:AT+CIPMUX=(這時0,1都可以)響應:OK

建立TCP連接:AT+CIPSTART=id,"連接方式TCP/UDP","IP地址",8080(端口號)響應:如果格式正確且連接成功,返回 OK,否則返回 ERROR

單路連接時(+CIPMUX=0),指令爲:AT+CIPSTART= <type>,<addr>,<port>

多路連接時(+CIPMUX=1),指令爲:AT+CIPSTART=<id>,<type>,<addr>,<port>

如果連接已經存在,返回 ALREAY CONNECT

<id>:0-4,連接的id號

<type>:字符串參數,表明連接類型,”TCP”-建立tcp連接,”UDP”-建立UDP連接

<addr>:字符串參數,遠程服務器IP地址

<port>:遠程服務器端口號

發數據(向建立TCP/UDP連接的主機發送數據):AT+CIPSEND,這條命令的詳情就不再敘述

 

 

 

 

 

 

 

 

 

 

 

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