esp8266 AT指令以及刷固件
AT指令是应用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;ESP8266中也有众多的AT指令,可以进行测试
esp8266 模块AT测试
我一般对于买来的新模块先进行AT测试 看有没有问题
或则长时间不用准备使用的wifi模块 先进行测试 保证模块没问题
如果模块有问题 则进行刷固件
接线方式
使用串口工具 (我这里使用的是sscom)并进行相应设置 选择串口号 波特率等 (下载链接)
esp模块有三种模式分别是 sta,AP和sta/AP
– sta模式下模块相当于客户端 去连接路由器
– AP模式下模块相当于路由器能够发射WiFi,(模块出厂默认为AP模式)
– sta/AP 是上面两种模式都有
##### AT指令
(参考指令大全)
1. 发送 AT+CWMODE=1 指令配置模块为sta模式(参数1,2,3分别对应模式sta,AP和sta/AP)。
2. 发送 AT+CWLAP 指令扫描当前附近WiFi,模块会返回可用AP列表。
3. 使用 AT+CWJAP=”WiFi名称”,”WiFi密码” 连接到指定的路由器,
比如我在图书馆的WiFi是 “lib-free-wlan01”,密码是“zhku-lib”,实际连接WiFi发送的指令就是 AT+CWJAP=”lib-free-wlan01″,”zhku-lib” 。
返回的“WIFI CONNECTED”说明连接成功,“WIFI GOT IP”代表模块分配到了IP。
4. 最后可使用 AT+CWQAP 断开当前连接的WiFi。
ESP8266模块 5G频段的WiFi扫描不到 所以电脑发散的热点需要改成2.5G频率的。
使用arduino进行
其实也就是将arduino当做一个串口接收工具使用
接线图
传入代码
#include <softwareserial.h>
SoftwareSerial ESP8266(10, 11); // RX | TX
void setup() {
Serial.begin(9600);
ESP8266.begin(9600);
}
void loop()
{
// Keep reading from ESP-01s and send to Arduino Serial Monitor
if (ESP8266.available())
{
Serial.write(ESP8266.read());
}
// Keep reading from Arduino Serial Monitor and send to ESP-01s
if (Serial.available())
{
ESP8266.write(Serial.read());
}
}
刷固件
刷固件也是一种 编写esp的方式
同样也是一种让esp恢复出厂设置的方式,如果esp在设置等方面出现问题,这是应该刷官方出厂的固件。
1. 资料下载
AT固件库是从该芯片的官网上下载的AT固件,资源下载链接 http://seafile.niehen.cn/d/9f7e0fa76198410396ba/
打开AT固件库的文件可以看到有8M和32M两种,我们直接选用8M的即可。
烧写软件,用的是flash_download_tools_v3.6.5(在刚才的链接里也有)
打开该软件后出现这样的页面,直接选择第一项即可。
- 连接esp。
可以使用usb转ttl。不过推荐使用esp烧写工具,方便简单,
此时IO0 要拉低 下载位。其他引脚不变
- 烧写设置
在最上面一栏 选择上面提到的 8M固件
下面速度 40MHZ 模式 DIO
flash size 8Mbit 后面选择DoNotChgBin
最后选择端口 就可以点击START开始了。
烧写过程需要几分钟的时间
烧写完成会显示FINISH
4. 测试
可以打开sscom软件,选择对应的端口。
输入AT,返回OK。即可说明固件刷写成功。
接下来就可以使用其他的AT指令来进行对esp的配置或其他操作。
AT+CWMODE=3 指令配置模块为sta/AP模式(参数1,2,3分别对应模式sta,AP和sta/AP)。
AT+RST 重新启动
AT+UART_DEF=9600,8,1,0,0 (arduino的软串口连接ESP-01wifi模块不适合波特率为115200(出厂时默认设定的!)在AT模式下输入AT+UART_DEF=9600,8,1,0,0修改为9600。)
参考链接
参考链接