# CYD 本机 / 服务器信息面板 在 **2.8" / 3.5" CYD** 上显示当前电脑的 **CPU、GPU、内存、磁盘** 等主要信息。显示/触控骨架对齐 [tftest](../tftest) / [wifitest](../wifitest);板型差异按 [CYD_PROJECT_GUIDE.md](../CYD_PROJECT_GUIDE.md)。 | 板型 | env | 屏 / 触控 | 背光 | 刷写目录 | |------|-----|-----------|------|----------| | **2.8" · 2432S028R** | `cyd_28r` | ILI9341 + XPT2046 SoftSPI · UI 320×240 | GPIO**21** | [`firmware/cyd_28r/`](firmware/cyd_28r/) | | **3.5" · 3248S035C** | `cyd_35r` | ST7796 + GT911 I2C · UI 480×320(`UX/UY` 缩放) | GPIO**27** | [`firmware/cyd_35r/`](firmware/cyd_35r/) | 本工程**无外设接线**(只吃 USB 供电 + 串口)。主机 `send_sysinfo` **与板型无关**(同一 SI 协议)。 目录名带尺寸:`cyd_28r` / `cyd_35r`,**没有**含糊的 `firmware/cyd/`。 **认板再刷**:2.8 / 3.5 固件不可互刷(BL / 屏驱 / 触控全不同)。 ```powershell # 2.8" pio run -e cyd_28r -t upload # 或 cd firmware\cyd_28r .\flash.ps1 # 3.5" pio run -e cyd_35r -t upload # 或 cd firmware\cyd_35r .\flash.ps1 ``` ## 原理 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) ESP32 **读不到** PC 的 CPU/GPU,主机上必须有个小代理——但**不必安装 Python**。 | 用法 | 谁适合 | |------|--------| | **Windows 插上即用** | 双击 [`host/run.bat`](host/run.bat) 或跑一次 [`host/install_autostart.ps1`](host/install_autostart.ps1)(开机自启 + 等 USB) | | **免安装单文件** | [`host/send_sysinfo.exe`](host/send_sysinfo.exe)(PyInstaller 打包,目标机无需 Python) | | **开发 / Linux / macOS** | [`host/send_sysinfo.py`](host/send_sysinfo.py) + `pip install -r requirements.txt` | 采集栈(业界常规): | 层级 | 库 / 接口 | 覆盖 | |------|-----------|------| | **CPU / 内存 / 磁盘** | [`psutil`](https://psutil.readthedocs.io/) | Windows / Linux / macOS… | | **串口** | [`pyserial`](https://pyserial.readthedocs.io/) | 同上;断线自动重连、无口时等待插入 | | **GPU 占用(可选)** | `nvidia-ml-py` → `nvidia-smi` → `amd-smi`/`rocm-smi` | 没有则 `gpu%=-1` | ```powershell # Windows 最终用户(推荐) cd host .\install_autostart.ps1 # 装一次:以后插 USB 就推 # 或临时: .\run.bat # 开发者重打包 exe: .\build_exe.ps1 # Linux / macOS / 有 Python 时: pip install -r requirements.txt python send_sysinfo.py -p /dev/ttyUSB0 ``` ## 刷写 | 板型 | 目录 | |------|------| | 2.8" | [`firmware/cyd_28r/`](firmware/cyd_28r/) | | 3.5" | [`firmware/cyd_35r/`](firmware/cyd_35r/) | ```powershell cd firmware\cyd_28r # 3.5: firmware\cyd_35r .\flash.ps1 .\flash.ps1 -Port COM3 ``` 源码烧录:`pio run -e cyd_28r -t upload` / `pio run -e cyd_35r -t upload` 重新打包:`.\firmware\export_from_build.ps1 -Env cyd_28r`(或 `-Env cyd_35r`) 串口监视:`pio device monitor -e cyd_28r -b 460800` ## 本地 git(必做) 本工程是**独立本地 repo**,有效改动都要提交;**不 push**(除非明确要求)。顺序对齐 [CYD_PROJECT_GUIDE.md](../CYD_PROJECT_GUIDE.md) §0 / §3: 1. 改代码 2. `pio run -e cyd_28r -t upload`(或 `cyd_35r`)真机验证 3. `.\firmware\export_from_build.ps1 -Env cyd_28r`(或 `cyd_35r`) 4. `git add -A` → `git commit` 禁止:只改代码不烧录、不导出固件、**不本地 commit** 就收工。 ## 推送本机信息 板子刷好后: 1. Windows:`cd host` → `.\install_autostart.ps1`(装一次)或 `.\run.bat` 2. 插上 USB;代理会等串口并自动推送(状态变 **live**) 注意:串口同时只能被一个程序占用;跑代理时不要开 `pio device monitor`。卸载自启:`.\uninstall_autostart.ps1`。 ## 文件 ``` include/… src/… firmware/cyd_28r/ # 2.8" firmware/cyd_35r/ # 3.5" host/send_sysinfo.exe # Windows 免 Python(入库) host/run.bat # 双击启动 host/install_autostart.ps1 / uninstall_autostart.ps1 host/build_exe.ps1 # 重新打包 exe host/send_sysinfo.py # 源码(Linux/macOS/开发) host/requirements.txt ```