【ESP8266】基础AT指令和常用WIF指令

【ESP8266 (12F)】硬件参数 以及 固件烧录

一、常用AT命令

完整的请参考:AT指令指南 这个pdf。

指令复制进串口助手可能无效,可以尝试手打。

资料地址:https://github.com/CQUPTLei/ESP8266

通用 AT 命令有四种类型:

类型命令格式说明
测试命令AT+<命令名称>=?查询设置命令的内部参数及其取值范围
查询命令AT+<命令名称>?返回当前参数值
设置命令AT+<命令名称>=<…>设置用户自定义的参数值,并运行命令
执行命令AT+<命令名称>运行无用户自定义参数的命令
  • 不是每条 AT 命令都具备上述四种类型的命令。
  • 命令里输入参数,当前只支持字符串参数和整形数字参数。
  • 尖括号 < > 内的参数不可以省略。
  • 方括号 [ ] 内的参数可以省略,省略时使用默认值。

1.1 基础

AT:测试AT启动

AT+RST:重启

AT+GMR:查看版本信息

AT+CMD?:查询当前固件支持的所有命令及命令类型

AT+GSLP=time:进入Deep-sleep模式,单位毫秒

ATE1、ATE0:开启或关闭 AT 回显功能

AT+RESTOREL:恢复出厂设置(当前固件)

AT+UART_DEF=115200,8,1,0,3:设置串口的波特率、数据位、停止位、校验位、流控(下次上电依然有效)

AT+SYSRAM?:查看当前剩余堆空间和最小堆空间

AT+SYSMSG:查询/设置系统提示信息

AT+SYSSTORE:设置参数存储模式,=0:不存储在Flash,=1:存储在Flash,?:查询当前存储模式

1.2 WiFi相关

1.21 AT+CWMODE:查询/设置 Wi-Fi 模式 (Station/SoftAP/Station+SoftAP)

AT+CWMODE?查询 ESP 设备的 Wi-Fi 模式

  • 0: 无 Wi-Fi 模式,并且关闭 Wi-Fi RF
  • 1: Station 模式
  • 2: SoftAP 模式
  • 3: SoftAP+Station 模式
  • Station模式是客户端模式,模块可以连接到其他路由器发出的Wi-Fi信号,主要应用在网络通信中。
  • SoftAP模式是软路由模式,模块本身相当于一个路由器,其他设备可以连接到模块发送的Wi-Fi信号,主要应用在主从设备的主机部分。
  • Station+SoftAP模式是混合模式,模块可以在与其他设备连接的同时充当路由器,结合上面两种模式的综合应用,一般应用在需要网络通信且在主从关系中的主机

AT+CWMODE=<mode>[,<auto_connect>]设置 ESP 设备的 Wi-Fi 模式

<auto_connect>:切换 ESP 设备的 Wi-Fi 模式时(例如,从 SoftAP 或无 Wi-Fi 模式切换为 Station 模式或 SoftAP+Station 模式),是否启用自动连接 AP 的功能,默认值:1。参数缺省时,使用默认值,也就是能自动连接。

– 0: 禁用自动连接 AP 的功能
– 1: 启用自动连接 AP 的功能,若之前已经将自动连接 AP 的配置保存到 flash 中,则 ESP 设备将自动连接 AP

1.22 AT+CWJAP:连接 AP

连接wifi时,先设置为模式1或者3,注意你的模块支持的频段,比如的是是2.4GHz的,就不能连5GHz的wifi

AT+CWJAP?查询与 ESP Station 连接的 AP 信息

AT+CWJAP=[<ssid>],[<pwd>][,<bssid>][,<pci_en>][,<reconn_interval>][,<listen_interval>,→][,<scan_mode>][,<jap_timeout>][,<pmf>]设置 ESP Station 需连接的 AP

AT+CWJAP将 ESP station 连接至上次 Wi-Fi 配置中的 AP

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的说明可能看的头晕了,莫急,看看简单示例:

// 如果目标 AP 的 SSID 是 "abc",密码是 "0123456789",则命令是:
AT+CWJAP="abc","0123456789"
// 如果目标 AP 的 SSID 是 "ab\,c",密码是 "0123456789"\",则命令是:
AT+CWJAP="ab\\\,c","0123456789\"\\"
// 如果多个 AP 有相同的 SSID "abc",可通过 BSSID 找到目标 AP:
AT+CWJAP="abc","0123456789","ca:d7:19:d8:a6:44"
// 如果 ESP-AT 要求通过 PMF 连接 AP,则命令是:
AT+CWJAP="abc","0123456789",,,,,,,3

在这里插入图片描述

1.23 AT+CWLAP:扫描当前可用的 AP

功能:
列出符合特定条件的 AP,如指定 SSID、MAC 地址或信道号

1.24 AT+CWSAP:配置 ESP SoftAP 参数

注意把模式设置为3.

AT+CWSAP?:查询 ESP SoftAP 的配置参数

AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>[,<max conn>][,<ssid hidden>]:设置 ESP SoftAP 的配置参数

在这里插入图片描述
在这里插入图片描述

示例:

AT+CWSAP="ESP8266","11223344",5,3

1.25 AT+CWLIF:查询连接到 ESP SoftAP 的 station 信息

输出:连接者的ip地址和mac地址


这些是常用的,更多的请看完整PDF。

二、应用

2.1 SoftAP模式

ESP8266作为SoftAP,主要是用来使连接到它的设备可以直接和他通信。连接到它的设置是不能直接连接到因特网的。

在我们的大多数ESP8266 NodeMCU Web 服务器项目中,我们将 ESP8266 连接到无线路由器。在这个配置中,我们可以通过本地网络访问ESP8266。

在这种情况下,路由器充当接入点,ESP8266 设置为站。因此,您需要连接到路由器(本地网络)才能控制 ESP8266。

在这里插入图片描述

在某些情况下,这可能不是最佳配置(当您附近没有路由器时)。但是,如果您将 ESP8266 设置为接入点(热点),您可以使用任何具有 Wi-Fi 功能的设备连接到 ESP8266,而无需连接到路由器。

简而言之,当您将 ESP8266 设置为接入点时,您会创建自己的 Wi‑Fi 网络,附近的 Wi-Fi 设备(站点)可以连接到它(例如您的智能手机或计算机)。

在这里插入图片描述

因为 ESP8266 不进一步连接到有线网络(如您的路由器),所以它被称为软 AP(软接入点)。

这意味着如果您尝试从 Internet 加载库或使用固件,它将不起作用。如果您尝试向 Internet 上的服务发出 HTTP 请求(例如将传感器读数发布到云),它也不起作用。


也可以运行在,SoftAP+Station模式,让子设备通过esp8266实现互联网数据传输,这也是常用的模式之一。

或者使用串口、IIC等连接子设备,再通过esp8266连接互联网。

2.2 WiFi中继(趣味)

此外,esp8266还可以运行在SoftAP+Station 模式,再使用NAT功能,让ESP8266 连接到家里的路由器,再让其他设备连接到ESP8266的WiFi,实现WiFi中继的效果。

这功能路由器也能完成,但使用ESP8266或许更便宜,或许还可以有其他用处,也挺好玩的。
在这里插入图片描述

这是项目地址:https://github.com/martin-ger/esp_wifi_repeater,可以到这里下载固件。



~

### ESP8266 WiFi 模块 AT指令 使用说明 #### 连接模式配置 ESP8266可以设置为不同的工作模式来适应各种应用场景。对于SoftAP+Station模式,该设备不仅能够连接至现有的Wi-Fi网络,还允许其他设备连接到它创建的热点[^1]。 ```plaintext AT+CWMODE=3 ``` 此命令用于设定ESP8266的工作模式为同时支持STA(客户端)AP(接入点),即混合模式。 #### Wi-Fi连接建立 为了使ESP8266连接到指定的无线网络,在发送任何数据之前需先执行相应的关联操作。下面这条语句展示了如何让ESP8266尝试加入名为"HOMOR 70"且密码为"123123abc"的安全WiFi网络[^2]: ```plaintext AT+CWJAP="HOMOR 70","123123abc" ``` 成功后会返回OK表示已连上目标SSID;如果失败则给出错误提示。 #### TCP/UDP通信初始化 一旦建立了稳定的互联网链接,就可以利用ESP8266发起TCP或UDP请求了。以下是启动单次连接的例子: - **TCP Client** ```plaintext AT+CIPSTART="TCP","example.com",80 ``` - **UDP Communication** ```plaintext AT+CIPSTART="UDP","target_ip_address",remote_port,local_port ``` 上述两条命令分别用来开启一次性的TCP客户端会话以及UDP传输通道。其中`CIPSTART`参数指定了协议类型、服务器地址及其监听端口号等必要信息。 #### 数据收发处理 当准备就绪之后便可通过如下方式发送HTTP GET请求或其他形式的数据包给远程主机: ```plaintext AT+CIPSEND=<length> <your data here> ``` 这里的`<length>`代表即将传送的内容长度字节数,而实际要发出的信息紧跟其后输入即可完成整个过程。 另外值得注意的是,在某些情况下可能还需要关闭当前打开的连接以便释放资源供下次调用: ```plaintext AT+CIPCLOSE ``` 这将终止所有正在进行中的通讯链路并清理相关状态。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

感谢地心引力

有用的话请我喝杯咖啡吧????

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值