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