Arduino uno与ESP8266 wifi 连接模块开发流程实现物联网



以下内容主要是Arduino uno与ESP8266 wifi 连接的相关教程,希望可以给各位创客带来帮助,花了很长时间才把ESP8266配置好。把我的经验分享出来,供大家参考使用实现物联网。

一.模块连接

esp8266
ESP8266 模块长这个样子
ESP8266引脚说明
ESP8266引脚说明
  • TX:串口写
  • GND:接地
  • CH_PD:高电平为可用,低电平为关机
  • GPIO2:可悬空
  • RST:重置,可悬空
  • GPIO0:上拉为工作模式,下拉为下载模式,可悬空
  • VCC:3.3V(切不可接5V,烧片)
  • RX:串口读
ESP8266 Arduino Uno
TX 1(TX1)
GND GND
CH_PD 串联10KΩ电阻连接3.3v
GPIO2 -
RST -
GPIO0 -
VCC 3.3V
RX 0 (RX0)

8个口接5个就可以。

可以参考这篇文章,说的很详细esp8266-wifi模块-使用实录-一-连接路由器

其中有几点要注意

  • ardunio 的串口分为硬串口软串口,我们第一步连接的01是硬串口。后面会说如何用软串口。
  • CH_PD需要串联一个10kΩ的电阻后,再连接3.3v的电源
  • 下面是测试ESP8266是否连接正确的代码,要注意千万别加Serial.begin(9600)这行代码,否者ready消息是不会显示的。

const int tx = 1;
const int rx = 0;
void setup() {
  //Serial.begin(9600); 注意!!千万别加这行代码
  pinMode(rx,INPUT_PULLUP);
  pinMode(tx,INPUT_PULLUP); 

}

void loop() {

}
连接vcc后,如果接线正确会在消息窗里显示ready消息
连接vcc后,如果接线正确会在消息窗里显示ready消息

每个版本的ESP8266波特率不同,一般是115200,你可以多测试几次。

可以在串口监视器里使用AT命令测试模块
可以在串口监视器里使用AT命令测试模块

ESP8266 的 AT 命令可以在网上查,比如下面的这几个


AT+RST 重启模块
AT+GMR 查看版本信息
AT+CIOBAUD=9600 修改波特率
T+CWMODE? //查询工作模式 1.Station (客户端模式)2.AP (接入点模式)3.Station+AP (两种模式共存)

比如输入了AT+CIOBAUD=9600以后,串口监视器就要选择9600波特率才能看到模块的信息了。

二.使用软串口通讯

先按照刚才的步骤,把ESP8266 的波特率改为9600。之前我们连接的Arduino上的01是硬串口,我看网上的教程都要用软串口才能通讯,所以需要修改一下。

注意,使用软串口连接导线时,模块的rx连接Arduinotx,模块的tx连接Arduinorx

比如下面的代码,设置arduino上的8号口为rx9号口为tx。就需要把ESP8266rx连接到Arduino9号口上,模块的tx连接Arduino8号口上。

#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());
  }
}

使用上面的测试代码,就可以和模块通讯了
使用上面的测试代码,就可以和模块通讯了

作者:奔跑在春风里
链接:https://www.jianshu.com/p/cde9f7072eab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。