ESP8266 AT指令类型
在详细介绍AT命令集以及如何划分AT命令之前,你需要了解不同类型的AT命令。
ESP8266 AT指令基本上可以分为四种类型:
- 测试
- 查询
- 设置
- 执行
下表为你提供了有关这些不同类型的AT命令的清晰思路。在这里,我将使用示例命令作为“ TEST”来演示差异。
命令类型 | AT指令格式 | 功能 |
---|---|---|
测试 | AT + TEST =? | 返回参数值范围 |
查询 | AT + TEST? | 返回当前值 |
设置 | AT + TEST =参数1,参数2,... | 设置配置 |
执行 | AT + TEST | 执行动作 |
测试命令: ESP8266 WiFi Module的Test AT命令用于获取命令参数及其范围。
查询命令:查询命令返回命令参数的当前值。
设置命令: 设置命令用于设置命令中参数的值,也可以运OK命令。
执行命令:执行命令将运OK不带参数的命令。
注意:并非所有ESP8266 AT指令都支持所有四种指令类型。
既然我们已经了解了不同类型的ESP8266 AT命令,让我们继续实际的AT命令列表。
ESP8266 AT指令集
ESP8266 AT指令集分为三类。他们是:
- 基本的AT命令
- WiFi AT命令
- TCP / IP AT命令
ESP8266 WiFi模块共有88个AT命令。我将不讨论所有的88个AT指令,而只讨论一些重要的指令。
如果你想了解所有ESP8266 AT指令的详细信息,建议你访问Espressif Systems提供的官方文档页面。你可以从点击此处查看ESP8266 AT指令的官方文档。
我们来看看每种类别中不同的ESP8266 AT指令以及它们的格式(语法)和响应。
注意:[]中提到的参数是可选的。
基本ESP8266 AT指令
根据Espressif Systems的官方文档,共有23个基本AT指令。
基本的AT命令 |
---|
AT |
AT + RST |
AT + GMR |
AT
这是测试AT启动的基本命令,即AT系统是否正常工作。如果AT启动成功,则响应正常。
命令 | 响应 |
---|---|
AT | OK |
AT + RST
该命令可用于重启(复位)ESP8266 WiFi Module。
命令 | 响应 |
---|---|
AT + RST | OK |
AT + GMR
该命令用于检查固件和SDK的版本信息。响应包含三项内容:AT固件版本,SDK版本和BIN文件的编译时间。
命令 | 响应 |
---|---|
AT + GMR | <AT版本><br/><SDK版本><br/><编译时间><br/>OK |
其他重要的基本AT命令:AT + GSLP,ATE和AT + UART。
WiFi AT命令
WiFi AT命令可用于控制ESP8266模块的WiFi功能,例如设置WiFi操作模式,获取WiFi网络列表,连接到WiFi网络,设置访问点(AP),控制DHCP,WPS, MAC地址,IP地址等
根据官方文档,ESP8266模块有40个WiFi AT命令。让我介绍一些重要的AT命令。
WiFi AT命令 |
---|
AT + CWMODE |
AT + CWJAP |
AT + CWLAP |
AT + CWQAP |
AT + CIPSTA |
AT + CWSAP |
AT + CWLIF |
AT + CWMODE
此命令用于将WiFi操作模式设置为站点模式,软接入点(AP)或站点与AP的设置合。CWMODE命令支持测试,查询和设置类型命令。
下表给出了此命令的语法,响应和参数(在Set命令中)。
AT + CWMODE | |||
---|---|---|---|
命令类型 | 测试 | 查询 | 设置 |
格式 | AT + CWMODE =? | AT + CWMODE? | AT + CWMODE = <模式> |
响应 | + CWMODE:<模式><br>OK | + CWMODE:<模式> <br>OK | OK |
参数 | <模式><br>1:Station<br>2:Soft Access Point(AP)<br>3:Station + SoftAP | ||
功能 | 返回当前的WiFi模式 | 设置WiFi模式 |
AT + CWLAP
该命令列出了ESP8266可以访问的所有可用WiFi网络。它具有设置和执行命令两种类型。
AT + CWLAP | ||
---|---|---|
命令类型 | 设置 | 执行 |
格式 | AT + CWLAP [= <ssid>,<mac>,<channel>,<scan_type>,<scan_time_min>,<scan_time_max>] | AT + CWLAP |
响应 | + CWLAP:<ecn>,<ssid>,<rssi>,<mac>,<channel>,<freq cali>,<pairwise_cipher>,<group_cipher>,<bgn>,<wps> ,OK |
注意:有关参数的更多信息,请参考原始文档。
AT + CWJAP
此命令用于连接到接入点(如路由器)。
AT + CWJAP | ||
---|---|---|
命令类型 | 查询 | 设置 |
格式 | AT + CWJAP? | AT + CWJAP = <ssid>,<pwd> [,<bssid>] |
响应 | + CWJAP:<ssid>,<bssid>,<channel>,<rssi> OK |
OK或者 + CWJAP:<error>FAIL |
参量 | <ssid>:接入点的SSID。 <pwd>:密码。 [<bssid>]:AP的MAC地址(多个AP具有相同的SSID时。) <error>1:连接超时。2:密码错误。3:找不到目标AP。4:连接失败。 |
AT + CWQAP
该命令用于断开ESP8266与AP的连接。
命令 | 响应 |
---|---|
AT + CWQAP | OK |
AT + CIPSTA
该命令用于在Station模式下为ESP8266 WiFi Module设置一个静态IP地址。该命令同时具有查询和设置类型命令。
AT + CIPSTA | ||
---|---|---|
命令类型 | 查询 | 设置 |
格式 | AT + CIPSTA? | AT + CIPSTA = <ip> [,<网关>,<网络掩码>] |
响应 | + CIPSTA:<ip> + CIPSTA:<网关> + CIPSTA:<网络掩码> OK |
OK |
参量 | <ip>:IP地址 <gateway>:网关 <netmask>:网络掩码 |
|
功能 | 返回IP地址,网关和网络掩码。 | 设置IP地址,网关和网络掩码。 |
AT + CWSAP
该指令用于配置ESP8266 WiFi Module处于Soft Access Point(AP)模式。查询和设置类型均可用于此命令。
AT + CWSAP | ||
---|---|---|
命令类型 | 查询 | 设置 |
格式 | AT + CWSAP? | AT + CWSAP = <ssid>,<pwd>,<chl>,<ecn> [,<maxconn>] [,<ssid hidden>] |
响应 | + CWSAP:<ssid>,<pwd>,<chl>,<ecn>,<max conn>,<ssid hidden> | OK或者ERROR |
参数 | <ssid>:AP的SSID。 <pwd>:密码。 <chl>:频道ID。 <ecn>:加密方法。 0:开放 2:WPA_PSK 3:WPA2_PSK 4:WPA_WPA2_PSK <max conn>:最多工作站数 <ssid hidden>:0:广播SSID(默认)。1:不广播SSID。 |
AT + CWLIF
使用此命令,你可以获得连接到ESP8266的Station的IP地址,该IP地址在SoftAP模式下配置。
AT + CWLIF | |
---|---|
格式(执行命令) | AT + CWLIF |
响应 | <ip地址>,<mac> OK |
参量 | <ip address>:工作站的IP地址 <mac>:站的MAC地址 |
TCP / IP AT命令
TCP / IP AT命令负责通过Internet进OK通信。ESP8266 WiFi模块共有25个TCP / IP AT指令。这里提到了一些重要的命令。
TCP / IP 命令 |
---|
AT + CIPSTATUS |
AT + CIPSTART |
AT + CIFSR |
AT + CIPMUX |
AT + CIPSERVER |
AT + CIUPDATE |
AT + CIPSTATUS
ESP8266 WiFi模块的此TCP / IP AT命令获取连接的信息或状态。仅执行类型命令可用。
AT + CIPSTATUS | |
---|---|
命令类型 | 执行 |
格式 | AT + CIPSTATUS |
响应 | STATUS:<stat> + CIPSTATUS:<linkID>,<类型>,<remoteIP>,<remoteport>,<localport>,<tetype> |
参数 | <stat>: 2:已连接AP,获取IP 3:创建TCP或UDP传输。 4:断开连接。 5:不连接。 <linkID>:连接的ID。 <类型>:“ TCP”或“ UDP”。 <remoteIP>:远程IP地址。 <remoteport>:远程端口号。 <localport>:本地端口号。 <tetype>:0:客户。1:服务器。 |
AT + CIPSTART
该AT命令用于建立三个连接之一:TCP,UDP或SSL。根据TCP连接的类型(单个或多个),Set命令的格式将有所不同。
AT + CIPSTART | ||
---|---|---|
命令类型 | 设置 | |
格式 | 单TCP连接 | 多个TCP连接 |
AT + CIPSTART = <类型>,<remoteIP>,<remoteport> [,<TCPkeepalive>] |
AT + CIPSTART =<link ID>,<类型>,<remoteIP>,<remoteport> [,<TCPkeepalive>] |
|
响应 | OK或者ERROR (已建立TCP连接时的响应:ALREADY CONNECTED) |
同左 |
参量 | <link ID>:连接的ID。 <类型>:“ TCP”,“ UDP”或“ SSL”。 <remoteIP>:远程IP地址。 <remoteport>:远程端口号。 [<TCPkeepalive>]:检测时间间隔 |
同左 |
注意:上表显示了仅用于建立TCP连接的命令。有关建立UDP和SSL连接的信息,请参阅官方文档。
AT + CIFSR
该指令用于获取ESP8266 WiFi模块的IP地址。
AT + CIFSR | |
---|---|
命令类型 | 执行 |
格式 | AT + CIFSR |
响应 | + CIFSR:APIP,<SoftAPIPaddress> + CIFSR:APMAC,<SoftAPMACaddress> + CIFSR:STAIP,<StationIPaddress> + CIFSR:STAMAC,<StationMACaddress> OK |
参量 | <SoftAPIPaddress>:ESP8266 SoftAP的IPaddress; <SoftAPMACaddress>:ESP8266 SoftAP的MACaddress <StationIPaddress>:ESP8266 Station的IPaddress。 <StationMACaddress>:ESP8266 Station的MACaddress |
AT + CIPMUX
此AT命令用于启用或禁用多个TCP连接。
AT + CIPMUX | ||
---|---|---|
命令类型 | 查询 | 设置 |
格式 | AT + CIPMUX? | AT + CIPMUX = <模式> |
响应 | + CIPMUX:<模式> OK |
OK |
参量 | <模式>: 0:单连接 1:多个连接 |
AT + CIPSERVER
此AT命令用于创建或删除TCP服务器。
AT + CIPSERVER | |
---|---|
命令类型 | 设置 |
格式 | AT + CIPSERVER = <模式> [,<端口>] |
响应 | OK |
参量 | <模式>: 0:删除服务器。 1:创建服务器。 |
注意:仅当AT + CIPMUX = 1(即启用多个连接)时,才能创建TCP服务器。
AT + CIUPDATE
此AT命令用于通过WiFi连接更新软件,即用于空中更新(OTA)。
AT + CIUPDATE | |
---|---|
命令类型 | 执行 |
格式 | AT + CIUPDATE |
响应 | + CIPUPDATE:<n>OK |
参量 | <n>: 1:查找服务器 2:连接到服务器 3:获取软件版本 4:开始更新 |