Wi-Fi AT 命令集
备注
Wi-Fi AT 命令集默认启用,且无法关闭。
Wi-Fi AT 错误码
Wi-Fi AT 命令的错误码定义如下:
错误码 |
定义 |
---|---|
1 |
必需参数未设置 |
2 |
无效的参数值 |
3 |
参数数量不匹配 |
4 |
内存不足 |
5 |
功能不支持 |
6 |
未知错误 |
7 ~ 16 |
保留 |
17 |
连接失败 |
18 |
结果获取失败 |
19 |
无效的 Wi-Fi 状态 |
20 |
扫描参数异常 |
21 |
AP 启动失败 |
22 |
AP 启动超时 |
AT+WLCONN
功能说明
连接路由器(STA模式)
命令格式
AT+WLCONN=[<type>,<value>,<type>,<value>……]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT 消息
当连接完成,会提示连接成功或者失败的消息
[$]wifi connected
[$]wifi connect failed
当申请到 IPv4 地址时,会有成功或者超时的相关提示消息
[$]wifi got ip:"<ip>"
[$]wifi got ip timeout
当与路由器断开时,会有断线的提示消息
[$]wifi disconnected
参数
<type>:参数类型,后跟对应 <value>
ssid
: 后跟 SSID 名称bssid
: 后跟 BSSID 地址ch
: 后跟信道编号pw
: 后连接密码key_id
: 后跟 WEP 密钥 ID
<value>: 对应 <type> 的具体参数
<ssid>: Wi-Fi SSID 名称
最大长度: 32 字符
<bssid>: AP 的 MAC 地址
格式: 冒号分隔十六进制(例:1a:2b:3c:4d:5e:6f)
<ch>: 无线信道
默认值: 0(自动选择)
<pw>: Wi-Fi 连接密码
<key_id>: WEP 加密模式的密钥索引
有效范围: [0,3]
备注
<ssid>,<bssid>,<ch> 等参数顺序可任意排列
示例
指定 ssid 名称 MyWiFi
和密码 password123
连接路由器:
AT+WLCONN=ssid,MyWiFi,pw,password123
[$]wifi connected
[$]wifi got ip:"192.168.55.236"
OK
指定 BSSID 1a:2b:3c:4d:5e:6f
和密码 securepass
连接路由器:
AT+WLCONN=bssid,1a:2b:3c:4d:5e:6f,pw,securepass
[$]wifi connected
[$]wifi got ip:"192.168.1.11"
OK
AT+WLDISCONN
功能说明
断开当前 Wi-Fi 连接(STA模式)
命令格式
AT+WLDISCONN
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT+WLSTATICIP
功能说明
配置 STA 模式静态 IP 地址
命令格式
AT+WLSTATICIP=<ip>[,<gateway>,<netmask>]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <ip>: IPv4 地址
格式: IPv4 地址字符串(例:192.168.1.100)
- <gateway>: 网关地址
默认值:根据 IP 自动计算
- <netmask>: 子网掩码
默认值: 255.255.255.0
AT+WLSCAN
功能说明
扫描周边 Wi-Fi 网络
命令格式
AT+WLSCAN=[<type>,<value>,<type>,<value>]
响应格式
扫描结果:
<序号>, <MAC 地址>, <信号强度>, <信道>, <模式>, <加密方式>, <SSID>
...
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <type>: 扫描过滤类型
ssid
: 后跟 SSID 名称ch
: 后跟信道列表
- <value>: 对应 <type> 的具体参数
<ssid>: 目标 SSID 名称
<chlist>: 信道列表(例:1:6:11)
备注
<ssid>, <ch> 等参数顺序可任意排列
如果不指定 <ch> 参数,将对所有可用信道进行扫描
示例
扫描信道 1, 6 和 11 的所有路由器:
AT+WLSCAN=ch,1:6:11
1, a4:1a:3a:0d:0f:35, -26, 1, AX, "Open", "TP-LINK_0F35"
2, a6:1a:3a:7d:0f:35, -26, 1, AX, "WPA/WPA2 AES", ""
3, 78:60:5b:0f:b1:d7, -34, 6, AX, "WPA/WPA2 AES", "TP-LINK_B1D7"
4, 04:79:75:8e:3c:d5, -42, 11, AX, "WPA2/WPA3-SAE AES", "huaweipro4"
OK
AT+WLRSSI
功能说明
获取当前连接 AP 的信号强度
命令格式
AT+WLRSSI
响应格式
RSSI = <当前信号强度>
DATA_RSSI = <数据信号强度>
BEACON_RSSI = <信标信号强度>
OK
备注
未连接路由器状态下获取的信号强度无实际意义
AT+WLSTARTAP
功能说明
启用 AP 模式
命令格式
AT+WLSTARTAP=[<type>,<value>,<type>,<value>……]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT 消息
当有 STA 主动连接或者主动断开的时候,会有如下提示消息
[$]client connected:"<sta_mac>"
[$]client disconnected:"<sta_mac>"
当有成功给STA分配IPv4地址时,会有如下提示消息
[$]assign client ip:"<sta_ip>",hwaddr:"<sta_mac>"
参数
- <type>: 参数类型
ssid
: 后跟 SSID 名称ch
: 后跟信道编号pw
: 后连接密码sec
: 后跟加密类型
<value>: 对应 <type> 的具体参数
- <sec>: 安全模式
可选值: open/wep/wpa2/wpa3
- <ch>: AP 信道
有效范围:[1,11]
默认值 1
备注
<ssid>,<ch>,<pw> 等参数顺序可任意排列
示例
在信道 6 上启动一个 ssid 是 MyAP
的不加密的 AP :
AT+WLSTARTAP=ssid,MyAP,ch,6,sec,open
OK
在默认信道 1 上启动一个 ssid 是 SecureAP
, WPA2 加密的密码为 password123
的 AP :
AT+WLSTARTAP=sec,wpa2,pw,password123,ssid,SecureAP
OK
AT+WLSTOPAP
功能说明
关闭 AP 模式
命令格式
AT+WLSTOPAP
响应格式
成功响应:
OK
参数
无
AT+WLSTATE
功能说明
查询 Wi-Fi 状态信息
命令格式
AT+WLSTATE
响应格式
WLAN0 Status: Running
==============================
max_skbinfo_used_num=<skbinfo 历史最大使用数量>, skbinfo_used_num=<skbinfo 当前使用数量>
max_skbdata_used_num=<skbdata 历史最大使用数量>, skbdata_used_num=<skbdata 当前使用数量>
WLAN0 Setting:
==============================
MODE => <模式: STATION 或者 AP>
SSID => <ssid>
BSSID => <bssid>
CHANNEL => <信道>
SECURITY => <安全模式: OPEN, WPA2, WPA3 或者各种混合加密>
PASSWORD => <密码>
Interface (0)
==============================
MAC => <本机 MAC 地址>
IP => <本机 IPv4 地址>
GW => <本机网关地址>
MSK => <本机子网掩码>
WLAN1 Status: Running
==============================
WLAN1 Setting:
==============================
MODE => <模式: STATION 或者 AP>
SSID => <ssid>
BSSID => <bssid>
CHANNEL => <信道>
SECURITY => <安全模式: OPEN, WPA2, WPA3 或者各种混合加密>
PASSWORD => <密码>
Interface (1)
==============================
MAC => <本机 MAC 地址>
IP => <本机 IPv4 地址>
GW => <本机网关地址>
MSK => <本机子网掩码>
Associated Client List:
==============================
Client Num: <当前连接的 STA 数量>
Client 1:
IPv4 address: <1 号 STA 的 IP 地址>, MAC address: <1 号 STA 的 MAC 地址>, rssi: <1 号 STA 的信号强度>
Client 2:
IPv4 address: <2 号 STA 的 IP 地址>, MAC address: <2 号 STA 的 MAC 地址>, rssi: <2 号 STA 的信号强度>
...
OK
示例
获取当前 Wi-Fi 状态信息
AT+WLSTATE
WLAN0 Status: Running
==============================
max_skbbuff_used_num=8, skbbuff_used_num=4
WLAN0 Setting:
==============================
MODE => STATION
SSID => mowifi
BSSID => e8:91:20:fa:8d:1d
CHANNEL => 10
SECURITY => WPA2 AES
PASSWORD => 12345678
Interface (0)
==============================
MAC => 00:e0:4c:b7:23:12
IP => 192.168.55.206
GW => 192.168.55.1
MSK => 255.255.255.0
WLAN1 Status: Running
==============================
WLAN1 Setting:
==============================
MODE => AP
SSID => test
BSSID => 00:e1:4c:b7:23:12
CHANNEL => 10
SECURITY => OPEN
PASSWORD =>
Interface (1)
==============================
MAC => 00:e1:4c:b7:23:12
IP => 192.168.43.1
GW => 192.168.43.1
MSK => 255.255.255.0
Associated Client List:
==============================
Client Num: 1
Client 1:
IPv4 address: 192.168.43.101, MAC address: ae:a8:7f:ca:18:7b, RSSI: -48
OK
AT+WLRECONN
功能说明
配置自动或者快速重连策略
自动重连是在连接上路由器后,如果因为一些原因与路由器断开连接,可以配置是否尝试进行重新连接路由器
快速重连是在连接上路由器后将 ssid 和密码等信息保存在 flash 上,重启再次上电后可以不需要执行 AT+WLCONN 命令即可自动连接路由器
备注
自动重连和快速重连均默认启用
命令格式
AT+WLRECONN=<mode>,<value>
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT 消息
当自动重连每次触发开始和结束会有如下提示消息:
[$]wifi reconnecting
[$]wifi reconnect done
参数
<模式>: 重连模式
auto
: 断线自动重连fast
: 快速连接模式
<参数>: 模式参数
0: 禁用该模式
1: 启用该模式
AT+WLPROMISC
功能说明
启用/禁用 Wi-Fi 混杂模式
命令格式
AT+WLPROMISC=<enable>[,<all/apall>]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <enable>: 混杂模式开关
“enable”: 启用
“disable”: 禁用
- <all/apall>: 数据包过滤模式
“all”: 捕获所有数据包
“apall”: 仅捕获AP相关数据包
备注
当 <enable> 参数设为 “enable” 时,必须提供 <all/apall> 参数
AT+WLWPS
功能说明
执行 Wi-Fi WPS 功能
命令格式
AT+WLWPS=<pcb_pin>[,<pin_val>]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <pcb_pin>: WPS 模式选择
“pcb”: 按键模式
“pin”: PIN 码模式
- <pin_val>: PIN 码值
需符合校验规则
当选择 “pin” 模式时必须提供
备注
<pin_val> 参数仅在 <pcb_pin> 设为 “pin” 时生效
AT+WLPS
功能说明
配置 Wi-Fi 省电模式
LPS 指连接路由器的情况下的 Wi-Fi 省电机制。
IPS 指未连接路由器的情况下的 Wi-Fi 省电机制。
备注
LPS 和 IPS 均默认启用
命令格式
AT+WLPS=<mode>,<enable>[,<mode>,<enable>]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <mode>: 省电类型,后跟对应 <enable>
lps
: LPS 省电机制,后跟开关值ips
: IPS 省电机制,后跟开关值
- <enable>: 开关值
0: 禁用
1: 启用
备注
<lps> 和 <ips> 参数顺序可任意排列
示例
关闭 LPS 和 IPS 省电机制:
AT+WLPS=lps,0,ips,0
OK