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_TESTUSE_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测试工具的下载和命令说明:

    点击 iperf下载 进行下载,点击 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模式吞吐率要高