ESP8266 AT指令
概述
本文中的AT指令并非官方指令,与官方AT指令也不通用。仅参考了官方AT指令,选取部分常用功能加以简化,并增加了时间日期查询与网页AT指令调试等功能,模块联网后即可自动校时。注意:扩展AT指令还在调试过程中,有可能会因为API接口的改变而无法获取到正确的数据。但开发者可通过 HTTP AT 指令自定义URL 获取网络数据。
网页 AT 指令调试
一、 启动WiFi模块
二、 手机连接模块热点
三、 网页输入模块的IP地址
AT指令
基础 AT 指令
- AT:测试 AT 启动
- AT+GMR:查询版本信息
- AT+CMD:查询命令列表
- AT+RST:重启模块
- AT+RESTORE:恢复出厂设置
- AT+CFG:查询当前配置
- AT+BAUD:查询/设置波特率
- AT+DATE:查询/设置日期
- AT+LUNAR:查询农历
- AT+TIME:查询/设置时间
AT:测试 AT 启动
命令
AT
响应
OK
AT+GMR:查询版本信息
命令
AT+GMR?
响应
<AT version info>
AT+CMD:查询命令列表
命令
AT+CMD?
响应
<cmd0>
<cmd1>
<cmd1>
...
AT+RST:重启模块
命令
AT+RST
响应
OK
AT+RESTORE:恢复出厂设置
命令
AT+RESTORE
响应
OK
AT+CFG:查询当前配置
命令
AT+CFG?
响应
Baud:<Baud>
WiFi_Mode:<WiFi Mode>
SSID:<SSID>, Password:<Password>
Sta_IP:<Sta_IP>
默认配置
- Baud: 115200
- WiFi Mode: Esp_AP+SoftAP
- SSID: ESP8266_XXXXXX(6位MAC地址), Passord: 12345678
- Esp_AP IP: 192.168.10.1
AT+BAUD:查询/设置波特率
查询命令
AT+BAUD?
响应
<Baud>
设置命令
AT+BAUD=<baud>
响应
OK
示例
AT+BAUD=9600
AT+DATE:查询/设置日期
查询命令
AT+DATE?
响应
<YYYY-MM-DD>
设置命令
AT+DATE=<YYYY-MM-DD>
响应
OK
示例
AT+DATE="2023-01-01"
AT+LUNAR:查询农历
命令
AT+LUNAR?
响应
<YYYY-MM-DD>,<SOLAR_TERMS>
SOLAR_TERMS: 节气
0 表示当天不是节气
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
小寒 | 大寒 | 立春 | 雨水 | 惊蛰 | 春分 |
7 | 8 | 9 | 10 | 11 | 12 |
清明 | 谷雨 | 立夏 | 小满 | 芒种 | 夏至 |
13 | 14 | 15 | 16 | 17 | 18 |
小暑 | 大暑 | 立秋 | 处暑 | 白露 | 秋分 |
19 | 20 | 21 | 22 | 23 | 24 |
寒露 | 霜降 | 立冬 | 小雪 | 大雪 | 冬至 |
AT+TIME:查询/设置时间
查询命令
AT+TIME?
响应
<hh:mm:ss>
设置命令
AT+TIME=<hh:mm:ss>
响应
OK
示例
AT+TIME="12:00:00"
WIFI AT 指令
- AT+CESPSSID:查询/设置 Esp_AP 的名称
- AT+CESPPSW:查询/设置 Esp_AP 的密码
- AT+CESPIP:查询/设置 Esp_AP 的 IP 地址
- AT+CAPSSID:查询 WiFi 列表
- AT+CONN:连接WIFI
- AT+DISCONN:断开WIFI
AT+CESPSSID:查询/设置 Esp_AP 的名称
查询命令
AT+CESPSSID?
响应
<ssid>
设置命令
AT+CESPSSID=<ssid>
设置完成后自动重启生效
AT+CESPPSW:查询/设置 Esp_AP 的密码
查询命令
AT+CESPPSW?
响应
<password>
设置命令
AT+CESPPSW=<password>
密码至少8位,设置后自动重启生效
AT+CESPIP:查询/设置 Esp_AP 的 IP 地址
查询命令
AT+CESPIP?
响应
<IP>
设置命令
AT+CESPIP=<IP>
响应
OK
修改IP地址后,如果有设备连接模块的话,设备需断开重新连上,否则无法访问
AT+CAPSSID:查询 WiFi 列表
仅扫描2.4G频段AP命令
AT+CAPSSID?
响应
<ssid0>
<ssid1>
<ssid2>
...
AT+CONN:连接WIFI
命令
AT+CONN=<ssid>,<psword>
响应
WiFi connected!/WiFi disconnect!
AT+DISCONN:断开WIFI
命令
AT+DISCONN
响应
WiFi disconnect!
TCP AT 指令
- AT+CTCPSERVER: 创建 TCP Server
- AT+CTCPCLOSE: 关闭 TCP Server
- AT+CTCPSEND:发送数据
AT+CTCPSERVER:创建 TCP Server
查询命令
AT+CTCPSERVER?
响应
Status:OPEN/CLOSE
IP:<ip>,Port:<port>
[client0IP]
[client1IP]
...
设置命令
AT+CTCPSERVER=<port>
响应
OK
AT+CTCPCLOSE:关闭 TCP Server
命令
AT+CTCPCLOSE
响应
TCP server close
AT+CTCPSEND:发送数据
命令
AT+CTCPSEND=<DATA>
响应
OK
HTTP AT 指令
- AT+CHTTPREQUEST:http请求
AT+CHTTPREQUEST:http请求
命令
AT+CHTTPREQUEST,<OPT=GET/POST/PUT/DELETE>,<URL=XXXXX>,<DATA=XXXXX>
响应
RESPONSE:<DATA>
OK
驱动 AT 命令
- AT+DRVIOINIT:初始化IO
- AT+DRVPWMINIT:初始化PWM
- AT+DRVPWMSET:更改PWM频率与占空比
- AT+DRVPWMENDIS:启动/关闭PWM
- AT+DRVADCINIT:初始化ADC
- AT+DRVADCGET:获取AD值
- AT+DRVIICINIT:初始化IIC
- AT+DRVIICWRBYTE:IIC写1字节数据
- AT+DRVIICRDBYTE:IIC读1字节数据
- AT+RGB:RGB灯调色
扩展 AT 指令
- AT+WEATHER:查询天气(3天)
AT+WEATHER:查询天气(3天)
命令
AT+WEATHER=<cityId>,<day>
响应
Date:YYYY-MM-DD
Weather:xxx
Temp:xxx℃/xxx℃
Humi:xx%
示例
#查询广州明天天气
AT+WEATHER="101280101","1"
参数
day
- 0:今天
- 1:明天
- 2:后天
- 其他:3天
cityId为"0",则自动定位
城市ID查询
参考:https://api.luatos.org/luatos-calendar/v1/check-city/