ESP8266 AT指令有哪些?
0 1104
1
该提问暂无详细描述
收藏
2021-02-03 17:32 更新 我爱喝牛奶G •  2068
共 1 个回答
高赞 时间
0

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:开始更新

最后

via:https://www.electronicshub.org/esp8266-at-commands/

收藏
2021-02-03 17:33 更新 蝈蝈 •  224