- ESP8266共有3種模式:STA、AP、STA+AP
- STA:ESP8266設備作客戶端
- AP:ESP8266設備作服務器
- STA+AP:混合模式
服務器端ESP8266配置流程
1、配置AP模式
查詢指令:
AT+CWMODE?
功能:查詢 ESP8266 當前 Wi-Fi 模
響應:+CWMODE:<mode>
OK
設置指令:
- AT+CWMODE=<mode>
- 功能:設置 ESP8266 當前 Wi-Fi 模 式。
- 響應:OK
指令:
AT+CWMODE=2 //1:STA模式 2:AP模式 3:STA+AP模式
響應:
OK
2、復位
指令:
AT+RST
響應:
OK
.
.
ready //最后一行
3、配置AP系數
設置指令:
- AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>[,
][,<ssid hidden>] - 響應:OK 或 ERROR
參數說明:
<ssid>:字符串串參數 接入點名稱 <pwd>:字符串串參數 密碼⻓長度范圍: 8 ~ 64 字節 ASCII <ch>:通道號 <ecn>:加密⽅方式,不不⽀支持 WEP 0:OPEN、2:WPA_PSK、 3: WPA2_PSK 、 4:WPA_WPA2_PSK [<max conn>](選填參數):允許連⼊入 ESP8266 SoftAP 的最多 Station 數⽬目,取值范圍 [1, 8]。 [<ssid hidden>](選填參數):默認為 0,開啟 廣播 ESP8266 SoftAP SSID。 0:廣播 SSID 1:不廣播 SSID
指令:
AT+CWSAP="hao","h123456.",5,3
響應:
OK
4、設置多連接
查詢指令說明:
- AT+CIPMUX?
- 響應:+CIPMUX:<mode>
設置指令說明:
AT+CIPMUX=<mode>
<mode>:
0:單連接模式
1:多連接模式
響應:OK
指令:
AT+CIPMUX=1 //0:單連接模式、1:多連接模式
響應:
OK
5、設置 AP 的 IP 地址
指令:
AT+CIPAP="192.168.0.43"
響應:
OK
6、建立TCP服務器
多連接情況下,才能開啟 TCP 服務器,創建 TCP 服務器后,自動建立 TCP 服務器監聽,當有TCP客戶端接入,會自動占用一個連接ID
設置指令說明:
AT+CIPSERVER=<Mode>,<Port>
Mode:
0:關閉服務器
1:建立服務器
Port:端⼝口號,默認為 333
指令:
AT+CIPSERVER=1,8080
響應:
OK
7、查詢IP地址
指令:
AT+CIFSR
響應:
+CIFSR:APIP,"192.168.0.43"
+CIFSR:APMAC,"86:cc:a8:a0:02:e6"OK
這個IP地址一會會用到
8、設置TCP服務器超時時間
查詢指令說明:
- AT+CIPSTO?
- 功能:查詢 TCP 服務器器超時時間
設置指令說明:
- AT+CIPSTO=<time>
- 功能:設置 TCP 服務器超時時間。
- <time>: TCP 服務器超時時間,取值范圍 0 ~ 7200s,默認永不超時
- ESP8266 作為 TCP 服務器,會斷開一直不通信直至超時了的 TCP 客戶端連接
指令:
AT+CIPSTO=1800
響應:
OK
至此ESP8266服務器端配置完成
客戶端端ESP8266配置流程
1、配置STA模式
查詢指令:
AT+CWMODE?
功能:查詢 ESP8266 當前 Wi-Fi 模
響應:+CWMODE:<mode>
OK
設置指令:
- AT+CWMODE=<mode>
- 功能:設置 ESP8266 當前 Wi-Fi 模 式。
- 響應:OK
指令:
AT+CWMODE=1 //1:STA模式 2:AP模式 3:STA+AP模式
響應:
OK
2、復位
指令:
AT+RST
響應:
OK
.
.
ready //最后一行
3、連接AP
查詢指令:
- AT+CWJAP?
- 功能:查詢 ESP8266 Station 已連接的 AP 信息
- 響應:+CWJAP:<ssid>,<bssid>,<channel>,<rssi>
- OK
設置指令:
- AT+CWJAP=<ssid>,<pwd>[,<bssid>]
- 功能:設置 ESP8266 Station 需連接的 AP。
- 參數:<ssi>:⽬目標 AP 的 SSID
- <pwd>:密碼最⻓長 64 字節 ASCII
- [<bssid>]:目標 AP 的 MAC 地址,一般用於有多 個 SSID 相同的 AP 的情況
- 響應:OK
指令:
AT+CWJAP="hao","h123456."
響應:
WIFI CONNECTED
WIFI GOT IPOK
此時在服務器端會響應如下內容:
+STA_CONNECTED:"84:cc:a8:a0:02:e6"
+DIST_STA_IP:"84:cc:a8:a0:02:e6","192.168.4.2"
4、查詢IP地址
指令:
AT+CIFSR
響應:
+CIFSR:STAIP,"192.168.4.2"
+CIFSR:STAMAC,"84:cc:a8:a0:02:e6"OK
響應的內容和上一步服務器端響應的IP相同
5、設置單連接
查詢指令說明:
- AT+CIPMUX?
- 響應:+CIPMUX:<mode>
設置指令說明:
AT+CIPMUX=<mode>
<mode>:
0:單連接模式
1:多連接模式
響應:OK
指令:
AT+CIPMUX=0 //0:單連接模式、1:多連接模式
響應:
OK
6、建⽴立 TCP 連接
設置指令:
- AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>]
- 參數說明:<type>:字符串串參數,連接類型, "TCP","UDP"或"SSL"
- <remote IP>:字符串串參數,遠端 IP 地址
- <remote port>:遠端端⼝口號
- [<TCP keep alive>]: TCP keep-alive 偵測時間,默認關閉此功能
- 0:關閉 TCP keep-alive 功能
- 1~7200:偵測時間,單位為 1s
- 響應:OK 或 ERROR
- 如果連接已經存在,則返回 ALREADY CONNECTED
指令:
AT+CIPSTART=”TCP","192.168.0.43",8080 //IP為服務器的,端口也是
響應:
CONNECT
OK
此時在服務器端會響應如下內容:
0,CONNECT
7、設置傳輸模式
- 查詢指令:
- AT+CIPMODE?
- 功能:查詢傳輸模式
- 響應:+CIPMODE:<mode>
- OK
- 設置指令:
- AT+CIPMODE=<mode>
- 功能:設置傳輸模式
- 響應:OK
- 參數說明:
- <mode>:
- 0:普通傳輸模式
- 1:透傳模式,僅⽀支持 TCP 單連接和 UDP 固定通信對端的情況
指令:
AT+CIPMODE=1
響應:
OK
8、發送數據
在透傳模式時,開始發送數據
指令:
AT+CIPSEND
響應:
OK
>
此時就可以客戶端向服務器發送數據了
9、退出發送數據
當輸入單獨一包 +++ 時,返回普通 AT 指令模式
10、關閉 TCP傳輸
指令:
AT+CIPCLOSE
響應:
OK
以上過程就是兩個ESP8266之間通信的配置流程
SAT、AP配置工程代碼可以從我的GitHub里面下載:傳送門