3.5. Wi-Fi 扫描示例工程说明
本工程展示了使用STA/AP模式下启动扫描空中SSID并获取扫描结果的使用示例:
STA模式下启动扫描空中SSID并获取扫描结果
AP模式下启动扫描空中SSID并获取扫描结果
3.5.1. 工程示例及配置说明
STA模式扫描example:
进入
apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏USE_DEMO_WIFI_TEST
和USE_WIFI_SCAN_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
和USE_WIFI_SCAN_TEST
在
wifi_demo_task.c
中打开宏定义#define AP_MODE_TEST
配置WIFI工作在AP模式,并且配置好AP_SSID
和AP_PWD
在
wifi_conf.c
中打开AP扫描开关const char wifi_ap_scan_support = 1;
3.5.2. 代码流程
demo_wifi()入口:
A)创建任务wifi_demo_task
wifi_demo_task():
A)启动WIFI
B)打印WIFI信号质量信息和吞吐率信息
C)循环调用扫描函数
wifi_scan_test()
wifi_scan_test():
A)STA模式或者AP模式下启动一次扫描空中SSID
B)打印WIFI信号质量信息和吞吐率信息
C)启动一次扫描空中SSID后,获取扫描结果
D)打印扫描到的空中SSID结果
3.5.3. 常见问题
若使用连接最优WIFI(connect_best_network)的情况下,如果不使用等待WIFI_STA_SCAN_COMPLETED事件的方式, 在WIFI还未连接成功的情况下,有概率会造成wifi内部获取的结果被这里清空导致当次获取不到空中准备WIFI列表,需要等到下次扫描结果,因此如果使用connect_best_network的情况下,推荐使用等待事件 WIFI_STA_SCAN_COMPLETED 扫描完成之后才去获取结果。