1. 程式人生 > >2.WiFi模組ESP8266使用教程

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,對方埠