一、所需硬件材料
1.ESP8266:01s某寶上3、5塊錢
2.杜邦線:某寶幾塊錢一組40P,這里只需要三根,用於連接 樹莓派與繼電器
3.燒錄器
二、ESP8266 AT固件燒錄
ESP8266主要有兩種固件,一種是AT固件(一般出廠自帶)實現UART-WiFi 透傳模塊,一種是IoT固件,即我們自己編寫通過IDE燒錄的固件,如果ESP8266中包含這種固件無法通過AT命令實現透傳,需要從新燒錄AT固件。
0,軟件准備:
- Flash下載工具 flash_download_tools, 樂鑫官網下載地址 https://www.espressif.com/zh-hans/support/download/other-tools
- ESP8266 AT固件, 樂鑫官網下載地址 https://www.espressif.com/zh-hans/support/download/at
我選的是 ESP8266 NonOS AT Bin V1.7.4
1,連接燒錄器:
如果是ESP01s 直接插入燒錄器,然后插入電腦usb接口;如果是12E/F按陣腳對應接線,注意GPIO0、REST必須接,模塊CH_PC接燒錄器EN(網上說需要接10k電阻,我沒接)
2,軟件燒錄
- 在出現的窗口中, 選擇SPIDownload標簽頁(默認是這一頁)
- 在固件選擇欄中, 勾選需要寫入的行, 文件和地址分別為
- boot_v1.7.bin 0x00000
- user1.1024.new.2.bin 0x01000
- esp_init_data_default_v08.bin 0xfc000
- blank.bin 0x7e000
- blank.bin 0xfe000
- 檢查下面的參數配置: CrystalFreq 26M, SPI SPEED是40MHz, SPI MODE是DIO, FLASH SIZE是8Mbit
- 界面右下方, 選擇正確的COM口, 波特率使用默認的115200
- 點擊START
三、連接到Arduino uno 到ESP8266
1,連線圖
2、代碼
const int tx = 1;
const int rx = 0;
void setup() {
pinMode(rx,INPUT_PULLUP);
pinMode(tx,INPUT_PULLUP);
}
void loop() {
}
以上連接的Arduino上的0和1是硬串口,也可使用軟串口比如設置arduino上的8號口為rx,9號口為tx。就需要把ESP8266 的rx連接到Arduino的9號口上,模塊的tx連接Arduino的8號口上,代碼如下:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(8, 9); // RX, TX
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
delay(1000);
Serial.println("Goodnight moon2");
mySerial.println("AT+GMR");
}
void loop() {
while (mySerial.available()) {
Serial.write(mySerial.read());
}
}
3、調試,打開串口工具
4,使用AT命令透傳
AT+GMR 查看版本信息 //查詢固件版本信息
四、AT 常用命令
AT+RST //重啟模塊
AT+GMR //查看版本信息
AT+CIOBAUD=9600 //修改波特率
AT+CWMODE? //查詢工作模式 1.Station (客戶端模式)2.AP (接入點模式)3.Station+AP (兩種模式共存)
AT+CWMODE=1 //設置模組為STA模式。
AT+CWLAP //查詢附近 WIFI
AT+CWJAP="wifi名稱","wifi密碼" //連接路由器的 WIFI
AT+CIFSR //查看路由器分配給模組的IP地址,例如 192.168.43.103
AT+CIPMUX=0 //設置單連接
AT+CIPMODE=1 //設置透傳模式
AT+CIPSTART="TCP","192.168.43.104",8899 //建立的TCP服務器
AT+CIPSEND //開始發送數據
> //進入發送模式
abc //發送數據
+++ //注意退出透傳,直接發送。取消發送新行
五、參考
- ESP8266WiFi模塊AT指令入門指南:https://blog.csdn.net/lsalp/article/details/80592533
- esp8266透傳簡單使用:https://blog.csdn.net/lailaiquququ11/article/details/82987184
- ESP8266 WIFI模塊AT指令匯總:https://blog.csdn.net/lalala098/article/details/81240806
- 關於ESP8266的透傳模式測試(一)——TCP Client透傳模式:https://blog.csdn.net/Xiaomo_haa/article/details/108514149