ESP8266有三種模式可以選擇,AP/STA/AP+STA,下面我們要實現的是模塊與模塊之間點對點的通信。
通信的三個過程
1. 建立WiFi連接
a. 首先一個模塊配置為AP模式,開啟WiFi熱點,(可以設置WiFi名稱、密碼和加密方式)
b. 然后另一個模塊配置為STA模式,連接到上面的熱點(要是手機、帶有無線網卡的電腦直接連接到上面的熱點)
2. 建立TCP Server與TCP Client的連接
a.首先AP模式的那個模塊配置為TCP Server(可以設置IP和端口,默認IP是192.168.4.1)
b.然后STA模塊配置為TCP Client(建立WiFi連接之后會被自動分配一個IP和端口 默認IP是192.168.4.2)
要是手機或者PC端,使用網絡調試助手,選擇TCP Client
c. 建立連接,TCP Client 連接到 TCP Server,(TCP Client連接到服務器的IP)
3. 進行數據傳輸
. 數據數據傳輸有透傳模式和非透傳模式
a. 建立透傳模式 TCP Client 發什么,TCP Server就收到什么,而且不退出透傳這種連接就不會中斷
b. 建立非透傳模式 首先TCP Client約定好發送的字節,再發送出去,而且隔一段時間不發送,第2步建立的連接就中斷了,要再次傳輸數據就要重新進行 Step2.c和Step3
建立通信的調試指令
a. AP模塊部分的
//模塊AP熱點 TCP Server
AT+CWMODE=2 ;//開啟 AP 模式
AT+RST ;// 復位模式才能生效
AT+CWSAP="ESP8266","TJUT2017",5,4 ;// 設置模塊的 wifi 和密碼
AT+CIPMUX=1 ;//打開多連接
AT+CIPSERVER=1,8686 ;//設置模塊服務器端口
//注意 每次 AP 重啟都能 可以自動開啟熱點
//但要從新配置服務器端口 就是要重新建立服務器 Step2.a
//AT+CIPSERVER=1,8686 不然無法建立連接的
b.STA模塊部分的
//模塊STA模式 TCP Client
AT+CWMODE=1 //開啟 STA 模式
AT+RSTAT+CWLAP //查詢當前可搜索的熱點,看是否有這個
AT+CWJAP=”ESP8266”,”TJUT2017” //連接熱點的 wifi 和密碼
AT+CIPMUX=0 //打開單連接
//AT+CIPMODE=1
AT+CIPSTART="TCP","192.168.4.1",8686 //建立TCP連接
//透傳模式
AT+SAVETRANSLINK=1,"192.168.4.1",8686,"TCP" //這個指令可以保存遠端的IP和端口
//從而開機自動連接
AP+CIPSEND //之后就可以透傳了
+++ //(取消發送新行,退出透傳)
//非透傳模式
AP+CIPSEND //之后就可以透傳了
AP+CIPSEND=0,10 //約定往哪個id發,發多少字節
使用小?貼士
使用串口發送數據 波特率要匹配[默認115200] 當然也可以用AT指令自己修改
使用串口發送數據 要在結尾發送新行,(只有退出透傳的+++要取消發送新行)
在P2P的透傳模式下TCP Sever與TCP Client是不會斷開連接的
非透傳模式下,如果一定時間沒有數據傳輸,系統會自動斷開連接的,需從新建立TCP連接
要是不確定模塊工作在什么模式 首先可以使用一些查詢指令,不行可以RST/RESTORE ,或者關閉串口,拔下模塊,重新連接試試
要注意模塊的電壓和接線
審核編輯:湯梓紅
-
模塊
+關注
關注
7文章
2719瀏覽量
47561 -
通信
+關注
關注
18文章
6042瀏覽量
136138 -
TCP
+關注
關注
8文章
1371瀏覽量
79142
發布評論請先 登錄
相關推薦
評論