【五一创作】ESP32 ipref 吞吐量测试
ESP32 ipref WiFi吞吐量测试
文章目录
- ESP32 ipref WiFi吞吐量测试
- 1. 前言
- 2. 信号影响因素分析
- 3. WiFi 性能测试
- 3.1设备端操作, `ipref` 烧录
- 3.2 电脑端操作,安装对应的 `ipref` 上位机
- 3.2.1 windows 安装
- 3.2.2 Linux安装
- 3.3 吞吐量测试
- 3.3.1 发送性能测试,设备端做客户端,电脑端做服务器
- 3.3.1.1 UDP测试
- 3.3.1.2 TCP测试
- 3.3.2 接收性能测试,设备端做服务器,电脑端做客户端
- 3.3.2.1 UDP测试
- 3.3.2.2 TCP测试
- 4. 总结
- 5. 相关文章推荐
1. 前言
ESP32 作为一款当前市场占有率最高的物联网芯片之一,被应用在绝大多数需要使用到 WiFi 功能的物联网产品上。作为一款产品,产品的稳定性和高可靠性是一个优秀的产品必须重点关注的一个点,那么关于ESP32 这款IC的 WiFi 性能在我们的产品上具体怎么样我们又有什么样的办法?有怎样的指标来测试,来衡量呢?
本文将主要分享,关于如何配置 ESP32
使用 ipref
对其进行 WiFi
网络信号测试,废话不多说,我们直接开始吧!
2. 信号影响因素分析
ESP32 在产品整机中的信号质量主要受以下几大块影响:
- ESP32模组(包括ESP32芯片、ESP32模组电路板)
- 天线
在实际项目开发过程中,会有以下几种情况:
- 直接使用ESP32模组方案:
- 通常ESP32模组在出厂前,乐鑫都会对模组收发数据包进行检测,已保证生产出货的模组的性能满足要求;但是在实际项目中我们是需要将 ESP32 模组贴在我们自己设计的PCB板上的,那么PCB板上的走线对于ESP32的信号是可能存在影响的!通常我们不建议在ESP32模组下方走线,特别是高频信号线。
- 仅购买ESP32芯片,自己绘制ESP32外围电路方案:
- 由于使用ESP32模组,PCB大小受到限制或可扩展性相对直接使用芯片较弱,在一些产品上会选择由项目硬件工程师自行设计ESP32外围电路,那么此类PCB走线对于 WiFi 收发性能需要重点关注!
除了上述ESP32模组以外,天线对于ESP32的WiFi性能也是一个非常重要的变量,关于天线,也分为以下几种情况:
- 直接使用PCB天线
- 也就是把天线画在PCB板上,部分型号的ESP32模组就是这样弄的
- 使用外置天线
- 外置天线效果通常要强于PCB天线,不过也不是随便一根天线能插上去就行,天线也是个很复杂的东西,每种天线,其适配的频率/频段会不一样,因此你也才能看到有硬件工程师专门调天线!也才会来找到软件同事想办法弄本文的测试方法啦!因此天线是不能随便乱插的,插错了等同于没插!
以上就是对 ESP32 WiFi信号影响的所有硬件软件了,接下来让我们验证下你的设备WiFi性能的好坏吧!
3. WiFi 性能测试
3.1设备端操作, ipref
烧录
关于 ipref
官方提供了相关的测试程序,只需要大家自行下载编译并烧录即可。
已安装
ESP-IDF
编译环境的,可以在IDF目录下的例程内找到对应的程序,路径如下:~\esp-idf\examples\wifi\iperf
或者直接下载github上的程序,对应链接:iperf
拷贝例程至其他目录,不破坏 IDF 环境目录文件
进入
iperf
工程目录,在此目录下打开终端,运行get_idf
加载IDF环境变量(注意,如果没有提前配置,输入此指令是无效的,请参阅:windows ESP32开发环境搭建 或 linux ESP32开发环境搭建)
直接输入
idf.py build
编译工程输入
idf.py -p COM9 flash monitor
下载并开启监控,注意修改COM口为你自己电脑上的COM口;Linux环境为idf.py -p /dev/ttyUSB0 flash monitor
,也要修改为对应的USB口
下载完之后成功运行,串口会打印如下信息
iperf
程序内开发了一个终端,通过此终端可完成ESP32iperf
所需配置,输入help
可查看所有的指令
输入
sta <wifi名> <wifi 密码>
连接 wifi
至此,ESP32设备端已配置完成,接下来先配置号上位机,之后再开始测试
3.2 电脑端操作,安装对应的 ipref
上位机
3.2.1 windows 安装
- 去
iperf
官网下载对应的上位机 iperf下载(点击跳转) - 选择
iperf 2.0.9
版本,不要下载其他版本,特别是3.0以上版本,原因是不兼容!
- 下载解压,之后进入对应目录下,在此目录下打开
cmd
命令终端
- 输入
iperf --help
可查看支持的指令
3.2.2 Linux安装
linux更简单啦,直接在终端敲以下命令
sudo apt-get update
sudo apt install iperf
我当前默认安装的就是2.0版本,大家自己安装的时候还是注意下,V3.0版本的可能不能使用!
3.3 吞吐量测试
WiFi吞吐量测试测试类型上分为发送和接收两种测试,接收性能好不代表发送性能好;此外在协议上又分为TCP和UDP两种,TCP是可靠的连接,UDP是广播方式,因此UDP有一定数量的丢包属于正常现象。
关于ESP32的 wifi 吞吐量测试,需要采用两台设备,在同一个网络下进行,可以是两台ESP32设备,也可以是一台电脑,一台ESP32,本文我们以一台电脑,一台ESP32为例进行说明,相信看完之后,两台ESP32的方案你也能轻松搞定!
接下来就开始吧!
3.3.1 发送性能测试,设备端做客户端,电脑端做服务器
3.3.1.1 UDP测试
- 我们首先进行UDP测试,电脑端开启服务器,在
cmd
终端输入:iperf -u -s -i 3
(linux一样)
-u
参数:进行UDP测试,不加代表进行TCP-s
参数:作为服务器-i 3
参数:间隔3s打印一次测试结果,不加你在cmd
终端就看不到任何过程数据
- 查看服务端的IP地址,也就是电脑的IP地址,
win+r
之后输入cmd
打开新的终端,输入ipconfig
查看ip信息;linux在终端输入ifconfig
查看
- 设备端操作,发起UDP测试,输入以下指令:
iperf -u -c 192.168.1.54(服务器IP地址) -i 3 -t 30
-c
参数,作为客户端192.168.1.54
参数,设置服务器地址-i 3
参数,间隔3s打印一次数据-t 30
总共进行30s测试
3.3.1.2 TCP测试
- 服务器配置,采用TCP方式,对应指令为:
iperf -s -i 3
,相比UDP测试,也就是省略了-u
参数,需要注意的是,iperf上位机2.0.9版本测试完成之后无法退出,我们直接关闭,重新打开就好了~
- 设备端配置,采用TCP方式,对应指令为:
iperf -c 192.168.1.54(服务器IP地址) -i 3 -t 30
,相比UDP测试,也是删掉-u
参数
- 需要注意的是,相比UDP测试,在TCP测试中,我们发现没有了丢包率
Datagrams
这个参数了,这是由于TCP通讯是点对点稳定可靠传输,保证数据成功到达,100%成功率,TCP通讯测试时传输速度才是衡量指标!
3.3.2 接收性能测试,设备端做服务器,电脑端做客户端
3.3.2.1 UDP测试
- 修改服务器(ESP32)配置,输入指令:
iperf -u -s -i 3
- 修改客户端(上位机)配置,输入指令:
iperf -u -c 192.168.1.28 -i 3 -t 30
,注意服务器ESP32的IP地址在串口上有打印
- 需要注意的是,ESP32作为UDP服务端的时候有超时设置,且时间不是很长,因此如果ESP32服务端开启后,长时间客服端没有接入是会自动关闭的!串口上会有以下提示,因此操作的时候需要注意!
- 测试结果如下:
3.3.2.2 TCP测试
- 修改服务器(ESP32)配置,输入指令:
iperf -s -i 3
- 修改客户端(上位机)配置,输入指令:
iperf -c 192.168.1.28 -i 3 -t 30
,注意服务器ESP32的IP地址在串口上有打印
- 测试结果如下:
4. 总结
以上就是关于 ESP32 的 WiFi 吞吐量测试所有记录啦,有关问题,欢迎大家在评论区讨论!
创作不易,转载请注明出处!
关注、点赞+收藏,可快速查收博主有关分享!
5. 相关文章推荐
- 1) ESP-IDF+PowerShell/Vscode windows ESP32开发环境搭建
Windows版
(点击跳转!!!) - 2) ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门
Linux版
(点击跳转!!!) - 3) ESP32 OTA升级之HTTP OTA(点击跳转!!!)
- 4) ESP32 bin文件生成及多个bin文件合并指南 (点击跳转!!!)
- 5) ESP32 分区表(点击跳转!!!)
- 6) ESP32 专栏(点击跳转!!!)
【五一创作】ESP32 ipref 吞吐量测试相关推荐
- 安信可ESP8266、ESP32、ESP32-S2、ESP32-C3模组的TCP_UDP吞吐量测试使用指导
文章目录 前言 关于Jperf软件的使用方法(Window) ESP8266吞吐量测试 ESP32吞吐量测试 ESP32-S2吞吐量测试 ESP32-C3吞吐量测试 测试软件和测试固件下载 联系我们 ...
- 使用iperf进行设备吞吐量测试
工作中遇到一个问题,使用netcat 测试设备wifi吞吐量感觉非常吃力,遂使用iperf进行吞吐量测试. 前提 设备嵌入小linux系统,不可内部编译的情况下,静态编译iperf可方便测试使用. 工 ...
- WiFi模块吞吐量测试
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.什么是Wi-Fi吞吐量 二.Wi-Fi吞吐量测试 1.硬件准备 2.软件准备 三.操作步骤 总结 前言 在WiFi ...
- ESP32 PM2.5测试
ESP32 PM2.5测试 ESP32串口用法(UART) PM2.5测试 所选设备 接线说明 在STM32上测了,但是发现 ESP32和STM32的串口用法稍有区别,特此记录一下 ESP32串口用法 ...
- chariot iperf使用_ixchariot吞吐量测试
1. 千兆网络 最近因为工作需要,想测试一下千兆网络的速度,主要是想测测网线的速度. 具体的测试计划不是很明确,找到IxChariot这个软件,简单测试了一下,得到以下测试结果.测试情况:1.网线小于 ...
- wifi吞吐量测试环境搭建和mifi的wifi吞吐量测试
MIFI的wifi吞吐量测试 备注:使用的工具我将上传 准备工作: 1.安装jdk,下载安装包(根据电脑32or64bit):jdk7_64_win_jb51net.rar 2.安装jperf,下载安 ...
- 网络相关基础知识总结(一)吞吐量测试吞吐量与带宽区别
一.概念 网络中的数据是由一个个数据包组成,防火墙对每个数据包的处理要耗费资源.吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率. 1.作用地位 网络吞吐量测试是网络维护和故障查找中最重要的手段 ...
- CC2640R2F BLE5.0 BLE吞吐量测试
BLE吞吐量测试 介绍 本章分别测试了TI CC2640R2F LuanchPad和LECONIOT CC2640R2F Evaluation Board开发板吞吐量.我们提供了两个例程供大家参考测试 ...
- 思博伦Spirent TestCenter _上下行非对称吞吐量测试 _双极未来
在RFC2544测试中,可使用不对称的上下游流量来对被测设备进行吞吐量,丢包率,时延的测试,对设备性能做出评估. 在广电领域,上下行不对称是一般现象,用户很少上传,但是需要下载很多视频到本地,所以,在 ...
最新文章
- 使用valgrind分析C程序调用线路图
- 密码学是如何保护区块链的
- 十大开源的.NET用户界面框架 让GUI设计不再犯难
- weblogic调优的经过
- Java-Runoob:Java Stream、File、IO
- react-native 安卓支持 gif动态图
- PHP小白学习日程之旅
- android json转字符串数组,转换字符串到json数组出错
- Linux下的一些简单网络配置命令介绍
- Spring的国际化(转载)
- android路由是什么意思,不能跑Android的路由不是好路由
- javascript window location
- LeetCode(606)——根据二叉树创建字符串(JavaScript)
- elasticsearch5.0.1集群排错的几个思路总结
- .NetCore + NSwag生成可交互API文档
- python 输出 2到n的素数 附源码 注释超详细。。。
- 框架实现修改功能的原理_从无到有RPC框架 - RPC原理及实现(文末还有开源的优秀RPC框架)...
- mysqlin查询的java写法_[转载]常用的shell脚本
- 如何进行坡度坡向分析教程
- 学科实践活动感悟50字_初中学科实践活动记录50字3篇
热门文章
- 场景判断方法expected_conditions
- js-cookie 关于js-cookie 什么是js-cookie js-cookie的使用
- 2022年危险化学品经营单位主要负责人复习题及答案
- [渝粤教育] 华中农业大学 经济学原理 参考 资料
- java textarea大小设置_给textarea增加长度的限制
- 梳理详细 vue中引入第三方字体图标库iconfont
- 人工智能写恋爱情话,省时不费脑,也用心(带教程)
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
- 探秘音乐疗法——基于音乐的喂养环境对小鼠肠道菌群影响的研究
- 多项式求逆与多项式除法/取模