ESP8266 AT 指令集Version 0.40
Espressif Systems IOT Team免责申明和版权公告
本?⽂中的信息,包括供参考的URL地址,如有变更,恕不另?⾏通知。
⽂档“按现状”提供,不负任何担保责任,包括对适销性、适?⽤于特定?⽤途或?⾮侵权性的任何担保,和任何提案、规格或样品在他处提到的任何担保。本?⽂档不负任何责任,包括使?⽤本?⽂档内信息产?⽣的侵犯任何专利权?⾏为的责任。本?⽂档在此未以禁?⽌反?⾔或其他?⽅式授予任何知识产权使?⽤许可,不管是明?⽰许可还是暗?⽰许可。Wi-Fi联盟成员标志归Wi-Fi联盟所有。
⽂中提到的所有商标名称、商标和注册商标均属其各?⾃所有者的财产,特此声明。版权归? 2015 乐鑫信息科技(上海)有限公司所有。保留所有权利。Table of Contents1.前?⾔ 6
........................................................................................................................................................................................................1.1.?⾃定义 AT 指令 6
............................................................................................1.2.烧录 AT 固件 7
.......................................................................................................2.指令说明8
.................................................................................................3.基础 AT 指令9
..................................................................................3.1.基础 AT 指令?⼀览表 9
...................................................................................3.2.基础 AT 指令描述 101. AT – 测试 AT 启动 10
.................................................................................2. AT+RST – 重启模块 10
.....................................................................................................................................................3. AT+GMR – 查询版本信息 10
........................................................
4. AT+GSLP – 进?⼊ deep-sleep 模式 115. ATE – 开关回显功能 11
..............................................................................6. AT+RESTORE – 恢复出?⼚设置 11..............................................................7. AT+UART – UART 配置 12
..................................................................................................................
8. AT+UART_CUR – 设置 UART 当前临时设置 139. AT+UART_DEF – 设置 UART 配置,保存到 ?ash 14..................................
................................................................10. AT+SLEEP – 设置 sleep 模式 15..............................................
11. AT+RFPOWER – 设置 RF TX Power 上限 15........................................
12. AT+RFVDD – 根据 VDD33 设置 RF TX Power 16
....................................................................................... 4.WiFi 功能 AT 指令17........................................................................................4.1.WiFi 功能指令 19
......................................................................1.AT+CWMODE – WiFi 模式 19
2.AT+CWMODE_CUR – 设置当前 WiFi 模式 20...........................................
3.AT+CWMODE_DEF – 设置 WiFi 模式并保存到 ?ash 21...............................
............................................................................4.AT+CWJAP – 连接 AP 22............................................................5.AT+CWJAP_CUR – 临时连接 AP 23
6.AT+CWJAP_DEF – 连接 AP,保存到 ?ash 24.............................................
7.AT+CWLAP – 列出当前可?⽤的 APs 25.......................................................
8.AT+CWQAP – 断开与 AP 的连接 26............................................................
9.AT+CWSAP – 配置 ESP8266 softAP 参数 26.........................................................................
10.AT+CWSAP_CUR – 配置 ESP8266 softAP 当前参数 27...............
11.AT+CWSAP_DEF – 配置 ESP8266 softAP 参数,保存到 ?ash 2812.AT+CWLIF – 查询连接到 ESP8266 softAP 的 stations 信息 28....................
..................................................................13.AT+CWDHCP – 设置 DHCP 29................................
14.AT+CWDHCP_CUR – 设置 DHCP,不保存到 ?ash 30.................................
15.AT+CWDHCP_DEF – 设置 DHCP 并保存到 Flash 31.........................................
16.AT+CWAUTOCONN – 上电是否?⾃动连接 AP 32..................
17.AT+CIPSTAMAC – 设置 ESP8266 station 接?⼝的 MAC 地址 3218.AT+CIPSTAMAC_CUR – 设置 ESP8266 station 当前 MAC 地址 33........................
19.AT+CIPSTAMAC_DEF – 设置 ESP8266 station 默认 MAC 地址 34...........................
20.AT+CIPAPMAC – 设置 ESP8266 softAP 的 MAC 地址 34..............
21.AT+CIPAPMAC_CUR – 设置 ESP8266 softAP 临时 MAC 地址 35................
22.AT+CIPAPMAC_DEF – 设置 ESP8266 softAP 默认 MAC 地址 35......................................
23.AT+CIPSTA – 设置 ESP8266 station 的 IP 地址 3624.AT+CIPSTA_CUR – 设置 ESP8266 station 临时 IP 地址 37.................................................
25.AT+CIPSTA_DEF – 设置 ESP8266 station 默认 IP 地址 38......................................
26.AT+ CIPAP – 设置 ESP8266 softAP 的 IP 地址 39...........................
27.AT+CIPAP_CUR – 设置 ESP8266 softAP 临时 IP 地址 40...........................
28.AT+CIPAP_DEF – 设置 ESP8266 softAP 默认 IP 地址 41............................................
29.AT+CWSTARTSMART – 开启 SmartCon?g 4230.AT+CWSTOPSMART – 停?⽌ SmartCon?g 42.............................................
.................................................................................. 5.TCP/IP 相关 AT 指令43...............................................................................5.1.TCP/IP 指令?⼀览表 43
...................................................................................................5.2.TCP/IP 44
......................................................
1.AT+CIPSTATUS – 查询??⽹络连接信息 44.........................................
2.AT+CIPSTART – 建?⽴ TCP 连接或 UDP 传输 45......................................................................3.AT+CIPSEND – 发送数据 46..................................................................4.AT+CIPSENDEX – 发送数据 47.........................................
5.AT+CIPSENDBUF – 数据写?⼊ TCP 发包缓存 48...............................................................6.AT+CIPBUFRESET – 重新计数 48..................................
7.AT+CIPBUFSTATUS – 查询 TCP 发包缓存的状态 49......
8.AT+CIPCHECKSEQ – 查询写?⼊ TCP 发包缓存的某包是否发送成功 49..................................................
9.AT+CIPCLOSE – 关闭 TCP / UDP 传输 50...............................................................
10.AT+CIFSR – 查询本地 IP 地址 50......................................................................11.AT+CIPMUX – 设置多连接 51.......................................................
12.AT+CIPSERVER – 建?⽴ TCP server 5213.AT+CIPMODE – 设置传输模式 52....................................................................................................
14.AT+SAVETRANSLINK – 保存透传连接到 Flash 53..............................................
15.AT+CIPSTO – 设置 TCP server 超时时间 5416.AT+CIUPDATE – 通过 WiFi 升级软件 55......................................................
..............................................................................17.AT+PING – ping 功能 55......................
18.AT+CIPDINFO – 接收??⽹络数据时是否提?⽰对端 IP 和端?⼝ 56.............................................................................19.+IPD – 接收??⽹络数据 56
............................................................................................................. 6.附录57............................................................................................................ 7.Q&A581.前?⾔
描述Espressif AT指令集功能以及使?⽤?⽅法
指令集主要分为:基础 AT 命令、WiFi 功能AT命令、TCP/IP ?⼯具箱 AT 命令等。1.1.?⾃定义 AT 指令
AT 基于 esp_iot_sdk 编译,esp_iot_sdk\\example\\at 中提供了开发者?⾃定义 AT 指令的?⽰例。Espressif Systems 原本提供的 AT 指令以库?⽂件 libat.a 的形式提供,将包含在新编译?⽣成的 AT bin 固件中。
在 \\esp_iot_sdk\\examples\\at\main.c 中提供?⽰例,如何实现?⼀条?⾃定义的 AT 指令“AT+TEST”:结构体 at_funcationType ?⽤于定义?⼀条指令的四种类型,例如,指令名称 “AT+TEST”类型定义类型描述说明at_testCmd 测试指令
对应指令 AT+TEST=?AT ?⽰例中注册的实现回调at_testCmdTest 建议指令功能返回参数的取值范围若此参数注册为 NULL,则?⽆测试指令at_queryCmd查询指令
对应指令 AT+TEST?AT ?⽰例中注册的实现回调at_queryCmdTest 建议指令功能返回当前值若此参数注册为 NULL,则?⽆查询指令
at_setupCmd设置指令
对应指令格式AT+TEST=parameter1,parameter2,…AT ?⽰例中注册的实现回调at_setupCmdTest 建议指令功能设置参数值若此参数注册为 NULL,则?⽆设置指令at_exeCmd执?⾏指令
对应指令 AT+TEST AT ?⽰例中注册的实现回调at_exeCmdTest 建议指令功能执?⾏某项操作若此参数注册为 NULL,则?⽆执?⾏指令
⽤户如需编译客制化 AT 源代码,新增?⾃定义的 AT 指令,请将?⽂件夹 “at” 中的全部内容拷?贝到对应版本esp_iot_sdk的?⽂件夹 “app” 中开发及编译。如下图
1.2.烧录 AT 固件
⽤户可参考 esp_iot_sdk\\bin\\at 中 readme.txt 的说明,进?⾏烧录:boot.bin,烧录到flash 0x00000user1.bin,烧录到flash 0x01000blank.bin,参数初始化
AT_v0.22 及之前版本,对应 ?ash size 512KB,blank.bin 烧录到flash 0x3E000 和0x7E000 ?AT_v0.23 及之后版本,对应ash size 1024KB ,blank.bin 烧录到flash 0x7E000 和0xFE000如果?⽤户?⾃?⾏编译 AT demo,请参考?⽂档 “2A-ESP8266__IOT_SDK_User_Manual”,blank.bin 需要烧录到 “ Flash map ” ?⼀章中说明的?⽤户参数区和系统参数区:请使?⽤ Espressif 官?⽅烧录?⼯具http://www.doczj.com/doc/89fc49c2aaea998fcd220e05.html /viewtopic.php?f=5&t=433,烧录时,选择对应的 Flash size注意:
请确保正确的 BIN (\\esp_iot_sdk\\bin\\at) 已经烧录到模块 (ESP8266),再执?⾏?⽂档中的 AT 指令。?AT 底层已占?⽤system_os_task优先级 0 和 1,因此?⽤户如基于 AT 开发,仅?⽀持建?⽴?⼀个优先级为2 的 task.
AT 提?⽰ ESP8266 station 连接 AP 的状态如下:WIFI CONNECTED - WiFi 已连接
WIFI GOT IP - ESP8266 station 已从 AP 获得 IPWIFI DISCONNECT - WiFi 连接断开2.指令说明
指令可以细分为四种类型
注意: 1. 不是每条 AT 指令都具备上述 4 种类型的命令; 2. [] 括号内为缺省值,不必填写或者可能不显?⽰; 3. 使?⽤双引号表?⽰字符串数据 ”string”:
AT+CWSAP=“ESP756290”,”21030826”,1,44.
波特率为 115200
5. AT 指令必须?⼤写,以回?车换?⾏符结尾 “\\r\\n ”
类型指令格式描述
测试指令AT+=?该命令?⽤于查询设置命令或内部程序设置的参数以及其取值范围。查询指令AT+?该命令?⽤于返回参数的当前值。设置指令
AT+=<…>该命令?⽤于设置?⽤户?⾃定义的参数值。执?⾏指令AT+
该命令?⽤于执?⾏受模块内部程序控制的变参数不可变的功能。
3.基础 AT 指令
3.1.基础 AT 指令?⼀览表基础 AT 指令指令描述AT测试 AT 启动AT+RST重启模块AT+GMR查看版本信息
AT+GSLP进?⼊ deep-sleep 模式ATE开关回显功能
AT+RESTORE恢复出?⼚设置
AT+UART UART 配置,[@deprecated]不建议使?⽤AT+UART_CUR UART 当前临时配置AT+UART_DEF UART 默认配置,保存到 ?ashAT+SLEEP设置 sleep 模式
AT+RFPOWER设置 RF TX Power 上限AT+RFVDD根据 VDD33 设置 RF TX Power3.2.
基础 AT 指令描述1.
AT – 测试 AT 启动2. AT+RST – 重启模块3. AT+GMR – 查询版本信息AT – 测试 AT 启动执?⾏指令:AT
响应:OK
参数说明: ?⽆AT+RST – 重启模块执?⾏指令:AT+RST响应:OK
参数描述: ?⽆
AT+GMR – 查询版本信息执?⾏指令: AT+GMR响应:OK参数说明:AT 版本信息
基于的 SDK 版本信息 编译?⽣成时间4.
AT+GSLP – 进?⼊ deep-sleep 模式5. ATE – 开关回显功能
6. AT+RESTORE – 恢复出?⼚设置
AT+GSLP – 进?⼊ deep-sleep 模式 设置指令:AT+GSLP=响应: OK参数说明:
< time > 设置 ESP8266 的睡眠时?长,单位:毫秒。ESP8266 会在休眠设定时?长后?⾃动唤醒。注意
deep-sleep 功能需要硬件上?⽀持,将XPD_DCDC 通过 0R 连接到 EXT_RSTB ,?⽤作 deep-sleep 唤醒。ATE – 开关回显功能执?⾏指令: ATE响应: OK参数说明:
ATE0 : 关闭回显 ATE1 : 开启回显
AT+RESTORE – 恢复出?⼚设置执?⾏指令: AT+RESTORE 响应: OK注意
恢复出?⼚设置,将擦除所有保存到 ?ash 的参数,恢复为默认参数。 注意:恢复出?⼚设置会导致机器重启。7. AT+UART – UART 配置AT+UART – UART 配置
[@deprecated] 本指令不建议使?⽤,建议使?⽤ AT+UART_CUR 或者 AT+UART_DEF 代替。设置指令:A T+U A R T=, ,,,响应:OK参数说明:UART 波特率数据位5:5 bit 数据位6:6 bit 数据位7:7 bit 数据位8:8 bit 数据位停?⽌位1:1 bit 停?⽌位2:1.5 bit 停?⽌位3:2 bit 停?⽌位校验位0:None1:Odd2:Even流控
0:不使能流控1:使能 RTS2:使能 CTS
3:同时使能 RTS 和 CTS
注意 1.本设置将保存在 flash user parameter 区,重新上电后仍?⽣效。2.使?⽤流控需要硬件?⽀持流控:MTCK 为 UART0 CTS ;MTDO 为 UART0 RTS
3.波特率?⽀持范围:110~115200*40⽰例AT+UART=115200,8,1,0,3
8. AT+UART_CUR – 设置 UART 当前临时设置AT+UART_CUR – 设置 UART 当前设置,不保存到 flash设置指令:
AT+UART_CUR=, ,,,响应:
OK参数说明:UART 波特率数据位5:5 bit 数据位6:6 bit 数据位7:7 bit 数据位8:8 bit 数据位停?⽌位1:1 bit 停?⽌位2:1.5 bit 停?⽌位3:2 bit 停?⽌位校验位0:None1:Odd2:EVEN流控
0:不使能流控1:使能 RTS2:使能 CTS
3:同时使能 RTS 和 CTS注意 1.本设置不保存到 ?ash 。2.使?⽤流控需要硬件?⽀持流控:MTCK 为 UART0 CTS ;MTDO 为 UART0 RTS
3.波特率?⽀持范围:110~115200*40?⽰例AT+UART_CUR=115200,8,1,0,3
9. AT+UART_DEF – 设置 UART 配置,保存到 ?ash AT+UART_DEF – 设置 UART 配置,保存到 ?ash设置指令:
AT+UART_DEF=, ,,,响应:OK参数说明:UART 波特率数据位5:5 bit 数据位
6:6 bit 数据位7:7 bit 数据位8:8 bit 数据位停?⽌位1:1 bit 停?⽌位2:1.5 bit 停?⽌位3:2 bit 停?⽌位校验位0:None1:Odd2:EVEN流控
0:不使能流控1:使能 RTS2:使能 CTS
3:同时使能 RTS 和 CTS
注意 1.本设置将保存在 ?ash user parameter 区,重新上电后仍?⽣效。2.使?⽤流控需要硬件?⽀持流控:MTCK 为 UART0 CTS ;MTDO 为 UART0 RTS
3.波特率?⽀持范围:110~115200*40⽰例AT+UART_DEF=115200,8,1,0,310. AT+SLEEP – 设置 sleep 模式
11. AT+RFPOWER – 设置 RF TX Power 上限AT+SLEEP – 设置 sleep 模式查询指令:AT+SLEEP?响应:
返回当前 sleep 模式 OK 参数说明: ?见设置指令设置指令:AT+SLEEP=响应: OK
参数说明: 0 :禁?⽤休眠模式 1 :light-sleep 模式 2 :modem-sleep 模式注意sleep 模式仅在单 station 模式下?⽣效。默认为 modem-sleep 模式。?⽰例AT+SLEEP=0
AT+RFPOWER – 设置 RF TX Power 上限设置指令:
AT+RFPOWER=响应: OK参数说明:
RF TX Power 值,参数范围 0 ~ 82,单位:0.25dBm注意
RF TX Power 的设置并不精准,此时设置的是 RF TX Power 的最?⼤值,实际值可能?⼩于设置值。?⽰例AT+RFPOWER=50
12. AT+RFVDD – 根据 VDD33 设置 RF TX Power AT+RFVDD – 根据 VDD33 设置 RF TX Power查询指令: AT+RFVDD?响应:+RFVDD:OK注意:
本查询指令必须在 TOUT 管脚悬空的情况下使?⽤,否则,查询返回?⽆效值。参数说明:
VDD33 电压值,单位:1/1024 V设置指令:AT+RFVDD=响应:OK参数说明:
VDD33 电压值,取值范围 [1900, 3300]
执?⾏指令:AT+RFVDD ESP8266 ?⾃动根据 VDD33 调整 RF TX Power 响应:OK注意:
本执?⾏指令必须在 TOUT 管脚悬空的情况下使?⽤⽰例AT+RFVDD=28004.WiFi 功能 AT 指令WiFi 功能 AT 指令指令说明
AT+CWMODE设置 WIFI 模式(sta/AP/sta+AP),[@deprecated] 不建议使?⽤AT+CWMODE_CUR设置 WIFI 模式(sta/AP/sta+AP),不保存到 flash
AT+CWMODE_DEF设置 WIFI 模式( sta/AP/sta+AP),保存到 flashAT+CWJAP连接 AP, [@deprecated] 不建议使?⽤AT+CWJAP_CUR连接 AP,不保存到 flashAT+CWJAP_DEF连接 AP,保存到 flashAT+CWLAP列出可?⽤的 AP 信息AT+CWQAP与 AP 断开连接
AT+CWSAP设置 ESP8266 softAP 配置,[@deprecated] 不建议使?⽤AT+CWSAP_CUR设置 ESP8266 softAP 配置,不保存到 flashAT+CWSAP_DEF设置 ESP8266 softAP 配置,保存到 flashAT+CWLIF获取连接到 ESP8266 softAP 的 station 的信息AT+CWDHCP设置 DHCP,[@deprecated] 不建议使?⽤AT+CWDHCP_CUR设置 DHCP,不保存到 flashAT+CWDHCP_DEF设置 DHCP,保存到 flashAT+CWAUTOCONN设置上电时是否?⾃动连接 AP
AT+CIPSTAMAC设置 ESP8266 station 的 MAC 地址,[@deprecated] 不建议使?⽤AT+CIPSTAMAC_CUR设置ESP8266 station 的 MAC 地址,不保存到 flash
AT+CIPSTAMAC_DEF设置 ESP8266 station 的 MAC 地址,保存到 flash
AT+CIPAPMAC设置 ESP8266 softAP 的 MAC 地址,[@deprecated] 不建议使?⽤AT+CIPAPMAC_CUR设置 ESP8266softAP 的 MAC 地址,不保存到 flash
AT+CIPAPMAC_DEF设置 ESP8266 softAP 的 MAC 地址,保存到 flash
AT+CIPSTA设置 ESP8266 station 的 IP 地址,[@deprecated] 不建议使?⽤AT+CIPSTA_CUR设置 ESP8266 station 的IP 地址,不保存到 flash
AT+CIPSTA_DEF设置 ESP8266 station 的 IP 地址,保存到 flash
AT+CIPAP设置 ESP8266 softAP 的 IP 地址,[@deprecated] 不建议使?⽤AT+CIPAP_CUR设置 ESP8266 softAP 的 IP地址,不保存到 flash
AT+CIPAP_DEF设置 ESP8266 softAP 的 IP 地址,保存到 flash4.1.WiFi 功能指令
1.AT+CWMODE – WiFi 模式
AT+CWMODE - WIFI 模式(station/softAP/station+softAP)
[@deprecated] 本指令不建议使?⽤,请使?⽤ AT+CWMODE_CUR 或者 AT+CWMODE_DEF 代替测试指令:
AT+CWMODE=?响应:+CWMODE:( 取值列表) OK参数说明:1 : station 模式2 : softAP 模式
3 : softAP + station 模式功能:
查询 ESP8266 当前 WiFi 模式。查询指令:AT+CWMODE?响应:+CWMODE: OK参数说明:与上述?⼀致。
功能:
设置 ESP8266 当前 WiFi 模式。设置指令:AT+CWMODE=响应:OK
参数说明: 与上述?⼀致。
注意本设置保存在 ?ash system parameter 区域.?⽰例AT+CWMODE=3
因篇幅问题不能全部显示,请点此查看更多更全内容