EC801E USB AT 4G HTTP 下行测速示例
源码位置: samples/network/modem_usb_speed 查看源码
功能说明
本示例用于测试 EC801E 模块通过 USB AT 接口进行 4G HTTP 下载时的下行吞吐能力。
示例保持最小化配置,默认关闭 UI、音频、算法、播放器和云端相关模块,避免这些业务模块影响测速结果。程序会通过 lisa_modem 创建 TCP socket,发送 HTTP GET 请求,并持续读取响应体直到文件接收完成。
测试完成后会打印:
实际接收的响应体大小
响应体接收耗时
平均下载速度,单位为 KiB/s 和 Mbps
测试前后的信号强度信息
硬件连接
当前面向 ARCS EVB + EC801E USB ECM 设备
将 EC801E 的 USB 口连接到开发板
USB_ARCSUSB 线材需要支持数据通信
示例会枚举
/dev/ttyUSBx,并匹配 EC801E 的 AT 接口
测试地址
#define SPEEDTEST_URL_1M "http://47.107.81.30:80/test_1M.bin"
#define SPEEDTEST_URL_5M "http://47.107.81.30:80/test_5M.bin"
#define SPEEDTEST_URL_CUSTOMER "http://test-qiniu-oss1.phone580.net/fzs-box/rk3308ota/music/yiqiannianyihou.mp3"
如需更换测试文件,可以在 src/main.c 中修改上述 URL。建议使用稳定可访问、响应体大小明确的 HTTP 文件地址。
编译
./build.sh -S arcs-sdk/samples/network/modem_usb_speed -DBOARD=arcs_evb
日志
测速日志使用以下 tag,调试时可按该关键字过滤:
4g.usb.speed
重点关注以下日志内容:
signal:测试前后的 CSQ、RSSI 和 BERtarget resolved:域名解析结果app recv:接收过程中的实时速率、调用次数和等待耗时result:最终接收大小、耗时和平均速度
注意事项
当前示例只匹配
VID:PID=0x2c7c:0x0903的 EC801E USB ECM 设备。当前示例只使用 EC801E 的 USB AT 接口
intf=3。测速结果受运营商网络、信号强度、服务器带宽和测试文件所在网络环境影响。
如果下载长时间无数据,请先确认模块已注册网络、SIM 卡状态正常,并检查目标 URL 是否可访问。