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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/436060.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024 年 AI 辅助研发趋势:从研发数字化到 AI + 开发工具 2.0,不止于 Copilot

在上一年里,已经有不少的企业在工具链上落地了生成式 AI,结合我们对于这些企业的分析,以及最近在国内的一些 “新技术” 趋势,诸如于鸿蒙原生应用的初步兴起。从这些案例与趋势中,我们也看到了一些新的可能方向。 结合…

论文解读:Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning

文章汇总 总体问题 通过对整体分类的训练(文章结构图中ClassifierBaseline),即在整个标签集上进行分类,它可以得到与许多元学习算法相当甚至更好的嵌入。这两种工作之间的界限尚未得到充分的探索,元学习在少样本学习中的有效性仍然不清楚。…

(亲测可用)Adobe Photoshop 2024下载与安装

背景介绍:Adobe Photoshop 2024 是全球最受欢迎的图像编辑软件之一,2024年的版本带来了一系列令人印象深刻的功能: AI增强的自动选择和蒙版工具:现在,用户可以更轻松地选择和处理复杂的图像元素。更多的3D渲染功能&…

算法刷题day23:双指针

目录 引言概念一、牛的学术圈I二、最长连续不重复序列三、数组元素的目标和四、判断子序列五、日志统计六、统计子矩阵 引言 关于这个双指针算法,主要是用来处理枚举子区间的事,时间复杂度从 O ( N 2 ) O(N^2) O(N2) 降为 O ( N ) O(N) O(N) &#xf…

全志D1s开发板裸机开发之坏境搭建

环境搭建 开发板介绍 张天飞老师编写的《RISC-V体系结构编程与实践》,里面的源码是基于 QEMU 模拟器的,可以认为它是一款虚拟的开发板。如果需要在真实开发板上学习,可以使用百问网的 DongshanPI-D1S 开发板。 DongshanPI-D1S 是百问网推出…

六、矩阵问题

73、矩阵置零(中等) 题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出&#xff1a…

探索AI视频创新:Sora的奇迹

探索AI视频创新:Sora的奇迹 随着科技的不断演进,AI视频模型已经成为人工智能领域的一颗新星。在这场技术的风暴中,OpenAI的Sora模型以其杰出的性能和前瞻性的技术脱颖而出,正引领着AI视频领域的全新创新浪潮。 Sora的技术之光 …

Net8集成AutoMap

一、概述 使用Net8 搭建WebApi,需要集成AutoMap,方便开发。 二、实现 2.1 安装 AutoMapper 2.2 创建AutoProfile配置类继承Profile namespace AnNeng.Cad.WebApi.Config {using AnNeng.Service.Application.CadAndOss.Dto;using AnNeng.Service.Appl…

BUUCTF---[极客大挑战 2019]BabySQL1

1.这道题和之前做的几道题是相似的,这道题考的知识点更多。难度也比之前的大一些 2.尝试万能密码 or 1#发现过滤了or,使用1和1,发现他对单引号也进行了过滤。于是我尝试进行双写绕过,发现可以通过了。 3.由之前的做题经验可知,这道题会涉及到…

电动车着火事故,敲响梯控安全警钟

文章来源:电动车着火事故,敲响梯控安全警钟_专栏_易百纳技术社区 方案背景: 近年来,电动车起火事故屡有发生。如南京雨花台“223”火灾事故,造成了重大的人员伤亡。还有北京在 2023 年 12 月 28 日发生了一起村民自建…

工业以太网交换机助力电力综合自动化系统卓越运行

随着电力行业不断迈向数字化和自动化时代,电力综合自动化系统逐渐成为实现电网智能化管理的核心。在这一复杂而庞大的系统中,工业以太网交换机扮演着至关重要的角色,连接着各种智能设备,实现数据的快速传输和高效管理,…

共用体union

一、共用体的特性 共用体又叫做联合体,共用体的特性如下: 1.共用体的所有成员共用一段内存空间,且所有成员的起始位置是一致的 2.共用体的值由最后赋值的成员决定 3.共用体的内存大小 共用体的内存必须大于或等于其他成员变量中最大数据类型…

NineData与OceanBase完成产品兼容认证,共筑企业级数据库新生态

近日,云原生智能数据管理平台 NineData 和北京奥星贝斯科技有限公司的 OceanBase 数据库完成产品兼容互认证。经过严格的联合测试,双方软件完全相互兼容、功能完善、整体运行稳定且性能表现优异。 此次 NineData 与 OceanBase 完成产品兼容认证&#xf…

泰迪·上海杉达学院大数据与智能技术工作室挂牌签约仪式圆满结束

2024年3月5日,上海杉达学院邀请广东泰迪智能科技股份有限公司上海分公司总经理彭艳昆一行出席“泰迪上海杉达学院大数据与智能技术工作室”签约挂牌仪式。上海杉达学院副校长兼信息科学与技术学院院长陈瑛、信息科学与技术学院副院长于晓东、信息科学与技术学院党总…

Diffusion Models for Implicit Image Segmentation Ensembles

隐式图像分割集成的扩散模型 摘要 扩散模型在图像生成建模方面表现出令人印象深刻的性能。本文提出了一种新的基于扩散模型的语义分割方法。通过改进训练和采样方案,我们证明了扩散模型可以对医学图像进行病灶分割。为了生成特定于图像的分割,我们在地…

SpringCloud(20)之Skywalking Agent原理剖析

一、Agent原理剖析 使用Skywalking的时候,并没有修改程序中任何一行 Java 代码,这里便使用到了 Java Agent 技术,我 们接下来展开对Java Agent 技术的学习。 1.1 Java Agent Java Agent 是从 JDK1.5 开始引入的,算是一个比较老的…

直播预告|小白开箱: 云数据库在五朵云上的评测

3 月 7 日,周四晚上 19:00-20:30 由明说三人行组织,邀请了 NineData 国际总经理(GM) Ni Demai、云猿生数据 CTO & 联合创始人子嘉,和《明说三人行》创始人 &主持人明叔,共同围绕《小白开箱: 云数据库在五朵云上的评…

红帆ioffice-udfGetDocStep.asmx存在SQL注入漏洞

产品简介 红帆iOffice.net从最早满足医院行政办公需求(传统OA),到目前融合了卫生主管部门的管理规范和众多行业特色应用,是目前唯一定位于解决医院综合业务管理的软件,是最符合医院行业特点的医院综合业务管理平台&am…

Qt插件之输入法插件的构建和使用(一)

文章目录 输入法概述输入法插件实现及调用输入键盘搭建定义样式自定义按钮实现自定义可拖动标签数字符号键盘候选显示控件滑动控件手绘输入控件输入法概述 常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入…

SpringBoot3整合Mybatis-plus报错IllegalArgumentException

错误信息 使用的SpringBoot3版本&#xff1a;3.2.3 java.lang.IllegalArgumentException: Invalid value type for attribute factoryBeanObjectType: java.lang.String 第一想法就是感觉是版本太低导致和SpringBoot3不兼容。 查询mybatis-plus最高的版本 <!-- https://m…