当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]构建一个实时系统遥测仪表板,在一个由DFRobot FireBeetle ESP32P4提供服务的黑暗单页web UI中显示您PC的CPU、RAM和网络状态。你的电脑通过USB串口发送换行结束的JSON;ESP32对其进行解析,在新数据到达时闪烁板载LED(引脚3),并提供响应式AJAX仪表板,该仪表板每5秒更新一次,并包含原始JSON控制台。

构建一个实时系统遥测仪表板,在一个由DFRobot FireBeetle ESP32P4提供服务的黑暗单页web UI中显示您PC的CPU、RAM和网络状态。你的电脑通过USB串口发送换行结束的JSON;ESP32对其进行解析,在新数据到达时闪烁板载LED(引脚3),并提供响应式AJAX仪表板,该仪表板每5秒更新一次,并包含原始JSON控制台。

硬件

•DFRobot FireBeetle ESP32P4板(或兼容的ESP32P4板)

•USB数据线(用于电源、编程和串行数据)

•可选:小面包板/跳线,如果你想连接外部LED或按钮(板载LED使用引脚3)

显示/ UI

•web UI版本不需要OLED -一切都在浏览器中。

PC软件

•Python 3.8 +

•Python包:pyserial, psutil(使用pip安装pyserial psutil)

Arduino IDE

•最新的Arduino IDE或vscode与PlatformIO

•ESP32板支架安装(pressif包)

•库:Arduino_JSON(通过Library Manager安装)

网络

•ESP32用于承载web服务器的本地Wi - Fi网络凭据(SSID和密码)

为您的项目制造PCB

您必须检查PCBWAY在线订购pcb便宜!

你得到10个高质量的pcb制造和运送到你的家门口便宜。你也可以在第一次订购时获得折扣。将您的Gerber文件上传到PCBWAY,以获得高质量和快速周转时间的制造。PCBWay现在可以提供完整的产品解决方案,从设计到外壳生产。看看他们的在线Gerber浏览器功能。有了奖励积分,你就可以从他们的礼品店得到免费的东西。此外,从这里查看这个有用的博客PCBWay插件KiCad。使用此插件,您可以在KiCad中完成设计后直接订购pcb。

布线和硬件设置

电源和数据

使用USB连接线将FireBeetle连接到PC上。这为遥测提供电源和串行链路。

LED

草图在引脚3上使用板载LED。不需要额外的接线,除非你想要一个外部LED -然后连接LED +电阻引脚3和GND。

笔记

•在运行Python发送器之前关闭Arduino Serial Monitor(一次只有一个应用程序可以打开COM端口)

•确保在Arduino IDE中选择FireBeetle作为目标板,并选择正确的COM端口。

Arduino草图(带有AJAX仪表板的web服务器)

它是做什么的

•使用您的SSID和密码连接到Wi - Fi。

•在USB串行(9600波特)上监听来自PC的换行结束的JSON。

•解析JSON并存储最新的值。

•在http:///.提供一个黑暗主题的HTML仪表板

•提供/data JSON端点,供页面的AJAX每5秒更新一次UI。

•当新数据到达时,在引脚3上的板载LED闪烁。

粘贴并上传这个草图(替换YOUR_SSID和YOUR_PASSWORD):

笔记

•替换“YOUR_SSID”和“YOUR_PASSWORD”。

•在Python运行时保持Serial Monitor关闭。

Python遥测发送器(PC端)

它是做什么的

•使用psutil收集真实的系统统计信息。

•格式化JSON对象并每5秒通过USB串行发送到ESP32。

•需要换行结束符\n,以便ESP32可以使用readStringUntil('\n')。

Python脚本(在PC上运行,更新PORT)

运行和验证(一步一步)

准备硬件

•通过USB连接FireBeetle到PC。

•确认单板驱动已安装,且COM口可见。

上传Arduino草图

•打开Arduino IDE,粘贴草图,将电路板设置为FireBeetle ESP32P4,更新WiFi凭据,然后上传。

•上传后,简单打开Serial Monitor查看Wi - Fi连接日志,然后关闭它。注意打印的ESP32 IP。

启动Python发送器

•将PORT更新为ESP32 COM端口(Windows: COMx, Linux: /dev/ttyUSB0),然后运行Python脚本。

•确认脚本每5秒打印“Sent:”消息。

打开仪表板

•在同一网络的浏览器中打开http:///(使用串口监视器中打印的IP地址)。

•该页面将每5秒自动获取/数据并更新UI。

•原始JSON控制台显示最新的数据包。

验证LED

•每次Python脚本发送一个新的JSON数据包时,引脚3上的板载LED应该会短暂闪烁。

后续步骤和增强

•在web界面中添加认证(基本令牌或密码)。

•通过Wi - Fi发送遥测(从Python到ESP32的HTTP POST)以消除对USB的依赖。

•添加更多指标:网络吞吐量,GPU统计(通过GPUtil),每个分区的磁盘细节。

•将日志保存在SD卡上或发送到远程服务器。

•在FireBeetle上添加手动控制按钮,以更改刷新率或切换面板。

•改善视觉效果:使用本地托管的图表库(Chart.js)来制作火花线和历史图。

结论:

你现在有了一个完整的本地遥测解决方案:你电脑里的一个Python脚本收集CPU,内存,磁盘,和网络数据流作为换行符-终止JSON / USB你DFRobot FireBeetle ESP32 - P4,解析数据,眨眼的机载领导新包,是一个黑暗的,单从页面的AJAX仪表板,更新每五秒,包括现场仪表和原始JSON console-giving你真正-时间能见度,局部控制和隐私,和一个灵活的基础添加身份验证、Wi - Fi遥测、日志、或警报。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭