ESP8266测试(UNO 和 mega2560)
本帖最后由 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指令,例如连接无线路由器,大家慢慢研究吧。 软串也可以只要你把8266波特率改下来
并且数据量不大 用UNO,CH_PD和VCC之间不加电阻也可以。不过要改一下波特率,才能用软串口。 你的esp8266好像跟我的一样。。。。楼主可以用AT指令去修改波特率啊,我已经改成9600了 谢谢各位的建议!我找了下AT指令表,好像没有发现修改波特率的AT指令。请问大家修改波特率的AT指令是什么,修改完后是不是需要重启一下? 你试试这个 AT+CIOBAUD=9600 Timmm 发表于 2015-7-29 15:27 static/image/common/back.gif
你试试这个 AT+CIOBAUD=9600
好像不行,返回ERROR hardstudy12345 发表于 2015-7-29 16:25 static/image/common/back.gif
好像不行,返回ERROR
是因为uno串口的baud rate不兼容。可以升级固件:http://jingyan.baidu.com/article/0964eca21d33ad8285f53632.html Timmm 发表于 2015-7-29 20:30 static/image/common/back.gif
是因为uno串口的baud rate不兼容。可以升级固件:http://jingyan.baidu.com/article/0964eca21d33ad8285f ...
我用的是mega2560,其它AT指令都是正常的。如果你用这个指令正常的话,有可能是我的固件不包含这个指令。 我用的ESP-07,CH_PD上拉1k,IO15下拉1k,一共买了6个模块,只有一半能用的,剩下的不知道什么问题就坏了。其实调试的时候不用串口,不必非要纠结0,1两个针脚,通过路由器回到电脑用网络调试工具就可以看到你发的数据。现在发现单连接的透传模式挺好用的,只不过一开始的初始化比较烦人。
页:
[1]