ESP8266模塊介紹
測試正點原子的ESP8266
ESP8266的工作模式
1、Station模式: client終端(像手機電腦)
2、AP模式:相當於路由器
3、AP+Station模式
配置
我們接下來使用Station模式, 它當做wifi模塊來使用,默認波特率115200, 使用ttl轉串口工具,在電腦端配置。
- 查看當前模式
輸入(CR,LF line end)
AT+CWMODE?
輸出(1代表Station模式)
+CWMODE:1
OK
- 查看周邊wifi信號列表
輸入
AT+CWLAP
輸出
+CWLAP:(4,"WiFi-BC",-70,"b0:d5:9d:ad:c5:bc",1,-59,0,4,4,7,0)
+CWLAP:(4,"ChinaNet-bHTU",-62,"f0:92:b4:76:c8:c9",6,-39,0,5,3,7,0)
+CWLAP:(4,"ChinaNet-4vYJ",-88,"f0:92:b4:77:81:c9",1,-34,0,5,3,7,0)
+CWLAP:(4,"ChinaNet-buUV",-90,"f0:92:b4:76:35:f9",1,-29,0,5,3,7,0)
+CWLAP:(4,"ChinaNet-EDpt",-91,"d4:67:e7:22:1d:e9",1,-49,0,4,4,7,1)
+CWLAP:(4,"ChinaNet-GUmX",-78,"c4:04:7b:df:7f:68",13,-29,0,5,3,7,1)
OK
- 設置wifi和密碼
輸入
AT+CWJAP="ChinaNet-bHTU","abc321"
輸出
WIFI CONNECTED
WIFI GOT IP
OK
- 查詢ip
輸入
AT+CIFSR
輸出
+CIFSR:STAIP,"192.168.31.224"
+CIFSR:STAMAC,"bc:dd:c2:2c:cf:b5"
OK
- 設置固定ip
輸入
AT+CIPSTA_CUR=”192.168.6.100”,"192.168.6.1","255.255.255.0"
輸出
OK
- 在電腦上用網絡調試助手,創建一個TCP SERVER, 假設IP和端口爲:
192.168.31.224:6000
- 模塊連接到server
輸入
AT+CIPSTART="TCP","192.168.21.224",60000
輸出
CONNECT
OK
- 開啓透傳模式
AT+CIPMODE=1
- 開始透傳
AT+CIPSEND
, 現在就可以相互發數據了 - 退出透傳: 在透傳模式下, 單獨發一個數據’+++’, 注意:不要發回車換行, 則退出透傳模式。
- 如果需要模塊上電就自動連接到某個IP並進入透傳模式, 客戶端需要在連接wifi熱點後,發送
AT+SAVETRANSLINK=1,"192.168.31.224",60000,"TCP"
然後斷電再上電,自動進入透傳模式。
注意:此時發AT指令,模式不會響應,需要先通過"+++"退出透傳模式後,纔可以發送AT指令,發送AT+SAVETRANSLINK=0
, 後續上電後不會進入透傳模式。
在arduino下使用
下載庫文件
下載 https://github.com/ekstrand/ESP8266wifi ,放到arduino的庫文件目錄下
連線
電源 地線 模塊的RX連arduino的11號pin TX連接10號
示例程序
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
Serial.begin(115200);
while (!Serial) {
}
Serial.println("Goodnight moon!");
mySerial.begin(115200);
mySerial.println("Hello, world?");
}
void loop()
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}