P2P AT 命令集
备注
P2P AT 命令集默认未启用。
参考 配置工程(menuconfig) 进入
CONFIG SHELL配置,勾选Enable P2P来启用 P2P AT 命令集。
AT+WLP2PSTART
功能说明
初始化并启动 P2P 设备
命令格式
AT+WLP2PSTART=[<type>,<value>,<type>,<value>……]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <type>:
参数类型,后跟对应 <value>
listen_ch:后跟监听信道op_ch:后跟操作信道
- <value>:
对应 <type> 的具体参数
- <listen_ch>:
监听信道
可以是 1,6,11
- <op_ch>:
操作信道
可以是 1,6,11
备注
可以不跟任何参数,监听信道和操作信道从 ch 1,6,11 中随机选择。
AT+WLP2PSTOP
功能说明
停止 P2P 模式
命令格式
AT+WLP2PSTOP
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT+WLP2PCONN
功能说明
P2P 设备连接,包括 GO Nego、群组组建和连线。
命令格式
AT+WLCONN=[<type>,<value>,<type>,<value>……]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <type>:
参数类型,后跟对应 <value>
peer:后跟对端 P2P 设备的 MAC 地址pbc:后面不用跟对应<value>pin_display:后面不用跟对应<value>pin_keypad:后跟 8 位 PIN 码go_intent:后跟成为 GO 的意愿值
- <value>:
对应 <type> 的具体参数
- <peer>:
对端 P2P 设备的 MAC 地址
格式:冒号分隔十六进制(例如:1a:2b:3c:4d:5e:6f)
- <pin_keypad>:
PIN 码
8 位数字 PIN 码(例如:12345678)
- <go_intent>:
成为 GO 的意愿值
有效范围:[0,15]。若不带 go_intent 参数,会随机生成 go_intent 值;若 go_intent=15,则此设备会固定成为 GO.
AT 消息
连线过程中会显示如下 P2P 提示消息:
P2P-NOTIFY: P2P-GO-NEG-SUCCESS P2P-NOTIFY: P2P-GROUP-FORMATION-SUCCESS P2P-NOTIFY: P2P-GROUP-STARTED
连线成功,GO 会显示:
[$]client connected:<client_mac_addr> [$]assign client ip:<ip_addr>
连线成功,GC 会显示:
[$]wifi connected [$]wifi got ip:<ip_addr>
AT+WLP2PDISCONN
功能说明
断线并删除 group
命令格式
AT+WLP2PDISCONN
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
AT+WLP2PSTATE
功能说明
获取当前 P2P 设备信息
命令格式
AT+WLP2PSTATE
AT+WLP2PFIND
功能说明
P2P 设备发现
命令格式
AT+WLP2PFIND=[<timeout_sec>]
响应格式
成功响应:
OK
错误响应: error_no 定义请参考 Wi-Fi AT 错误码。
ERROR: <error_no>
参数
- <timeout_sec>:
设备发现的超时时间,单位为秒。如不设置,默认 30s.
AT 消息
当扫描到一个 P2P 设备,会显示这台设备的基本信息,包括 P2P Device Address, P2P 角色(GC,GO or DEVICE), name 和 listen channel, 举例如下:
P2P-NOTIFY: P2P-DEVICE-SCANNED 00:e0:4c:00:14:2d role=DEVICE name=DIRECT- listen_ch=6
当设备发现阶段结束,会提示如下消息:
P2P-NOTIFY: P2P-FIND-STOPPED
AT+WLP2PPEERS
功能说明
显示已发现的 P2P 设备
命令格式
AT+WLP2PPEERS
响应格式
成功响应:
OK
参数
无
AT 消息
显示所有已发现设备的信息,包括 P2P Device Address, P2P 角色(GC,GO or DEVICE), 和 listen channel, 举例如下:
Found p2p peers: [0]:00:e0:4c:00:14:2d, P2P_DEV, listen_ch 6 [1]:00:e0:4c:00:14:2f, P2P_DEV, listen_ch 11