2.WiFi模組ESP8266使用教程
總器件:Esp8266模組,USB轉TTL模組,同時電腦上要有”網路除錯助手”和”串列埠助手”
一般而言,當我們用USB轉TTL模組與Esp8266連線之後,波特率預設為115200
當我們用這個模組箱Esp8266傳送資料的時候,串列埠助手記得勾選”傳送新行”
當我們上電之後Esp8266 我們串列埠助手一直接受到亂碼,可能是電壓過低,可以考慮將3.3V換成5V
我們直接利用AT指令與Esp8266模組通訊,下面介紹幾種模式,通過測試可以用!
上電之後,我們通過串列埠助手傳送AT+RST,返回的資料最後一行是不是OK,是的話就可以可以正常使用
一、TCP傳輸 Esp8266和你的裝置通訊(我這裡用電腦測試),必須連線在同一WiFi下,同時,要指明Esp8266模組是Client(客戶端)還是Service(伺服器)
1.Esp8266 做TCP Client
這裡的效果:在電腦和Esp8266模組在連線到同一個WiFi下,電腦通過網路的除錯助手傳送資料,然後我們的串列埠傳送資料,電腦的除錯助手接受資料
①設定WiFi模式
AT+CWMODE=3
反應:OK
②連線到一個WiFi
AT+CWJAP="SSID","password" //這裡的SSID就是WiFi名稱,password就是WiFi密碼
反應:OK
③這裡查詢Esp8266的IP地址和MAC地址
AT+CIFSR
反應:對應的IP,和MAC地址
在電腦上同樣連線到這個WiFi,開啟網路助手,注意這裡記得先查詢直接電腦的IP地址
協議型別:TCP Server
本機IP地址:(自己查詢自己的IP)
埠號:理論上0~65535都可以設定,這裡用預設的8080就可以
④Esp8266連線這個TCP Service
AT+CIPSTART="TCP","(對應的TCP Service地址)",(對應埠)
示例:我這裡是 AT+CIPSTART="TCP","192.168.43.113",8080
反應:OK
現在電腦通過網路除錯助手就可以直接傳送資料,然後電腦上的串列埠助手就可以接收到相應的資料
⑤Esp8266傳送資料:
AT+CIPSEND=(要傳送的位元組長度)
示例:AT+CIPSEND=4
響應:SEND OK
2.Esp8266做可多連線的TCP Service
①AT+CWMODE=3
反應:OK
②使能可以被多連線
AT+CIPMUX=1
反應:OK
③連線到一個WiFi
AT+CWJAP="SSID","password"
④建立TCP Service
AT+CIPSERVER=1 //預設的埠333
反應:OK
我們可以將電腦的網路除錯助手換成TCP Client模式,IP地址就是Esp8266的IP地址
埠號我麼沒有設定,預設333
然後我們可以直接利用網路除錯助手傳送資料,串列埠可以接收到
⑤Esp8266傳送資料
AT+CIPSEND=0,4 //每個連線進來的TCPClient都會有一個ID,預設從0開始增加
//第一個引數指明第幾個Client(客戶端),第二個引數指明發送幾個位元組,這個用的4
//然後就可以傳送資料了
反應:SEND OK
二、UDP傳輸,此時Esp8266不分Server和Client
①.設定WiFi模式
AT+CWMODE=3
反應:OK
②.連線到一個WiFi
AT+CWJAP="SSID","password"
③.使能多連線
AT+CIPMUX=1
反應:OK
//由於沒有客戶端和伺服器,我們可以設定是否通訊的一端可變,就是設定遠端是否可變,在不可變的情況下我們分配給連線的另一端一個ID,可變的情況下當有多個連線時就會發送到最近一個連線的裝置
//**遠端固定,”AT+CIPSTART”最後引數為0
例項:
④遠端固定
AT+CIPSTART=4,"UDP","192.168.43.113",333,8080,0
這裡的4表示給對方的ID,192.168.43.113對方IP
333表示對方的埠
8080設定自己的埠(隨意設定0~65535)
0表示遠端固定
⑤傳送資料
AT+SEND=4,5 //給定4表示對方的ID,5表示自己的長度
//**遠端可變,”AT+CIPSTART”最後引數為2
⑥遠端可變
AT+CIPSTART="UDP","192.168.43.113",333,8080,0,然後就可以傳送資料了
⑦需要傳送給指定的UDP地址時
AT+CIPSEND=6,"192.168.43.111",333
位元組長度,對方IP,對方埠