首页

ESP8266在命令

在本教程中,我将向您展示一些重要的和经常使用的ESP8266 AT命令或AT指令集。

ESP8266 WiFi模块为我们的DIY (Do-it-yourself)和物联网(IoT)项目提供完整的网络解决方案。它通过其完整的TCP/IP栈提供WiFi连接到任何微控制器。

ESP8266 WiFi模块可与单片机接口UART微控制器通过广泛的AT命令实现对ESP模块的控制。

ESP8266 WiFi模块的AT命令用于控制模块的所有操作,如重启、连接WiFi、切换操作模式等。因此,理解ESP8266 AT命令非常重要,即使不是全部,至少也要理解一些重要的命令。

ESP8266 AT命令类型

在详细介绍AT命令集以及如何划分AT命令之前,您需要了解不同类型的AT命令。

ESP8266 AT命令基本上可以分为四类:

  • 测试
  • 查询
  • 执行

下表让您清楚地了解了这些不同类型的AT命令。在这里,我将使用一个示例命令“TEST”来演示它们之间的区别。

命令类型

在命令格式 函数

测试

在+测试= ?

返回参数的取值范围

查询

在+测试?

返回当前值

在parameter2 +测试= parameter1,…

设置配置

执行 在测试+

执行一个动作

测试命令:ESP8266 WiFi模块的Test AT命令用于获取命令的参数和范围。

查询命令:查询命令返回命令参数的当前值。

设置命令:设置命令用于设置命令中的参数值,并执行命令。

执行命令:Execute Commands将运行不带参数的命令。

注意:不是所有的ESP8266 AT命令都支持这四种命令类型。

现在我们已经了解了不同类型的ESP8266 AT命令,让我们继续实际的AT命令列表。

ESP8266 AT命令设置

ESP8266 AT命令集分为三类。它们是:

  • 基本在命令
  • 无线网络在命令
  • TCP / IP在命令

ESP8266 WiFi模块共有88条AT命令。我不会讨论所有的88个AT命令,只讨论几个重要的。

如果您想了解所有ESP8266 AT命令的详细信息,建议您访问Espressif Systems (ESP8266EX SoC的制造商)提供的官方文档页面。ESP8266 AT官方命令文档可以在“ESP8266 AT命令文档”中查看在这里

让我们看看每个类别中的不同ESP8266 AT命令,以及它们的格式(语法)和响应。

请注意:[]中提到的参数是可选的。

ESP8266 AT基本命令

根据来自Espressif Systems的官方文档,总共有23个基本AT命令。

基本在命令
在+ RST
在+ GMR

这是测试AT启动的基本命令,即AT系统是否正常工作。如果AT启动成功,那么响应是OK的。

命令 响应
好吧

在+ RST

该命令用于重启(复位)ESP8266 WiFi模块。

命令 响应
在+ RST 好吧

在+ GMR

该命令用于查看固件和SDK的版本信息。响应由三部分组成:AT Firmware版本、SDK版本和BIN文件的编译时间。

命令 响应
在+ GMR

<版本>

> < SDK版本

<编译时间>

好吧

其他重要的AT基本命令:AT+GSLP、ATE和AT+UART。

无线网络在命令

WiFi AT命令用于控制ESP8266模块的WiFi功能,如设置WiFi模式、获取WiFi网络列表、连接WiFi网络、设置接入点(AP)、控制DHCP、WPS、MAC地址、IP地址等。

根据官方文档,ESP8266模块有40条WiFi AT命令。让我介绍几个重要的AT命令。

无线网络在命令
在+ CWMODE
在+ CWJAP
在+ CWLAP
在+ CWQAP
在+ CIPSTA
在+ CWSAP
在+ CWLIF

在+ CWMODE

该命令用于设置WiFi运行模式为Station模式、AP (Soft Access Point)或Station和AP的组合。CWMODE命令支持“测试”、“查询”和“设置”类型命令。

下表给出了该命令的语法、响应和参数(在Set命令中)。

在+ CWMODE
命令类型 测试 查询
格式 在+ CWMODE = ? 在+ CWMODE吗? 在+ CWMODE = <模式>
响应

+ CWMODE: <模式>

好吧

+ CWMODE: <模式>

好吧

好吧
参数

<模式>

1:站

2:软接入点(AP)

3:站+软ap

函数 返回当前WiFi模式 集无线模式

在+ CWLAP

该命令列出ESP8266可访问的所有WiFi网络。它同时具有Set和Execute Command类型。

在+ CWLAP
命令类型 执行
格式

在+ CWLAP[= <名称>,< mac >, <频道>,< scan_type >

, < scan_time_min >、< scan_time_max >)

在+ CWLAP
响应

+ CWLAP: < ecn >, <名称>,< rssi >, < mac >, <频道>,<

频率偏移量>、<频率卡利>、< pairwise_cipher >,

< group_cipher >、< bgn >、< wps >

好吧

注意:有关参数的更多信息,请参考原始文档。

在+ CWJAP

这个命令是连接到一个接入点(如路由器)。

在+ CWJAP
命令类型 查询
格式 在+ CWJAP吗? + CWJAP = <名称>,< pwd >, < bssid >)
响应

+ CWJAP: <名称>,< bssid >, <频道>,< rssi >

好吧

好吧

误差+ CWJAP: < >

失败

参数

:接入点的ssid。

< pwd >:密码。

[]: AP的MAC地址(已使用)

当多个ap具有相同SSID时。)

< >错误

1:连接超时。

2:错误的密码。

3:找不到目标AP。

4:连接失败。

在+ CWQAP

该命令用于断开ESP8266与接入点的连接。

命令 响应
在+ CWQAP 好吧

在+ CIPSTA

该命令用于设置ESP8266 WiFi模块Station模式下的静态IP地址。该命令同时具有查询和设置类型的命令。

在+ CIPSTA
命令类型 查询
格式 在+ CIPSTA吗? 在+ CIPSTA = < ip >、<网关>,<子网掩码>)
响应

ip + CIPSTA: < >

网关+ CIPSTA: < >

+ CIPSTA: <子网掩码>

好吧

好吧
参数 < ip >: ip地址

<网关>:网关

<子网掩码>:子网掩码

函数 返回IP地址,网关和Netmask。 设置“IP地址”、“网关”和“掩码”。

在+ CWSAP

该命令用于配置ESP8266 WiFi模块的AP (Soft Access Point)模式。该命令的查询和设置类型都可用。

在+ CWSAP
命令类型 查询
格式 在+ CWSAP吗?

+ CWSAP = <名称>,< pwd >, <背影>,< ecn >, <马克斯

康涅狄格州>][,<名称>隐藏)

响应 + CWSAP: <名称>,< pwd >, <背影>,< ecn >, <马克斯康涅狄格州>,<名称>隐藏 好吧

错误

参数

: AP的ssid。

< pwd >:密码。

<背影>:频道ID。

< ecn >:加密方法。

0:开放

2: WPA_PSK

3: WPA2_PSK

4: WPA_WPA2_PSK

:工作站的最大数量

<名称>隐藏:

0:广播SSID。(默认)

1:不广播SSID;

在+ CWLIF

通过该命令,可以获取与ESP8266相连的station的IP地址,该station的IP地址是通过软tap方式配置的。

在+ CWLIF
格式(执行命令) 在+ CWLIF
响应

< ip addr >、< mac >

好吧

参数

:站点的ip地址

:站的mac地址

TCP / IP在命令

TCP/IP AT命令负责互联网上的通信。ESP8266 WiFi模块共有25条TCP/IP AT命令。这里提到了一些重要的因素。

TCP / IP命令
在+ CIPSTATUS
在+ CIPSTART
在+ CIFSR
在+ CIPMUX
在+ CIPSERVER
在+ CIUPDATE

在+ CIPSTATUS

ESP8266 WiFi模块的TCP/IP AT命令用于获取连接的信息或状态。只有Execute type命令可用。

在+ CIPSTATUS
命令类型 执行
格式 在+ CIPSTATUS
响应

状态:<统计>

+ CIPSTATUS: < linkID >, <类型>,< remoteIP >, < remoteport >, < localport >, < tetype >

参数

<统计>:

2:表示已连接AP,并获取AP的IP地址。

3:创建TCP或UDP传输。

4:断开连接。

5:不连接。

:连接的ID。

: TCP或UDP。

:远端IP地址。

:远端端口号。

:本地端口号。

< tetype >:

0:客户端。

1:服务器。

在+ CIPSTART

此AT命令用于建立TCP、UDP或SSL三种连接之一。根据TCP连接的类型(单个或多个),Set命令的格式会有所不同。

在+ CIPSTART
命令类型
格式 单一TCP连接 多个TCP连接

在+ CIPSTART = < >类型,

< remoteIP >、< remoteport >

[, < TCPkeepalive >)

在+ CIPSTART = < linkID >, <类型>,

< remoteIP >、< remoteport >

[, < TCPkeepalive >)

响应

好吧

错误

(TCP连接建立时的响应:

已经连接)

参数

:连接ID。

:“TCP”,“UDP”或“SSL”。

:远端IP地址。

:远端端口号。

[]:检测时间间隔

注意:上面的表格显示了仅用于建立TCP连接的命令。关于建立UDP和SSL连接,请参考官方文档。

在+ CIFSR

该AT命令用于获取ESP8266 WiFi模块的IP地址。

在+ CIFSR
命令类型 执行
格式 在+ CIFSR
响应

+ CIFSR: APIP, < SoftAPIPaddress >

+ CIFSR: APMAC, < SoftAPMACaddress >

+ CIFSR: STAIP, < StationIPaddress >

+ CIFSR: STAMAC, < StationMACaddress >

好吧

参数

: ESP8266软接口的IP地址;

: ESP8266软接口的MAC地址

: ESP8266站点的IP地址。

: ESP8266站点的MAC地址

在+ CIPMUX

AT命令用于启用或禁用多个TCP连接。

在+ CIPMUX
命令类型 查询
格式 在+ CIPMUX吗? 在+ CIPMUX = <模式>
响应

+ CIPMUX: <模式>

好吧

好吧
参数

< >模式:

0:单一的连接

1:多个连接

在+ CIPSERVER

该AT命令用于创建或删除TCP服务器。

在+ CIPSERVER
命令类型
格式 在+ CIPSERVER = <模式>,<端口>)
响应 好吧
参数

< >模式:

0:删除服务器。

1:创建服务器。

注意:只有当AT+CIPMUX=1,即启用多个连接时,才能创建TCP Server。

在+ CIUPDATE

此AT命令用于通过WiFi连接更新软件,即over the air (OTA)更新。

在+ CIUPDATE
命令类型 执行
格式 在+ CIUPDATE
响应

n + CIPUPDATE: < >

好吧

参数

< n >:

1:查找服务器

2:连接服务器

3:获取软件版本

4:开始更新

相关文章:

esp8266和arduino入门

如何刷新esp8266的固件?

esp8266 PCB的Diy接线板

5的反应

  1. 你好兄弟,谢谢你的邮件,但是我如何得到我客户的MAC地址?例如,esp8266模式:station webserver,我需要得到我的客户端的mac地址,使用AT命令。

    再一次,非常感谢你的帖子。

留下一个回复

您的电子邮件地址将不会被公布。必需字段被标记

Electronicshub图标
<\/i>","library":""}}" data-widget_type="nav-menu.default">
Baidu