构建基于ESP32的网络速度监视器
扫描二维码
随时随地手机看文章
有没有想过你的WiFi网络到底有多快?虽然互联网服务提供商承诺高速,但实际性能可能会因网络拥塞、信号干扰或硬件限制而波动。
在本教程中,我们将构建一个基于ESP32的WiFi网络速度监视器,该监视器运行定期测试并以每秒请求数(req/s)或每秒兆比特数(Mbps)显示结果。这种物联网驱动的速度测试将有助于监控网络稳定性并检测停机时间。
你会学到什么:
•连接ESP32到WiFi
•发送HTTP请求和测量响应时间
•以Mbps计算网络速度
•通过串行监视器或OLED显示速度指标
•自动执行网络健康检查
所需的组件
在开始之前,请确保您具备以下内容:
•ESP32开发板
•WiFi连接(ESP32推荐2.4GHz)
•Arduino IDE(安装ESP32板)
•跳线(如果使用显示器)
•OLED显示屏(可选)
ESP32网络速度测试是如何工作的
•WiFi连接:ESP32连接到您的WiFi网络。
•HTTP请求:它向测试服务器(httpbin.org)发送多个请求。
•响应时间测量:计算请求持续时间以估计网络速度。
•数据处理:将速度转换为每秒请求数或每秒兆比特(Mbps)。
•显示结果:通过串行监视器或OLED屏幕输出结果。
为您的项目制造pcb
您必须检查PCBWAY在线订购pcb便宜!
你得到10个高质量的pcb制造和运送到你的家门口便宜。你也可以在第一次订购时获得折扣。将您的Gerber文件上传到PCBWAY,以获得高质量和快速周转时间的制造。PCBWay现在可以提供完整的产品解决方案,从设计到外壳生产。看看他们的在线Gerber浏览器功能。有了奖励积分,你就可以从他们的礼品店得到免费的东西。此外,从这里查看这个有用的博客PCBWay插件KiCad。使用此插件,您可以在KiCad中完成设计后直接订购pcb。
设置Arduino IDE
在编写代码之前,请安装以下库:
•WiFi.h - ESP32 WiFi连接
•WiFiClientSecure.h -保护HTTPS请求
•ArduinoJson.h -(可选)用于处理API数据
如何安装:
•打开Arduino IDE→进入Sketch→包含库→管理库
•搜索WiFiClientSecure和ArduinoJson,并安装它们。
ESP32网络速度测试代码
这里是完整的ESP32代码,用于测量WiFi速度(每秒请求数和Mbps)
代码的解释
•ESP32连接WiFi
•向httpbin.org发送10个HTTP请求
•度量所有请求所花费的总时间
计算速度:
•每秒请求数(req/s)
•下载速度(Mbps)使用DataSize * 8 / TimeTaken公式
•每60秒重复速度测试
在OLED屏幕上显示数据(可选)
如果你想要视觉反馈,连接一个SSD1306 OLED显示器并修改代码:
增强和未来改进
您可以扩展这个项目:
✅添加一个Web仪表板- ESP32主机显示结果的网页。
✅存储数据-使用Firebase或SD卡记录速度趋势。
✅实时警报-触发通知时,WiFi速度下降到低于阈值。
结论
使用这款ESP32供电的网络速度监视器,您可以检查WiFi性能,检测波动,甚至自动化智能家居应用程序的连接测试。
本文编译自hackster.io