ESP8266之間通信


  • 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 IP

OK

此時在服務器端會響應如下內容:

+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里面下載:傳送門


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM