使用iperf打流
当需要测试无线的极限吞吐的时候,一般会用到 iperf 工具进行打流。
本文介绍如何使用bouffalo sdk实现iperf打流。
注意如果想获得最佳的性能,需要在屏蔽环境执行打流操作,并确保屏蔽环境中没有其他路由器和设备干扰打流过程。
编译打流固件
在Bouffalo SDK上使用 examples/wifi/sta/wifi_tcp 这个app,并确保 CONFIG_WIFI_IPERF 配置项使能。
以BL616为例,在Bouffalo SDK的根目录下执行:
make -C examples/wifi/sta/wifi_tcp CHIP=bl616 BOARD=bl616dk
执行成功后,确保固件已经正常产生:
然后执行烧录:sudo make -C examples/wifi/sta/wifi_tcp CHIP=bl616 BOARD=bl616dk flash COMX=/dev/ttyUSB1
注意需要使用root权限,因为要操作串口设备,并确保COMX参数指向正确的烧录串口。
此时打开/dev/ttyUSB1串口,波特率2000000,8n1,即可看到有日志输出:
iperf打流
Wi-Fi连接后,输入iperf即可看到iperf的命令用法:
此时在相同局域网下,找一台网线连接的电脑,执行iperf -s -i 1 -t 30,在BL616上执行iperf -c 192.168.133.15 -i 1 -t 30,其中192.168.133.15 为电脑的IP。当前模式下BL616为Client,向Server发送数据,测试BL616的TX吞吐。
本次实验在办公区开放环境下进行。
如果测试BL616 RX的吞吐,则在BL616上执行iperf -s -i 1 -t 30,在电脑上执行:iperf -c 192.168.133.250 -i 1 -t 30,其中192.168.133.250是BL616的IP地址。
上述操作步骤即完成了BL616的Wi-Fi TX/RX极限吞吐测试。