8cc030178f9b16b8f897d62c2a758b0ec26856b0
Replace Windows-only WMI collector so Win10/11, Linux, and macOS can feed the same SI protocol.
CYD 本机 / 服务器信息面板
在 2.8" / 3.5" CYD 上显示当前电脑的 CPU、GPU、内存、磁盘 等主要信息。显示/触控骨架对齐 tftest / wifitest;板型差异按 CYD_PROJECT_GUIDE.md。
| 板型 | env | 屏 / 触控 | 背光 |
|---|---|---|---|
| 2.8" · 2432S028R | cyd(默认) |
ILI9341 + XPT2046 SoftSPI | GPIO21 |
| 3.5" · 3248S035C | cyd_35r |
ST7796 + GT911 I2C | GPIO27 |
本工程无外设接线(只吃 USB 供电 + 串口)。
原理
ESP32 无法直接读 PC 硬件。主机端跑跨平台脚本,经 USB 串口 按行推送:
SI|host=DESKTOP|cpu=i7-13700K|cpu%=12.3|gpu=RTX 4070|gpu%=5|ram=18.2/31.8|disk=512/931
屏上 LVGL 面板解析后画进度条;超过约 5 秒无新包显示 stale。
通用主机方案(Win10/11 · Linux · macOS)
业界常规做法(本仓库已采用):
| 层级 | 库 / 接口 | 覆盖 |
|---|---|---|
| CPU / 内存 / 磁盘 | psutil |
Windows / Linux / macOS / BSD… |
| 串口 | pyserial |
同上 |
| GPU 占用(可选) | nvidia-ml-py(NVML)→ nvidia-smi → amd-smi/rocm-smi |
NVIDIA 最稳;AMD 有驱动/CLI 时可用;没有则 gpu%=-1(名称仍尽量读) |
入口:host/send_sysinfo.py(推荐)。Windows 也可 .\host\send_sysinfo.ps1(内部仍调 Python)。
cd host
pip install -r requirements.txt
pip install nvidia-ml-py # 有 NVIDIA 时建议装
python send_sysinfo.py # 自动选串口
python send_sysinfo.py -p COM5 # Windows
python send_sysinfo.py -p /dev/ttyUSB0 # Linux
刷写
| 板型 | 目录 |
|---|---|
| 2.8" | firmware/cyd/ |
| 3.5" | firmware/cyd_35r/ |
cd firmware\cyd # 或 firmware\cyd_35r
.\flash.ps1
# 或
.\flash.ps1 -Port COM3
源码烧录:pio run -e cyd -t upload(3.5:-e cyd_35r)
重新打包:.\firmware\export_from_build.ps1(3.5 加 -Env cyd_35r)
串口监视:pio device monitor -b 460800
本地 git(必做)
本工程是独立本地 repo,有效改动都要提交;不 push(除非明确要求)。顺序对齐 CYD_PROJECT_GUIDE.md §0 / §3:
- 改代码
pio run -e cyd -t upload(或cyd_35r)真机验证.\firmware\export_from_build.ps1(需要时加-Env cyd_35r)git add -A→git commit
禁止:只改代码不烧录、不导出固件、不本地 commit 就收工。
推送本机信息
板子刷好并插上 USB 后,在主机上:
cd host
python send_sysinfo.py
# 或
python send_sysinfo.py -p COM5 -i 1000
.\send_sysinfo.ps1 -Port COM5 # Windows 快捷入口
注意:串口同时只能被一个程序占用;跑推送脚本时不要开 pio device monitor。
文件
include/pins.h, touch.h, host_info.h, ui.h, lv_conf.h
src/main.cpp, touch.cpp, host_info.cpp, ui.cpp
host/send_sysinfo.py # 跨平台主入口
host/requirements.txt
host/send_sysinfo.ps1 # Windows 启动器
firmware/
Description
Languages
C
43.6%
C++
22.2%
Python
18.4%
PowerShell
15%
Batchfile
0.8%