如何基于 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 吞吐性能 来提高整体接收速率。
相关推荐
明月看潮生16 分钟前
青少年编程与数学 02-003 Go语言网络编程 15课题、Go语言URL编程
开发语言·网络·青少年编程·golang·编程与数学
龙哥说跨境1 小时前
如何利用指纹浏览器爬虫绕过Cloudflare的防护?
服务器·网络·python·网络爬虫
懒大王就是我1 小时前
C语言网络编程 -- TCP/iP协议
c语言·网络·tcp/ip
Elaine2023912 小时前
06 网络编程基础
java·网络
海绵波波1073 小时前
Webserver(4.3)TCP通信实现
服务器·网络·tcp/ip
幺零九零零6 小时前
【计算机网络】TCP协议面试常考(一)
服务器·tcp/ip·计算机网络
热爱跑步的恒川6 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
云飞云共享云桌面7 小时前
8位机械工程师如何共享一台图形工作站算力?
linux·服务器·网络
音徽编程9 小时前
Rust异步运行时框架tokio保姆级教程
开发语言·网络·rust
幺零九零零10 小时前
【C++】socket套接字编程
linux·服务器·网络·c++