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

参数

<mode>:

重连模式

  • auto:断线自动重连

  • fast:快速连接模式

<value>:

模式参数

  • 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