文章目录

  • 前言
  • AT指令
  • 查看固件版本
  • 查看FLASH容量
  • 需不需要更新固件
  • 烧录固件时如何接线
  • 烧录固件


文章列表

  • RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之环境搭建(1/4)
  • RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)
  • RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之RT-Thread AT组件(3/4)
  • RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之AP+WEB配网(4/4) // TODO

前言

本系列文章介绍 RT-Thread AT 组件的基本知识和使用方法,帮助大家更好地使用 RT-Thread AT 组件

本文教大家如何使用RT-Thread的AT组件,

AT指令

AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。1

直白的说,AT指令就是一些机器指令,我们可以通过指令来控制设备的行为,这些指令是设备的固件中预先定义好的。

乐鑫提供的 AT 指令固件具有以下特色,利于芯片集成到应用中:2

  • 内置 TCP/IP 堆栈和数据缓冲
  • 能便捷地集成到资源受限的主机平台中
  • 主机对指令的回应易于解析
  • 用户可自定义 AT 指令

点击这里下载乐鑫AT指令集文档,查看乐鑫关于ESP8266的所有AT指令的详细介绍文档。

查看固件版本

我们在市面上买的ESP8266模块一般都自带了乐鑫官方的AT固件,我们使用指令 AT+GMR 查看版本信息:

AT+GMR
AT version:1.2.0.0(Jul  1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
v1.5.4.1-a Nov 30 2017 15:54:29

由上面的信息可以看出这个ESP8266模块的AT版本是 1.2,SDK版本是 1.5.4.1,是2016年的AT固件。

查看FLASH容量

ESP8266启动的时候列出了其FLASH容量,但是我们通过串口模块接上ESP8266模块的时候,上电的瞬间就已经将这些信息打印出来了,所以我们在这之后在打开串口工具一般是看不到串口中断有任何输出的,我们可以通过AT指令让模块软复位:

AT+RST

OK
WIFI DISCONNECT

ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x40100000, len 1856, room 16 
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8 
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8 
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : DOUT
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

重启后,可以看到模块的 SPI FLASH SIZE & MAP的值是 8M(512KB+512KB)。也就是说这8M的FLASH只能刷 512KB+512KB,不支持 1024+1024 的 FLASH MAP。

需不需要更新固件

自己手上的ESP8266模块需不需要更新固件呢?这个取决于当前的固件是否支持你所需的AT指令,乐鑫官方的AT指令集一直都在更新,我们要支持最新的功能就要更新最新的固件。
现在(2021年6月1日前)乐鑫官方最新的固件版本是 ESP8266_NonOS_AT_Bin_V1.7.4,使用这个固件可以进行我们后面的实验。

烧录固件时如何接线

我们先看下ESP8266-01S引脚说明:

引脚名称

I/O

描述

DC特性

备注

UTXD

AT 串口发送输出

3.3V

开机时禁止下拉

GND


GND

CH_PD(EN)

模块断电信号

3.3V

1)高电平工作;,

2)低电平模块供电关掉;

GPIO2

预留,默认悬空

3.3V

开机上电时必须为高电平,禁止硬件下拉;内部默认已拉高

RST

I

复位信号(RESET)

3.3V

低电平复位,高电平工作(默认高);

GPIO0

模块状态灯/工作模式选择

3.3V


1)默认WiFiStatus:WiFi工作状态指示灯控制信号;

2)工作模式选择:

上拉:FlashBoot,工作模式;

下拉:UARTDownload,下载模式(下载固件);

VCC

I

模块采用单电源供电,通过1个 VCC 电源引脚供电,电压范围:3.0V-3.6V,电流>600mA

Vmax=3.6V

Vmin=3.0V

Vnorm=3.3V

电源供电能力请大于600mA;否则可能会引起模块工作异常,或者无线性能不好。

URXD

AT 串口发送输入

3.3V

由上表可知,我们在正常使用模块的接线基础上,只需要再把 GPIO0 引脚下拉接地即可进入烧录固件模式。

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_单片机

如果wifi是独立供电的话,要注意电源地和串口地要共地。

烧录固件

进行烧录前,我们要先准备下面的资料:

解压下载到的ESP8266 FLASH烧写工具压缩包,双击 flash_download_tool_3.8.7.exe 打开烧写工具

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_嵌入式_02


之后在打开的窗口里面选择:

  • chipType: ESP8266
  • WorkMode: develop

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_串口_03


然后点击 OK 进入主界面。烧写工具主界面配置选项,配置好之后点击 START 等待进度条走完,提示 FINISH完成 的就是升级完成了,最后点击STOP完成烧录:

如果点击start后,一直处于等待上电同步,需要我们拉低一下复位引脚,或者直接断电再上电。

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_rtos_04


固件烧录中…

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_串口_05


固件烧录完成!最后点击STOP完成烧录:

RT-Thrad|STM32F103+ESP8266 S01+RT-Thread联网之更新ESP8266 01S固件(2/4)_嵌入式_06

固件烧录完成后,让 GPIO0 引脚去掉下拉,退出烧录固件模式,恢复正常工作模式后,连接串口软件,发送指令 AT+GMR 查看版本信息:

AT+GMR
AT version:1.7.4.0(May 11 2020 19:13:04)
SDK version:3.0.4(9532ceb)
compile time:May 27 2020 10:12:17
Bin version(Wroom 02):1.7.4
OK

由返回的信息可知,我们已经将AT版本升级到了 1.7.4,当前SDK版本是3.0.4,是2020年的AT固件。

到这里固件更新完成了,准备了那么多,下一章我们就将模块用起来吧!


  1. 百度百科AT指令集 ↩︎
  2. 乐鑫官网主页介绍 ↩︎