||

ESP8266-01S:AT调试方法、编程环境、AT固件刷写

ESP8266-01S简称ESP01S,是一个可编程的WIFI模块。

AT调试指令

测试连接

发送AT命令

注意每个指令之后要有换行符(CRLF)。然后点 Send
AT+RST   发送成功,接到 OK 返回.
其他指令,可以参考相关产品的AT指令集。

调试

1.连接WIFI
AT+CWMODE=3 //设置ap+st混合模式, 设置1单ST模式,
响应:OK

2.重新启动
AT+RST
响应:OK

3.连接路由
AT+CWJAP=“ssid”,“password” //就是你的wifi名和连接密码
响应:OK

4.8266设备连接服务器(你的PC)
(保证你的PC和8266连的是同一个WIFI,这样获取同一网段IP)
工具左侧(Com Setting),发送命令
AT+CIPSTART=“TCP”,“192.168.10.223”,8082
响应:OK

5.发送数据到PC端,PC端监听能获得数据
AT+CIPSEND=4 //非透传模式,先制定要送数据的长度,4,接下来要传送你的4字节的数据。
//透传模式不指定长度,直到数据是+++停止透传,很好理解,
//当然你需要告诉模块你要是用透传模式,AT+CIPMODE=1 //透传模式
//响应返回大于号,然后再输入数据4位

比如:ABCD
回车,SEND,
响应: SEND OK //如果你输入数据长度大于4,会返回ERROR,但是命令截取前4为发送到PC端。

其他常用AT指令:

AT+RESTORE 恢复初始化,和手机恢复出厂一样

AT+RST 重启

AT 测试,正常返回OK

AT+UART=9600,8,1,0,0 //修改波特率、也叫设置串口配置”8是数据位8字节
AT+UART=115200,8,1,0,0 //修改波特率、也叫设置串口配置”8是数据位8字节

AT+CWMODE? 查询工作模式
(“1.Station (客户端模式)2.AP (接入点模式)3.Station+AP (两种模式共存)”)

AT+CWJAP? 查询当前连接的路由器

AT+CIFSR 查询IP地址、MAC地址

AT+CWMODE_DEF=1 配置WiFi模组工作模式
(“1.Station (客户端模式)2.AP (接入点模式)3.Station+AP (两种模式共存)”)

AT+CWJAP=“wifi”,“123456789” 连接路由器(名称+密码)

AT+CWSMARTSTART 启动智能配网 (使用微信可以云服务,安信可平台)

AT+CWSMARTSTOP 停止智能配网 (使用微信可以云服务,安信可平台)

AT+CLDSTART 开启云服务 (使用微信可以云服务,然后用安卓客户端)

AT+CIPMUX=1 设置成多连接 ,才能开启TCP服务
AT+CIPSERVER=1,5000 开启TCP服务
AT+CIPSERVER=0,5000 开启TCP服务

ArduinoIDE开发环境搭建

样例代码如上,控制模块上的LED灯闪烁。写完代码后需要用USB转TTL模块连接模块的各个针脚:

enter description here

按照上述接法接好后,将RST接到GND上进行手动重置,即完成了烧录前的准备。然后在IDE中点击编译和上传按钮即可。烧录结束后拔掉IO0针脚,再次用RST重置,此时模块就会开始运行我们的代码。

另外要注意,烧录自己的代码之后原有的固件会被覆盖,AT指令会无法使用。要让AT指令恢复可用状态,需要进行下面的AT固件烧录操作。

烧录AT固件

这里介绍使用PC+USB转TTL模块来进行烧录。

接线如下:

enter description here

烧录前,IO0接GND,EN(使能端)接3.3V,然后RST接一下GND再拔出来(手动重置),IO2置空。

接下来打开ESP8266的官方下载软件flash download tool。我使用的是 flash_download_tool_3.9.2

最上方路径选择固件,后面的0x0为程序下载的位置,所有配置都确认后点击START进行下载。

下载失败或者停在等待处时,注意检查以下问题:

端口占用

信号线断开或接触不良

总结

用模块自带的AT模块也能够完成很多工作,但如果要和上位机交互的话最好还是自己写代码然后只传输必要的数据,毕竟解析AT指令的输入输出是十分麻烦且不优雅的做法。

使用过程中最重要的就是要注意烧录时IO0要接GND,烧录结束后IO0要断开。

自己写的代码也可以通过IDE生成可执行文件,然后用官方烧录工具来进行烧录;不过反过来使用ArduinoIDE烧录已有的可执行文件我没有找到方法,猜想应该是可以的,大家可以尝试一下。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注