Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块

一、所需硬件材料
1.ESP8266:01s某宝上3、5块钱
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

2.杜邦线:某宝几块钱一组40P,这里只需要三根,用于连接 树莓派与继电器
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

【Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块】3.烧录器
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

二、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、GPIO2必须接,模块CH_PC接烧录器EN(网上说需要接10k电阻,我没接)
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

2,软件烧录
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

  • 在出现的窗口中, 选择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,连线图
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片


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 mySerial(8, 9); // RX, TX void setup() { Serial.begin(9600); mySerial.begin(9600); delay(1000); Serial.println("Goodnightmoon2"); mySerial.println("AT+GMR"); } void loop() { while (mySerial.available()) { Serial.write(mySerial.read()); } }

3、调试,打开串口工具
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

4,使用AT命令透传
Arduino|Arduino uno r3 使用 ESP8266 UART-WiFi 透传模块
文章图片

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发送数据
+++注意退出透传,直接发送。取消发送新行

    推荐阅读