2022-9-22 17:00:00 [显示全部楼层]
3614浏览
查看: 3614|回复: 0

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接

[复制链接]
本帖最后由 RRoy 于 2022-9-22 15:10 编辑

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图1

本期要介绍的项目,是使用蓝牙来连接计算机并传输需要监控的数据(例如 CPU 温度、风扇速度、内存使用量等这些数据),方便在没有网络的情况下使用。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图2

它的原理很简单,外观小巧,只需要将 ILI9488 屏幕连接到 ESP32,上传代码后,你所监控的设备将运行主机脚本数据发送至这个显示器后,你就可以随时查看数据信息了。因为它是蓝牙连接,不需要数据线,所以你把它放在办公桌上即可查看系统数据信息,是不是很方便呢!

▼ 视频




组件清单
基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图3

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图4
  • ESP32-WROOM-32 开发板(38 排针)X 1
  • ILI9488 TFT 屏幕(带 XPT2046 触摸控制器) X 1
  • ESP32+TFT PCB 板 X 1(可选)
  • 烙铁 X 1
  • 焊锡 X 1
  • 铁钳 X 1
将 TFT 屏幕连接到 ESP32
基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图5

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图6

将这两个部分连接在一起,通过以下三种方式:1、使用面包板;2、使用原型板;3、使用专门定制的 PCB 板将 ILI9488 与 ESP32 DevKitC 相连。

使用面包板可以用来测试连接和屏幕比较方便。但要注意在测试时,桌面要保持水平以及接口要牢固;屏幕需要在 3.3V 下运行,5V 会造成损坏!

ESP32 -> ILI9488 进行以下连接:
  • 3.3V -> VCC
  • GND -> GND
  • GPIO15 -> CS
  • GPIO4 -> RESET
  • GPIO2 – > DC/RS
  • GPIO23 -> SDI(MOSI) and T_DIN
  • GPIO18 -> SCK and T_CLK
  • GPIO32 -> LED
  • GPIO21 -> T_CS
  • GPIO19 -> T_DO
  • GPIO27 -> T_IRQ

注意屏幕的 SDO(MISO) 没有用到,因此在 TFT 模块上留出一个未连接的引脚。

定制的 PCB 板的文件也可以在文末下载。
安装 Arduino IDE 库下载安装 Arduino IDE ESP32 内核
1、从 Arduino IDE 软件中,进入File – Preferences

2、点击 Additional Board Managers URLs:后面的文本框,将网址修改为:https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json 然后单击确定。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图7

3、依次点击 Tools – Board: – Board Manager 并在搜索框中输入 ESP32。安装最新版本并单击关闭。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图8
安装其他库
依次从 Sketch – Include Library – Manage Libraries 并搜索并安装以下库:Adafruit-GFX-Library 和 TFT_eSPI。

此外,如果你使用的是 ESP32 TouchDown,你还需要安装电容式触摸库:打开 https://github.com/DustinWatts/FT6236,点击“代码”并下载 “Download .ZIP”。在 Arduino IDE 中,依次从 Sketch – Include Library – Add .ZIP library,下载完成。
配置 TFT 屏幕
基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图9

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图10

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图11

1、在编译和上传 Bluetooth-System-Monitor.ino 代码文件之前,先编辑 TFT_eSPI 库中包含 User_Setup.h 的文件。它可以在“Library”下的 Arduino sketchbook 文件夹中找到。

2、如果你还没有重命名 TFT_eSPI 库文件夹,则可以在 TFT_eSPI-master 中找到文件 User_Setup.h。

3、你需要取消注释适用于你的硬件配置的代码。你可以在user_setup.h Examples文件夹中下载的存储库中找到此项目所需的 user_setup.h 文件。

4、将文件 ESP32_Dev_Kit_V1_ILI9488_Resistive.h 复制到 /TFT_eSPI-master/。将已经存在的User_Setup.h 重命名为 User_Setup.old(这样可以保留原始文件以防出现问题)。

5、将 ESP32_Dev_Kit_V1_ILI9488_Resistive.h 重命名为 User_Setup.h(区分好大小写)保存并关闭文件。

如果你使用的是 ESP32 TouchDown,用同样的配置方法即可。
下载 Arduino Sketch 并上传到 ESP32
使用 ESP 代码数据上传工具。本项目使用 SPIFFS(ESP32 闪存)来存储用作背景的图像。在将代码上传到 ESP32 之前,你需要将这些上传到 ESP32。因此,你需要 ESP32 代码数据上传工具。

你可在 GitHub 下载:https://github.com/me-no-dev/arduino-esp32fs-plugin访问GitHub不方便的同学,也可在文末打包下载。

按照 GitHub 上的说明安装该工具:下载工具文件夹,链接为:https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/tag/1.0如果该库不存在,在 Arduino sketchbook 库中创建该库。将工具解压到工具库中(路径为 /Arduino/tools/ESP32FS/tool/esp32fs.jar)。之后重启 Arduino IDE。

如果是 MacOS ,请在 ~/Documents/Arduino/ 中创建工具库并在那里解压文件。
上传数据目录
在将数据文件夹上传到 ESP32 之前,必须选择正确的分区方案。

在将数据目录上传到 ESP32 之前,必须选择正确的分区方案。

菜单 Tools – Board 选择 ESP32 Dev Module。在 Tools 中选择分区方案 Default 4MB with spiffs。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图12

插入 ESP32。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图13

单击 Tools 并选择 ESP Sketch Data Upload。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图14

如果数据上传失败,可能是你已经打开了串行监视器。如果发生这种情况,请关闭串行监视器后再重试。
Bluetooth-System-Monitor.ino
在 Github 上,你可以找到完整的源代码:https://github.com/DustinWatts/Bluetooth-System-Monitor访问GitHub有困难的同学,也可在文末下载。

从 Bluetooth-System-Monitor GitHub 库,然后单击 Code 和 Download.ZIP解压的文件夹并将其重命名为 Bluetooth-System-Monitor。这样 Arduino IDE 的文件夹和代码的名称就会不同。

如果发生这种情况,当弹出一个窗口,询问是否应该移动代码。这样就会造成只会移动代码而不是数据文件夹,就会导致上传出错!

在 Arduino IDE 中打开 Bluetooth-System-Monitor.ino 代码。
配置代码
根据你使用的电路板(电阻式触摸、电容式触摸或无触摸),你必须取消正确的注释。例如,如果你使用 ESP32 TouchDown 取消注释:#define ENABLE_CAP_TOUCH。如果你使用带有单独 TFT 的 DevKitC,请取消注释#define ENABLE_RES_TOUCH。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图15

在代码中,你可以设置一些警告级别。这可使图标下的文本变为红色。向下滚动,直到看到 Define warning levels, change this as you like。

你还可以设置图形 y 轴的比例。这是在 The scale of the Y-axis per graph 下完成的。如果这些太大或太小,数据将无法正确显示在图表上。你可能需要做一些尝试。
将代码上传到 ESP32
继续将 Bluetooth-System-Monitor.ino 代码上传到 ESP32。除分区方案外, tools 下的设置可以保留为默认值(见图)。

等待一段时间后,就可以安排所需监控的设备将数据发送到系统监视器上了。
蓝牙连接
基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图16

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图17

在将蓝牙信息监视器连接到计算机前,必须先进行蓝牙连接并确保 ESP32 已通电。
在 Windows 上:
右键单击开始菜单,单击设置,然后单击设备。点击 Add Bluetooth or other device,选择 Bluetooth,等待它找到 ESP32 或 MyDisplay,点击连接。此后,你可以单击完成。

打开设备管理器(右键单击开始菜单)并单击端口旁边的箭头。现在应该有一个名为 Standard Serial over Bluetooth link的设备。这是下一步中使用到的 “COM” 端口。

注意:在上图的设置中,出现了两个新设备。选用了第一个,但你需要再次验证。
在 MacOS 上:
打开首选项并单击 Bluetooth。它会可以显示 ESP32 或 MyDisplay,等待搜索完成,选择 ESP32 或 MyDisplay,然后点击 “Connect”。

如果要查看实际设备名称是什么,你可以打开终端并输入:ls /dev/tty.*,它将为你列出所有串行端口。
将数据发送到监视器的 Python 脚本
作者将提供了两个 Python 脚本,它们会将数据发送到信息系统监视器。一种用于 Windows,一种用于 MacOS。两者都要求你安装最新版本的 Python。可点击下载并安装:https://www.python.org/downloads/
Windows
为了使脚本正确运行,你需要安装一些 Python 模块。这些模块是 psutil、pyserial 和 pythonnet。你可以使用 PIP 来安装这些,以管理员身份打开命令提示符,通过单击开始菜单并输入 cmd,然后右键单击命令提示符并选择Run as Administrator。

导航到文件夹 Bluetooth-System-Monitor/host_python,即是你下载 Sketch 的文件夹,在这里安装所需的 Python 模块:
pip install pyserial
pip install psutil
pip install pythonnet

正确安装模块后,在你喜欢的代码编辑器中打开 windows_host.py。可以用 VSCode 或者 SublimeText 或其它也可以。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图18

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图19

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图20

在这里,你必须至少编辑一行代码。
connection = serial.Serial('COM16')

如图所示,这是脚本将向其发送数据的 COM 端口。确保它在引号之间并使用大写字母。你可以将驱动器号更改为另一个驱动器以报告其可用空间。但这一步是可选的。保存更改,你就完成了!

确保无论你从何处运行此脚本,所包含的 .dll 文件都位于同一文件夹中。你需要以管理员身份运行此脚本。
MacOS
MacOs 比 Windows 更容易一些。你不需要更改 COM 端口,因为所有 Mac 的名称都相同,因此无需编辑脚本。如果你想,你可以更改硬盘报告可用空间,并且编辑轮询时间。

在 Windows 上,需要一个 .dll 来读取信息,但在 MacOS 上,可以用 Python 完成。你只需要安装两个模块即可。打开终端并导航到 Python 脚本所在的文件夹。安装以下两个模块:
pip install pyserial
pip install psutil

在 MacOS 上,使用:
sudo python macos_host.py

来运行,同时需要以管理员身份运行此脚本。
3D 打印外壳
基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图21

这款外壳设计为压入式。最后使用强力胶将顶部牢固地连接到底部即可。

3D 打印外壳文件链接为:https://www.thingiverse.com/thing:4661069也可以在文末打包下载。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图22

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图23

项目中的外壳采用 PLA 打印,层高为 0.2mm。如果正面朝下打印,顶部不需要支撑。如果你是开口朝下打印,底部则需要一些很小的支撑。当然你可以根据自己的喜好设计外壳。

基于 ESP32 制造系统监控屏,支持与 PC 蓝牙连接图24

关于 ESP32 TouchDown,你还可参考以下链接:https://github.com/DustinWatts/esp32-touchdown/tree/main/Case

最后,组装完成就可以使用啦!

项目来源:
instructables.com/Bluetooth-System-Monitor-ESP32-TFT-Screen/


esp32监控屏.zip

6.12 MB, 下载次数: 863

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail