我爱编程

Arduino uno r3 使用 ESP8266 wifi 模

2018-05-16  本文已影响0人  奔跑在春风里

我是搞软件开发的,刚开始玩硬件,完全是小白,好多知识都不懂。花了很长时间才把ESP8266配置好。把我的经验分享出来,供新手参考。

一.模块连接

ESP8266 模块长这个样子 引脚说明
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模块-使用实录-一-连接路由器

其中有几点要注意

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消息

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

可以在串口监视器里使用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());
  }
}

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

相关文章链接
Arduino和ESP8266通信问题,如何获取AT指令返回数据?
ESP8266在arduino中编程问题
用Arduino使用esp8266的Wi-Fi TCP透传和POST请求
基于arduino ide for esp8266 实现tcp client
Arduino-串口函数Serial
Javascript 控制 arduino
如何在arduino中添加多个自定义类文件
arduino的String类
arduino 数组(Array)和字符串(string)学习
逗号分隔文本到数组的两种方法
arduino字符串函数
Arduino 字符串处理
Arduino软串口调试
Arduino esp8266 wifi模块发送http请求

ESP8266通讯使用的AT指令

上一篇 下一篇

猜你喜欢

热点阅读