【点击上方“蓝字”关注DF Maker社区,一起成为技术面控】
本期要介绍的项目是利用蓝牙连接电脑,传输需要监控的数据(如CPU温度、风扇转速、内存使用情况等),无需联网即可方便使用。
它的原理非常简单,外观也很精致。 您只需将ILI9488屏幕连接到ESP32即可。 上传代码后,您所监控的设备会将正在运行的主机脚本数据发送至此显示屏,您可以随时查看数据信息。 因为是蓝牙连接,所以不需要数据线,放在办公桌上就可以查看系统数据信息,是不是很方便!
▼视频
元件清单
将 TFT 屏连接到 ESP32
通过以下三种方式将这两个部分连接在一起: 1. 使用蛋糕板; 2.使用原型板; 3. 使用定制 PCB 将 ILI9488 连接到 ESP32DevKitC。
使用蛋糕板测试连接和屏幕很方便。 但请注意,测试时桌面应保持水平,插座应牢固; 屏幕需要3.3V运行,5V会造成损坏!
ESP32->ILI9488 进行以下连接:
请注意,未使用屏幕的 SDO(MISO),因此在 TFT 模块上保留一个未连接的引脚。
定制PCB板的文件也可以在文末下载。
安装ArduinoIDE库下载并安装ArduinoIDEESP32核心
1. 在 Arduino IDE 软件中,进入 File–Preferences
2. 单击“AdditionalBoardManagersURLs:”旁边的文本框,将 URL 更改为:,然后单击“确定”。
3、依次点击Tools–Board:–BoardManager,在搜索框中输入ESP32。 安装最新版本并单击“关闭”。
安装额外的库
从 Sketch–IncludeLibrary–ManageLibraries 中搜索并安装以下库:Adafruit-GFX-Library 和 TFT_eSPI。
据悉,如果您使用的是ESP32TouchDown,还需要安装电容触摸库:打开,点击“Code”并下载“Download.ZIP”。 在ArduinoIDE中,依次从Sketch–IncludeLibrary–Add.ZIPlibrary,下载完成。
配置 TFT 屏幕
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.hExamples 文件夹中找到该项目所需的 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(区分大小写),保存并关闭文件。
如果您使用的是ESP32TouchDown,则可以使用相同的配置方法。
下载ArduinoSketch并上传到ESP32
使用ESP代码数据上传工具。 该项目使用SPIFFS(ESP32 Flash)来存储用作背景的图像。 在将代码上传到 ESP32 之前,您需要将这些代码上传到 ESP32。 为此,您需要 ESP32 代码数据上传工具。
可以在GitHub上下载:不方便访问GitHub的朋友也可以在文末下载。
按照GitHub上的说明安装工具:下载tools文件夹,链接为:如果库不存在,则在Arduinosketchbook库中创建库。 将工具解压到工具库中(路径为/Arduino/tools/ESP32FS/tool/esp32fs.jar)。 然后重新启动 Arduino IDE。
对于 MacOS电脑蓝牙软件,在 ~/documents/Arduino/ 中创建工具库并在那里解压缩文件。
上传数据目录
在将数据文件夹上传到 ESP32 之前,必须选择正确的分区方案。
在将数据目录上传到 ESP32 之前,必须选择正确的分区方案。
菜单工具-开发板选择 ESP32DevModule。 在工具中选择分区方案Default4MBwithspiffs。
插入 ESP32。
单击“工具”并选择“ESPSketchDataUpload”。
如果数据上传失败,可能是您已经打开了串口监视器。 如果发生这种情况,请关闭串行监视器并重试。
蓝牙系统监视器.ino
在Github上,你可以找到完整的源代码:访问GitHub有困难的朋友也可以在文末下载。
从Bluetooth-System-Monitor GitHub 存储库中,单击Code and Download.ZIP 解压文件夹并将其重命名为Bluetooth-System-Monitor。 这样,ArduinoIDE的文件夹名称和代码就会不同。
如果发生这种情况,将弹出一个窗口,询问是否应连接代码。 这样会导致只有联通代码而不是data文件夹,从而导致上传错误!
在 ArduinoIDE 中打开 Bluetooth-System-Monitor.ino 代码。
配置代码
根据您使用的开发板(电阻式触摸、电容式触摸或无触摸),您必须取消注释正确的一块。 例如,如果您使用 ESP32TouchDown,请取消注释:#defineENABLE_CAP_TOUCH。 如果您将 DevKitC 与单独的 TFT 一起使用,请取消注释 #defineENABLE_RES_TOUCH。
在代码中,您可以设置一些警告级别。 这会将图标下方的文本变为蓝色。 向上滚动,直到听到定义警告级别,根据需要更改此设置。
您还可以设置图表 y 轴的比例。 这是在 Y 轴图的比例下完成的。 如果太大或太小,数据将无法在图表上正确显示。 你可能需要尝试一下。
将代码上传到 ESP32
继续将Bluetooth-System-Monitor.ino代码上传到ESP32。 除分区方案外,工具下的设置可以保留默认值(见图)。
等待一段时间后,就可以安排被监控的设备向系统监控器发送数据了。
蓝牙连接
在将蓝牙信息监视器连接到电脑之前,必须先建立蓝牙连接,并且必须给 ESP32 上电。
在 Windows 上:
右键单击“开始”菜单,单击“设置”,然后单击“设备”。 点击添加蓝牙或其他设备,选择蓝牙,等待它找到 ESP32 或 MyDisplay,点击连接。 然后您可以单击“完成”。
打开设备管理器(右键单击开始菜单)电脑蓝牙软件,然后单击端口后面的箭头。 现在应该有一个名为 StandardSerialoverBluetoothlink 的设备。 这是下一步中使用的“COM”端口。
注意:在上图中的设置中,出现了两个新设备。 选择第一个,但需要重新验证。
在 MacOS 上:
打开首选项并单击蓝牙。 会显示 ESP32 或 MyDisplay,等待搜索完成,选择 ESP32 或 MyDisplay,然后点击“连接”。
如果你想查看实际的设备名称是什么,你可以打开一个终端并输入:ls /dev/tty.*,它会为你列出所有串行端口。
Python脚本发送数据到监控
作者将提供两个Python脚本,将数据发送到信息系统监视器。 一种适用于 Windows,一种适用于 MacOS。 两者都要求您安装最新版本的 Python。 点击下载并安装:
视窗
为了使脚本正确运行,您需要安装一些Python模块。 此类模块包括 psutil、pyserial 和 pythonnet。 您可以使用 pip 来安装它,通过单击开始菜单并键入 cmd,然后右键单击命令提示符并选择 RunasAdministrator,以管理员身份打开命令提示符。
导航到您下载 Sketch 的文件夹 Bluetooth-System-Monitor/host_python,并在此处安装所需的 Python 模块:
pip install pyserial
pip install psutil
pip install pythonnet
正确安装模块后,在您最喜欢的代码编辑器中打开 windows_host.py。 您可以使用 VSCode 或 SublimeText 或其他。
在这里,您必须编辑至少一行代码。
connection = serial.Serial('COM16')
如图所示,这是脚本将向其发送数据的 COM 端口。 确保它位于冒号之间且为小写。 您可以将驱动器号更改为另一个驱动器以报告其可用空间。 但这一步是可选的。 保存更改即可完成!
确保无论从何处运行此脚本,包含的 .dll 文件都位于同一文件夹中。 您需要以管理员身份运行此脚本。
苹果系统
MacOs 比 Windows 更容易一些。 您不需要修改 COM 端口,因为所有 Mac 都具有相同的名称,因此无需编辑脚本。 如果需要,您可以修改磁盘以报告可用空间,但编辑协程时间。
在 Windows 上,需要 .dll 来读取信息,但在 MacOS 上,可以使用 Python 完成。 您只需要安装两个模块。 打开终端并导航到 Python 脚本所在的文件夹。 安装以下两个模块:
pip install pyserial
pip install psutil
在 macOS 上,使用:
sudo python macos_host.py
要运行,您需要以管理员身份运行此脚本。
3D复制外壳
外壳设计为压接式。 最后使用强力胶将底部牢固地连接到顶部。
3D复制shell文件的链接为::4661069,也可以在文末打包下载。
该项目中的外壳采用PLA打印,深度为0.2毫米。 如果面朝下复印,底部不需要支撑。 如果复印时开口朝下,则顶部需要一些非常小的支撑。 其实你可以根据自己的喜好来设计外壳。
关于ESP32TouchDown,您还可以参考以下链接:
最后,组装完成并可以使用了!
项目来源:instructables.com/Bluetooth-System-Monitor-ESP32-TFT-Screen/
硬件库
DF 硬件阿森纳