极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 24693|回复: 9

ESP8266测试(UNO 和 mega2560)

[复制链接]
发表于 2015-7-26 21:54:49 | 显示全部楼层 |阅读模式
本帖最后由 hardstudy12345 于 2015-7-26 21:59 编辑

经过好几次的失败,在论坛里潜水好久再加上大家的提示,终于把ESP8266测试成功了,分享给大家。
首先是模块,我用的是这个样子的

在UNO上测试了很久都没成功,后来才发现这个模块波特率是115200。由于UNO只有一个串口与电脑通信,所以8266只能用软串口,但是软串口的波特率达不到115200,只能到19200,所以一直测试不成功。
换用mega2560后,还是没有响应,后来才知道要在CH_PD和VCC之间加一个电阻,才能有响应。另外,这个模块的AT指令和ocrobot的ESP8266有些不一样,大家要注意!
模块引脚如下和接线图如下(用MEGA2560的3号串口):


电阻我试过5k和10k的都行。
附上一些简单的程序,测试一下(不需要库,免得在库上又出问题),首先重启:
char data;
void setup()
{
  Serial.begin(9600);
  Serial3.begin(115200);
  Serial3.println("AT+RST");
}

void loop()
{
  if (Serial3.available())
  {
    data=Serial3.read();
    Serial.print(data);
  }
}

然后要查看工作模式,如果是AP模式,则不能显示可用AP列表:
char data;
void setup()
{
  Serial.begin(9600);
  Serial3.begin(115200);
  Serial3.println("AT+CWMODE?");
}

void loop()
{
  if (Serial3.available())
  {
    data=Serial3.read();
    Serial.print(data);
  }
}

显示可用AP列表:
char data;
void setup()
{
  Serial.begin(9600);
  Serial3.begin(115200);
  Serial3.println("AT+CWLAP");
}

void loop()
{
  if (Serial3.available())
  {
    data=Serial3.read();
    Serial.print(data);
  }
}

剩下的AT指令,例如连接无线路由器,大家慢慢研究吧。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2015-7-26 22:28:00 | 显示全部楼层
软串也可以  只要你把8266波特率改下来
并且数据量不大
回复 支持 反对

使用道具 举报

发表于 2015-7-27 08:40:06 | 显示全部楼层
用UNO,CH_PD和VCC之间不加电阻也可以。不过要改一下波特率,才能用软串口。
回复 支持 反对

使用道具 举报

发表于 2015-7-28 22:41:10 | 显示全部楼层
你的esp8266好像跟我的一样。。。。楼主可以用AT指令去修改波特率啊,我已经改成9600了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-29 12:01:07 | 显示全部楼层
谢谢各位的建议!我找了下AT指令表,好像没有发现修改波特率的AT指令。请问大家修改波特率的AT指令是什么,修改完后是不是需要重启一下?
回复 支持 反对

使用道具 举报

发表于 2015-7-29 15:27:53 | 显示全部楼层
你试试这个 AT+CIOBAUD=9600
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-29 16:25:06 | 显示全部楼层
Timmm 发表于 2015-7-29 15:27
你试试这个 AT+CIOBAUD=9600

好像不行,返回ERROR
回复 支持 反对

使用道具 举报

发表于 2015-7-29 20:30:08 | 显示全部楼层
hardstudy12345 发表于 2015-7-29 16:25
好像不行,返回ERROR

是因为uno串口的baud rate不兼容。可以升级固件:http://jingyan.baidu.com/article/0964eca21d33ad8285f53632.html
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-29 20:45:24 | 显示全部楼层
Timmm 发表于 2015-7-29 20:30
是因为uno串口的baud rate不兼容。可以升级固件:http://jingyan.baidu.com/article/0964eca21d33ad8285f ...

我用的是mega2560,其它AT指令都是正常的。如果你用这个指令正常的话,有可能是我的固件不包含这个指令。
回复 支持 反对

使用道具 举报

发表于 2015-8-11 23:21:24 | 显示全部楼层
我用的ESP-07,CH_PD上拉1k,IO15下拉1k,一共买了6个模块,只有一半能用的,剩下的不知道什么问题就坏了。其实调试的时候不用串口,不必非要纠结0,1两个针脚,通过路由器回到电脑用网络调试工具就可以看到你发的数据。现在发现单连接的透传模式挺好用的,只不过一开始的初始化比较烦人。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-16 00:23 , Processed in 0.043184 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表