如何基于 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 吞吐性能 来提高整体接收速率。
相关推荐
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
wuyk5555 天前
《WiFi 嵌入式物联网开发全套实战》| 第 16 章 ESP32 AP+STA 双模共存原理与工程坑点
网络·stm32·物联网
XUEYUAN52125 天前
ASN 自治系统号风控:平台如何通过 IP 所属自治域批量识别代理流量
python·网络协议·http·网络安全·socks5
QYRdata5 天前
年均增速24.2%!机器人数据湖未来六年增长动能强劲
网络·机器人·服务发现
CHENKONG_CK5 天前
破解制鞋打磨痛点:RFID赋能去毛刺工序自动化升级
网络·单片机·嵌入式硬件·网络协议·tcp/ip
chshang19925 天前
工业路由器是什么?浅谈5G工业网络中的IR602
网络·物联网·5g·智能路由器
萧瑟余晖5 天前
Netty 核心组件与 Reactor 模型详解
网络·架构
ITxiaobing20235 天前
IP 定位服务选型指南:从准确率到工程落地的技术考察
linux·服务器·网络
wuyk5555 天前
【Socket 进阶之路】第 9 章 Linux 网络服务量产稳定性优化|心跳保活、TIME_WAIT、SO_LINGER、内存池、断线重连、完整异常防护框架
linux·服务器·开发语言·网络·物联网
z落落5 天前
C#UDP+串口服务端+UDP 客户端(含 CRC16 校验)
网络·网络协议·udp