Arduino uno r3 使用 ESP8266 UART-WiFi 透傳模塊


一、所需硬件材料

1.ESP8266:01s某寶上3、5塊錢

2.杜邦線:某寶幾塊錢一組40P,這里只需要三根,用於連接 樹莓派與繼電器

  

3.燒錄器

二、ESP8266 AT固件燒錄

ESP8266主要有兩種固件,一種是AT固件(一般出廠自帶)實現UART-WiFi 透傳模塊,一種是IoT固件,即我們自己編寫通過IDE燒錄的固件,如果ESP8266中包含這種固件無法通過AT命令實現透傳,需要從新燒錄AT固件。

0,軟件准備:

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     //發送數據
+++     //注意退出透傳,直接發送。取消發送新行

五、參考

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM