術語與縮寫
WiFi
Wireless FidelityUART
Universal Asynchronous Receiver & Transmitter
P2P
Point to Point
TCP
Transmission Control ProtocolIP
Internet ProtocolWPA
WiFi Protected AccessWPS
WiFi Protected Setup
ESP8266/ESP-01 簡介
ESP8266 是低功耗的 UART-WiFi 透傳模組,特色是體積小而且低功耗,適用移動裝置或物聯網的設計,可將嵌入式的裝置連到 WiFi 無線網路,進行 Internet 或 LAN 通訊,實現聯網功能。
Features 特色
支援無線 802.11 b/g/n 標準
支援 STA/AP/STA+AP 三種工作型態
內建 TCP/IP stack,支援多路 TCP Client 連線
支援 Socket AT 指令
支援 UART/GPIO
3.3V 單電源供應
主要功能
ESP8266可以實現的主要功能包括:串列埠透傳,PWM 調控,GPIO控制。串列埠透傳:資料傳送,傳送的可靠性好,最大的傳送速率為:460800bps。
PWM 調控:燈光調節,三色LED 調節,電機調速等。
GPIO控制:控制開關,繼電器等。
工作型態
電腦用 COM port 與 ESP8266 模組連接,透過 UART 兩者之間通訊。由電腦端可以發送 AT command 進行設定。ESP8266 預設的 baudrate 為 9600,8,n,1。
ESP8266模組支援 STA/AP/STA+AP 三種工作型態。
STA 型態:ESP8266模組通過路線器連線互聯網,手機或電腦通過互聯網實現對裝置的遠端控制。
AP 型態:ESP8266模組作為熱點,實現手機或電腦直接與模組通訊,實現區域網路無線控制。
STA+AP 型態:兩種型態的共存型態,即可以通過互聯網控制可實現無縫切換,方便作業。
測試方法
電腦和手機端要當作伺服器端(SERVER),讓模組作為客戶端(CLIENT)發送請求連線與進入通訊埠(PORT),需要下載 TCP 的除錯軟體。也要將模組切換 STA/AP,以做 server/client 之間的切換。
Fig.1 系統架構圖
1. ESP8266 模組當作 Server ,PC 當作 Client:
將模組用 AT command 設定為 AP 型態,用PC連上 ESP8266 模組的 WiFi ,並在 PC 端開啟 TCP 測試的應用程式,連接ESP8266的 IP 位址和通訊埠。
2. PC 當 Server,ESP8266 當 Client:
在 PC 端開啟 WIFI熱點,讓模組可以連入。在電腦端使用 TCP/IP server 的應用程式建立 Server,等待模組連線至電腦的熱點,連上WIFI熱點並取得 IP後,模組使用 CIPSEND的指令進入傳透模式,將被傳送的資料寫入模組的 UART port 即開始傳送資料,可以在這裡建立使用者互相通訊的模式。
3.手機端當作 server ,ESP8266 當 Client:
與第二點相同,用手機開啟 TCP的應用程式,等待模組的連入並建立連線。
透傳型態測試
大致上模組進行連線通訊的流程
供電並致能以後,執行 AT 指令
AT+CWMODE=3
AT+RST
AT+CIPMODE=1 //設定透傳型態
// 模式可以設定後,連上AP點的網路,開啟TCP連線
AT+CWLAP //列出目前可用的AP點
AT+CWJAP=“SSID”,”PWD” //加入指定的 AP
/* 連上WIFI,有網路以後就可以做為 Client 連上 TCP Server,相反的模組也可以自己當 server */
AT+CIFSR //抓取IP位址,檢查是否連接到 IP
AT+CIPSTART=“TYPE”,”ADDR”,”PORT”
//建立TCP/UDP連線,指定 Server 的 IP 位址,和通訊埠
AT+CIPSTATUS
AT+CIPSEND //開始傳送,CIPMODE=1並且作為用戶端,進入透傳型態
AT+CIPSEND=<LENGTH> //LENGTH 決定要傳送的 Bytes 數
建立 TCP SERVER
AT+CIPMUX=1
AT+CIPSERVER=1
只要兩行指令就將伺服器建立起來了,這時候會不知道 SERVER 的 IP 位址是多少,可以再用 CIFSR 來看,預設的通訊埠為 333。
所以在將 server 建立之前先設定 STA使用的 IP位址,在 server 建立的同時設定通訊埠。
AT+CIPSTA_CUR="192.168.94.87"
AT+CIPMUX=1
AT+CIPSERVER=1,9487
AT+CIFSR //查看 IP 及 STAIP,MAC
AT+CIPSTA_CUR? //查看 STAIP, Gateway