如何基于 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 吞吐性能 来提高整体接收速率。
相关推荐
白狐_79814 分钟前
【计网全栈通关】第 7 篇:传输层核心——TCP 连接管理、可靠传输与流量控制
网络·网络协议·tcp/ip
小李独爱秋22 分钟前
计算机网络经典问题透视:数据流的平均速率,峰值速率和突发长度各表达什么意思?
网络·网络协议·计算机网络·安全·信息与通信
好奇心害死薛猫28 分钟前
飞牛NAS_docker_easytier
网络·docker
市安1 小时前
nat模式下lvs规划与部署
服务器·网络·php
NewCarRen1 小时前
汽车电子开发中功能安全和网络安全工程流程的协调
网络·安全
SaaS_Product1 小时前
企业网盘可以在局域网使用吗?
网络·人工智能·云计算·saas
YYYing.1 小时前
【计算机网络 | 第九篇】计网之传输层(三)—— TCP的拥塞控制与连接管理
网络·网络协议·tcp/ip·计算机网络
LcVong1 小时前
基于C#实现斑马ZT411打印机TCP通讯与打印状态精准判定
网络·tcp/ip·c#
willhuo1 小时前
程序这东西,想的即使在完善,也有想不到的地方。。
linux·服务器·网络
EverydayJoy^v^1 小时前
RH134学习进程——三.分析与存储日志
运维·服务器·网络