ArduinoUNO连接ESP8266

折腾了两个小时,网上信息很杂,在这里记录正确的方法,如有问题欢迎通过首页的联系方式来交流。

分为以下四部分:
1:接线
2:测试程序
3:AT指令验证
4:使用软串口

接线
需要各种线+10k电阻*1
ESP8266的3V3/VCC 接到 3.3V
ESP8266的EN            串联一个10k电阻  接到3.3V
ESP8266的RX            接到 Arduino的RX0
ESP8266的TX            接到 Arduino的TX1
ESP8266的GND       接地

测试程序
const int tx = 1;
const int rx = 0;
void setup() {
  pinMode(rx,INPUT_PULLUP);
  pinMode(tx,INPUT_PULLUP);
}
void loop() {
}

AT指令验证
将Serial Monitor调整为Both NL&CR,115200 baud
输入AT,ESP8266蓝色灯光闪烁,返回OK
输入AT+GMR,返回版本等信息
如下:

至此,可以验证连接成功。
一些其他常用的AT命令:
AT+RST 重置wifi模块
AT+CWLAP 扫AP
AT+CWJAP=”SSID”,”PASSWORD” 连接到AP
AT+CWJAP=””,”” 与所有访问点断开连接
AT+CIFSR 显示获得的IP和MAC
AT+UART=9600,8,1,0,0 修改波特率等
AT+CWMODE= 设置工作模式,可有Station\AP\Station+AP三种

使用软串口
修改ESP8266的波特率为9600
假设将2,3分别作为RX,TX
则将ESP8266的RX与3(Arduino的TX)相连,反之亦如此
代码:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(2, 3);
void setup() {
  Serial.begin(9600);
  mySerial.begin(9600);
  mySerial.println("AT+GMR");
}
void loop() {
  while(mySerial.available()) {
    Serial.write(mySerial.read());
  }
}

之后打开Serial Monitor即可看到AT+GMR的执行结果了,但是不能实时发命令,如下图:

先到这里吧,实时发送命令等会再解决,休息会儿,头有点晕。。。

如果您有问题请务必与我交流,联系方式在首页,感谢感谢!