如何基于 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 吞吐性能 来提高整体接收速率。
相关推荐
松涛和鸣11 分钟前
41、Linux 网络编程并发模型总结(select / epoll / fork / pthread)
linux·服务器·网络·网络协议·tcp/ip·算法
缘友一世1 小时前
无线和移动网络(7)复习
网络
广东大榕树信息科技有限公司1 小时前
如何利用机房动环监控系统提升运维效率与安全性?
运维·网络·物联网·国产动环监控系统·动环监控系统
寺中人2 小时前
飞猫M7随身WiFi去云控,解限速,改后台,改壁纸
网络·工具·随身wifi
缘友一世2 小时前
软件定义网络SDN(10)复习
网络
HappRobot2 小时前
OpenTelemetry和Jaeger、 SkyWalking的关系
linux·网络·skywalking
微爱帮监所写信寄信2 小时前
微爱帮监狱寄信写信系统后台PHP框架优化实战手册
android·开发语言·人工智能·网络协议·微信·https·php
Tandy12356_2 小时前
手写TCP/IP协议栈——TCP结构定义与基本接口实现
c语言·网络·c++·网络协议·tcp/ip·计算机网络
少云清3 小时前
【接口测试】4_PyMySQL模块 _操作数据库
服务器·网络·数据库
海清河晏1113 小时前
Linux进阶篇:网络编程
linux·运维·网络