RRoy 发表于 2023-8-16 10:42:12

用ESP32做了一个电脑仪表盘





这是一个简易的系统信息监控器,用到了ESP32 + ILI9488 TFT。它通过串行蓝牙接收数据,所以也可以把它放在距离电脑较远的地方。

这个是小伙伴(B站:@赵思勤-ZhaoSQ)做的展示:
【【物联网】用esp32,做了一个电脑仪表盘!】 https://www.bilibili.com/video/BV1tF411h7To/

在电脑端,你可以编写自己的程序通过串行蓝牙发送数据,作者这边已经为Windows和MacOS提供了Python脚本。

下面是如何安装和使用这些脚本的说明。

连接屏幕
根据下面的图片来连接屏幕和ESP32。





ESP32 TouchDown
这个项目,你也可以使用上面的图片中使用的ESP32 TouchDown来做。

ESP32 TouchDown: https://www.esp32touchdown.com/

ESP32端安装
要使用作者的这个示例(打包在文末下载,或者直接访问GitHub:https://github.com/DustinWatts/Bluetooth-System-Monitor),首先需要安装Arduino IDE(1.8.10或更高版本),还需要将ESP32-Arduino core(https://github.com/espressif/arduino-esp32)添加到板管理器中。

这个示例使用最新版本的TFT_eSPI库,可以在这获取:https://github.com/Bodmer/TFT_eSPI

在上传示例之前,记得配置TFT_eSPI库来使用正确的引脚。还需要编辑随TFT_eSPI库提供的User_Setup.h文件。可以在项目的这个位置找到用户设置示例:https://github.com/DustinWatts/Bluetooth-System-Monitor/tree/main/user_setup.h Examples

在示例中,可以设置一些警告级别。当数值超过某个特定值时,文本会变为红色显示。对于RAM来说,在低于警告值时也会发出警报。



在Arduino IDE中打开示例代码。选择正确的开发板,端口并点击"上传"。之后,还需要上传数据文件夹。因为背景图片也需要上传。可以使用这里找到的"ESP Sketch Data Upload"工具: https://github.com/me-no-dev/arduino-esp32fs-plugin

在Windows端安装:
在Windows上,Python脚本使用PySerial与ESP32进行通信,并使用psutil获取系统信息。CPU、GPU和风扇速度是通过OpenHardwareMonitorLib.dll获取的。有关OpenHardwareMonitorLib.dll的更多信息可以看这边:https://openhardwaremonitor.org/

确保它与Python脚本位于同一文件夹中!

安装所需的依赖项

pip install -r requirements_windows.txt

或者逐个手动安装:

pip install pyserial PySerial

文档:https://pythonhosted.org/pyserial/

pip install psutil psutil

文档:https://psutil.readthedocs.io/en/latest/

pip install pythonnet pythonnet

文档:http://pythonnet.github.io/

在脚本中查找要更改的位置,使COM端口与ESP32的COM端口匹配:



运行脚本
这个脚本需要管理员权限来获取系统信息。所以需要以管理员身份运行。

运行:
python windows_host.py


python3 windows_host.py

记得安装python的时候就勾选添加到环境变量路径,如果提示Python不在PATH变量中,可以按照这个教程将Python添加到PATH变量:https://www.makeuseof.com/python-windows-path/

在MacOS上安装
在MacOS上,Python脚本使用PySerial与ESP32进行通信,并使用psutil获取系统信息。温度详细信息是通过powermetrics和smc检索的,它们不需要安装。

安装所需的依赖项
pip install -r requirements_mac.txt

或者逐个手动安装:
pip install pyserial PySerial

文档:https://pythonhosted.org/pyserial/
pip install psutil psutil

文档:https://psutil.readthedocs.io/en/latest/

运行脚本
这个脚本也需要管理员权限来获取系统信息。因此要运行:

sudo python macos_host.py


sudo python3 macos_host.py

在MacOS上,连接到COM端口是通过其名称完成的。如果你没有更改名称,则Python脚本已经包含了正确的COM端口,因此无需更改。



赶紧去试试~

GitHub链接:https://github.com/DustinWatts/Bluetooth-System-Monitor



Amos Young 发表于 2023-8-16 16:33:35

系统信息监控器

快看擎天猪 发表于 2023-8-17 21:32:50

666666666666

派大星ym 发表于 2023-8-19 18:17:28

太酷了

派大星ym 发表于 2023-8-19 18:18:45

66666666666666

花生编程 发表于 2023-8-22 13:49:24

厉害厉害

花生编程 发表于 2023-8-22 13:50:47

不错不错!

式点 发表于 2024-1-12 21:42:35

666666{:6_215:}
页: [1]
查看完整版本: 用ESP32做了一个电脑仪表盘