浏览量: 471 次浏览

esp8266 AT指令以及刷固件

2020年2月4日 0 作者 Nie Hen

AT指令是应用于终端设备与PC应用之间的连接与通信的指令。AT 即Attention。每个AT命令行中只能包含一条AT指令;ESP8266中也有众多的AT指令,可以进行测试

esp8266 模块AT测试

我一般对于买来的新模块先进行AT测试 看有没有问题
或则长时间不用准备使用的wifi模块 先进行测试 保证模块没问题
如果模块有问题 则进行刷固件

接线方式
enter description here
使用串口工具 (我这里使用的是sscom)并进行相应设置 选择串口号 波特率等 (下载链接)

enter description here

esp模块有三种模式分别是 sta,AP和sta/AP
– sta模式下模块相当于客户端 去连接路由器
– AP模式下模块相当于路由器能够发射WiFi,(模块出厂默认为AP模式)
– sta/AP 是上面两种模式都有

##### AT指令
参考指令大全

enter description here

enter description here
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。
enter description here

ESP8266模块 5G频段的WiFi扫描不到 所以电脑发散的热点需要改成2.5G频率的。

使用arduino进行

其实也就是将arduino当做一个串口接收工具使用
接线图
enter description here
传入代码

#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(在刚才的链接里也有)
打开该软件后出现这样的页面,直接选择第一项即可。
enter description here

  1. 连接esp。
    可以使用usb转ttl。不过推荐使用esp烧写工具,方便简单,
    此时IO0 要拉低 下载位。其他引脚不变
    enter description here
  2. 烧写设置
    在最上面一栏 选择上面提到的 8M固件
    下面速度 40MHZ 模式 DIO
    flash size 8Mbit 后面选择DoNotChgBin
    enter description here
    最后选择端口 就可以点击START开始了。
    烧写过程需要几分钟的时间
    enter description here

烧写完成会显示FINISH
enter description here
4. 测试
可以打开sscom软件,选择对应的端口。
输入AT,返回OK。即可说明固件刷写成功。
接下来就可以使用其他的AT指令来进行对esp的配置或其他操作。
AT+CWMODE=3 指令配置模块为sta/AP模式(参数1,2,3分别对应模式sta,AP和sta/AP)。
AT+RST 重新启动
enter description here
AT+UART_DEF=9600,8,1,0,0 (arduino的软串口连接ESP-01wifi模块不适合波特率为115200(出厂时默认设定的!)在AT模式下输入AT+UART_DEF=9600,8,1,0,0修改为9600。)
参考链接
参考链接