当前位置: 首页 > news >正文

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

测试工具:

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

测试固件:

  • AT 固件

  • AT 固件硬件接线说明


不同环境下的 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 指令使用说明

    iperf.exe --help
    

    在这里插入图片描述

  • 使用 iperf 工具运行如下指令创建 TCP Server 并设置传输速率的打印

    iperf.exe -s -i 2
    

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

    在这里插入图片描述

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

    iperf.exe -s -f KBytes -i 2
    

    在这里插入图片描述


在 Ubuntu20.04 上安装 iperf2

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

    sudo apt-get update
    sudo apt-get install iperf
    
  • PC 连接同一个路由器

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

    iperf -s -f KBytes -i 2
    

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

    在这里插入图片描述

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

    ifconfig
    

    在这里插入图片描述


在手机端安装 Iperf 测试 APP

  • 在 Android 手机端安装 Magic iPerf APP

  • 手机连接同一个路由器

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

    -s -f KBytes -i 2
    

    在这里插入图片描述

  • 创建的 TCP Server 的 IP 地址将打印在如上界面上。


  • 开发板的 AT 串口连接串口调试工具
    在这里插入图片描述

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

    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 吞吐性能 来提高整体接收速率。

相关文章:

  • C语言 —— 图形打印
  • Centos8 使用编译安装nginx
  • 内网渗透-跨域环境渗透-1
  • GPT实战系列-构建多参数的自定义LangChain工具
  • vue3-admin后台管理系统: 使用Vue3+Vue-Router4 + Element-Plus打造高效后台管理系统
  • Java学习笔记15——类型转换(基本数据类型)
  • 手把手教您如何在国内免费使用GPT4接口的Bing,亲测有效!
  • 收下这份实操案例,还怕不会用Jmeter接口测试工具
  • 深入理解位运算符及其在JavaScript中的应用
  • html5cssjs代码 004 2035年倒计时
  • 揭秘2024美团春招:最全MySQL面试题大全,必看必收藏!
  • web中实现一个账号同一时间只能由一个人使用
  • 【MySQL篇】 MySQL基础学习
  • Objective-C blocks 概要
  • golang中fallthrough简介及用法
  • 【译】JS基础算法脚本:字符串结尾
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [笔记] php常见简单功能及函数
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android系统模拟器绘制实现概述
  • angular2开源库收集
  • Angular4 模板式表单用法以及验证
  • C# 免费离线人脸识别 2.0 Demo
  • CAP 一致性协议及应用解析
  • C语言笔记(第一章:C语言编程)
  • Elasticsearch 参考指南(升级前重新索引)
  • interface和setter,getter
  • MySQL用户中的%到底包不包括localhost?
  • Redux系列x:源码分析
  • spring + angular 实现导出excel
  • Spring-boot 启动时碰到的错误
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 前端存储 - localStorage
  • 算法-图和图算法
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 通过npm或yarn自动生成vue组件
  • 我从编程教室毕业
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 自制字幕遮挡器
  • 【干货分享】dos命令大全
  • AI算硅基生命吗,为什么?
  • NLPIR智能语义技术让大数据挖掘更简单
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #NOIP 2014# day.1 生活大爆炸版 石头剪刀布
  • (02)Hive SQL编译成MapReduce任务的过程
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (5)STL算法之复制
  • (AngularJS)Angular 控制器之间通信初探
  • (C语言)fgets与fputs函数详解