3.4. Wi-Fi IPERF示例说明
本工程展示了使用iperf测试wifi吞吐率的使用示例:
WIFI STA模式测试IPERF。
WIFI AP模式测试IPERF。
IPERF的上下行吞吐率测试以及参数配置。
3.4.1. 工程示例及配置说明
example:
进入
apps/demo/demo_DevKitBoard/include/demo_config.h
,开启宏USE_DEMO_WIFI_TEST
和USE_WIFI_IPERF_TEST
在
app_config.h
中打开宏定义#define CONFIG_WIFI_ENABLE
和#define CONFIG_IPERF_ENABLE
在
wifi_demo_task.c
中进行如下配置:打开宏定义
AP_MODE_TEST
或者STA_MODE_TEST
配置WIFI工作模式配置AP模式和STA模式的
SSID
(名称)和PWD
(密码)
3.4.2. 模块依赖
如果只需要测试STA模式和MONITOR模式, 工程文件或者Makefile包含wl_wifi_sta.a, wpasupplicant.a
如果只需要测试AP模式, 工程文件或者Makefile包含wl_wifi_ap.a
如果STA和AP模式均要测试, 工程文件或者Makefile包含wl_wifi.a,wpasupplicant.a
其中wl_wifi_ap_sfc.a,wl_wifi_sta_sfc.a,wl_wifi_sfc.a为节省内存/降低性能版本的WIFI库
3.4.3. 代码流程
demo_wifi()入口:
A)创建WIFI启动任务wifi_demo_task
B)打印WIFI信号质量信息和吞吐率信息
wifi_event_callback():
A)case WIFI_EVENT_MODULE_INIT: 配置WIFI启动前的必要配置, 例如WIFI MP测试后校准PA参数, WIFI启动前的默认模式, 配置信息等
B)case WIFI_EVENT_MODULE_START:配置WIFI启动后的配置
wifi_demo_task()函数流程:
A)注册WIFI事件回调函数
B)启动WIFI
C)启动IPERF测试
3.4.4. 常见问题
iperf测试工具的下载和命令说明:
WIFI库选择说明:
wl_wifi.a
包含AP和STA模式,占据大内存,性能强悍
wl_wifi_sfc.a
包含AP和STA模式,占据内存小
wl_wifi_ap.a
只包含AP模式,占据大内存,性能强悍
wl_wifi_ap_sfc.a
只包含AP模式,占据内存小
wl_wifi_sta.a
只包含STA模式,占据大内存,性能强悍
wl_wifi_sta_sfc.a
只包含STA模式,占据内存小
lwip.a
占据大内存,性能强悍
lwip_sfc.a
占据内存小
wpasupplicant.a
如果需要使用STA模式,需要包含, 仅使用AP模式不需要包含
iperf测试吞吐率一般结果为多少?
答:AP模式下一般TX/RX速率有800KB/S-2MB/S,STA模式下一般有200KB-1MB/S
影响iperf测试吞吐率的因素有哪些?
答:
1.WIFI RF校准参数有没有进行仪器测试调整到SDK里面
2.板子天线是否有调试好
3.AP模式比STA模式吞吐率要高
4.空中信道是否有比较大的干扰
5.SDK运行过程中剩下的CPU使用率是否足够
6.测试手机,路由器,设备,距离是否足够小
7.使用占据资源多的高性能的WIFI库与LWIP库有利于提高吞吐率
8.程序运行在SDRAM模式比在SFC模式吞吐率要高