3.3. Wi-Fi AP/STA/MONITOR模式示例说明
本工程展示了wifi模块ap/sta/monitor三种模式切换的使用示例:
wifi启动STA模式的使用
wifi启动AP模式的使用
wifi启动MONITOR模式的使用
3.3.1. 工程示例及配置说明
STA模式example:
进入
apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏USE_DEMO_WIFI_TEST
在
wifi_demo_task.c
中打开宏定义
#define STA_MODE_TEST
配置WIFI工作在STA模式,并且配置好STA_SSID
和STA_PWD
AP模式example:
进入
apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏USE_DEMO_WIFI_TEST
在
wifi_demo_task.c
中打开宏定义#define AP_MODE_TEST
配置WIFI工作在AP模式,并且配置好AP_SSID
和AP_PWD
MONITOR模式example:
进入
apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏USE_DEMO_WIFI_TEST
在
wifi_demo_task.c
中打开宏定义#define MONITOR_MODE_TEST
配置WIFI工作在混杂/监听/配网模式
Note
若需要循环模式切换测试同时打开宏WIFI_MODE_CYCLE_TEST
3.3.2. 代码流程
STA_MODE_TEST配置WIFI工作在STA模式:
c_main()入口:
A)创建任务wifi_demo_task
wifi_demo_task():
A)启动WIFI
B)打印WIFI信号质量信息和吞吐率信息
wifi_event_callback():
A)case WIFI_EVENT_MODULE_INIT: 配置WIFI启动为STA模式和连接路由器的SSID和密码
B)case WIFI_EVENT_STA_NETWORK_STACK_DHCP_SUCC:连接路由器成功,并且DHCP获取到IP地址
AP_MODE_TEST配置WIFI工作在AP模式:
c_main()入口:
A)创建任务wifi_demo_task
wifi_demo_task():
A)启动WIFI
B)打印WIFI信号质量信息和吞吐率信息
wifi_event_callback():
A)case WIFI_EVENT_MODULE_INIT: 调用wifi_set_lan_setting_info();配置AP模式的IP地址信息和DHCP池起始分配地址, 配置WIFI启动为AP模式和热点SSID和密码
B)case WIFI_EVENT_AP_START:AP模式启动成功,此时手机端可以搜索到对应SSID的热点
C)case WIFI_EVENT_AP_ON_ASSOC:当有手机成功连接到WIFI,引发事件
D)case WIFI_EVENT_AP_ON_DISCONNECTED:当有手机断开WIFI,引发事件
MONITOR_MODE_TEST配置WIFI工作在混杂/监听/配网模式:
c_main()入口:
A)创建任务wifi_demo_task
wifi_demo_task():
A)启动WIFI
B)打印WIFI信号质量信息和吞吐率信息
wifi_event_callback():
A)case WIFI_EVENT_MODULE_INIT: 配置WIFI启动为MONITOR模式
B)case WIFI_EVENT_SMP_CFG_START:注册接收802.11数据帧回调wifi_rx_cb
C)case WIFI_EVENT_SMP_CFG_STOP:关闭接收802.11数据帧回调
wifi_rx_cb():
A)打印接收到的802.11数据帧