如何基于 esp-at 固件测试 TCP (UART 转 WiFi 透传)吞吐?

测试工具:

  • windows/Ubuntu/Android(电脑或手机与 ESP 开发板连接相同路由器)
  • iperf2 工具
  • ESP 系列的开发板
  • USB-TTL 串口调试工具
  • 路由器

测试固件:


不同环境下的 Iperf 工具安装说明

Iperf 工具用于创建 TCP Server , 并统计 TCP 接收速率

在 Windows 上安装 iperf2

  • 如果您使用 Windows 环境进行测试,可以在 Iperf/Download 网站下载 Windows Iperf2.0.9 版本的工具
  • Windows ------ 设置 ------ 网络配置界面 检查 PC 本机的 IP 地址,即为创建的 TCP Server 的 IP 地址。如下:

  • 在 Windows 上使用 Win+R 键,输入 cmd 指令进入终端界面,如下:

  • 然后用 cd 指令进入 iperf2 工具目录,如下

  • 可以先运行如下指令查看 iperf 指令使用说明

    bash 复制代码
    iperf.exe --help
  • 使用 iperf 工具运行如下指令创建 TCP Server 并设置传输速率的打印

    bash 复制代码
    iperf.exe -s -i 2

    默认使用 Kbit/s 的单位来统计速率

    如果想更改速率统计单位,例如使用 KBytes/s 的单位统计,可以使用如下指令:

    bash 复制代码
    iperf.exe -s -f KBytes -i 2

在 Ubuntu20.04 上安装 iperf2

  • 如果您使用的是 Ubuntu 环境,可以使用如下指令安装 Iperf2 工具:

    bash 复制代码
    sudo apt-get update
    sudo apt-get install iperf
  • PC 连接同一个路由器

  • 打开终端环境,使用 iperf 指令创建 TCP Server 并设置传输速率的打印

    bash 复制代码
    iperf -s -f KBytes -i 2

    在 Ubuntu 上,可以使用 Ctrl+C 指令退出终端环境

  • 在 Ubuntu 上另起一个终端窗口,运行如下指令,查询本机 IP 地址,即为创建的 TCP Server 的 IP 地址

    bash 复制代码
    ifconfig

在手机端安装 Iperf 测试 APP

  • 在 Android 手机端安装 Magic iPerf APP

  • 手机连接同一个路由器

  • 打开 Magic iPerf APP ,选择 iperf2 ,使用如下指令创建 TCP Server 并设置传输速率的打印

    bash 复制代码
    -s -f KBytes -i 2
  • 创建的 TCP Server 的 IP 地址将打印在如上界面上。


  • 开发板的 AT 串口连接串口调试工具

  • 在 PC 端使用串口调试助手,发送如下 AT 指令,进入 TCP 透传模式来测试:

    c 复制代码
    AT+RESTORE                  //恢复 AT 固件初始化设置
    
    AT+SLEEP=0                  // AT  固件默认启用 Modem sleep 模式,关闭 Sleep 模式
    
    AT+CWMODE=0                 // AT  固件默认启用 WiFi AP 模式,关闭 WiFi AP 模式
    
    AT+CWMODE=1                 //设置 WiFi Station 模式
    
    AT+CWJAP="cc2.4","12345678"            //连接路由器
    
    AT+CIPMODE=1                // 设置 WiFi 透传传输模式
    
    AT+CIPSTART="TCP","192.168.1.103",5001           //与 TCP Server 建立连接
    
    AT+CIPSEND                    // 进入 TCP 透传模式
    
    // 可发送如下数据(不带换行)退出 TCP 透传模式
    +++ 
  • 在串口调试工具界面连续发送 1460(或 1440) 字节的数据

  • 统计 TCP 接收速率结果如下:


【总结】

  • 由于 ESP 开发板连接了外部路由器,因此路由器的网络性能将直接影响 TCP 接收带宽能力。在 ESP 设备端可以参考 如何提高 ESP-AT 吞吐性能 来提高整体接收速率。
相关推荐
shykevin16 分钟前
python开发Streamable HTTP MCP应用
开发语言·网络·python·网络协议·http
tmacfrank1 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
数据与人工智能律师3 小时前
虚拟主播肖像权保护,数字时代的法律博弈
大数据·网络·人工智能·算法·区块链
purrrew4 小时前
【Java ee初阶】HTTP(2)
网络·网络协议·http
火星数据-Tina4 小时前
从HTTP轮询到WebSocket:如何让体育API性能提升100倍?
websocket·网络协议·http
hgdlip6 小时前
怎么快速换电脑浏览器的ip:方法与注意事项
网络·网络协议·tcp/ip·电脑
可怜的Tom被玩弄于股掌之中6 小时前
BUUCTF——Nmap
网络·安全·web安全·网络安全
今儿敲了吗8 小时前
计网| 网际控制报文协议(ICMP)
网络·智能路由器
南棱笑笑生9 小时前
20250515测试飞凌的OK3588-C的核心板在Linux R4下适配以太网RTL8211F-CG时跑iperf3的极速
linux·服务器·网络
Think Spatial 空间思维9 小时前
【HTTPS基础概念与原理】TLS握手过程详解
数据库·网络协议·https