Files
temperature/README.md
DESKTOP-PUHFO60\dsx2016 96d120f8ca Document 2.8 vs 3.5 hardware differences in README.
Link CYD_PROJECT_GUIDE section A for expansion pins and touch/backlight.
2026-10-25 10:40:26 +08:00

147 lines
5.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# CYD 温湿度仪表盘
ESP32 Cheap Yellow Display(默认 2.8" ESP32-2432S028R;可选 3.5" `cyd_35r`)+ DHT11 + LVGL 温湿度仪表盘。
跨板对照与避坑:上级目录 [`../CYD_PROJECT_GUIDE.md`](../CYD_PROJECT_GUIDE.md) **§A**(2.8 vs 3.5:触控 / 背光 / 外设脚)。
## 硬件
| 项目 | 2.8"(默认 `cyd_28r`) | 3.5C(`cyd_35r`) |
|------|------------------------|-------------------|
| 板子 | ESP32-2432S028R · ILI9341 | ESP32-3248S035C · ST7796 |
| 触控 | XPT2046 SoftSPI | GT911 I2C |
| 背光 | GPIO21 | GPIO27 |
| DHT11 DATA | **GPIO22**(CN1 空闲脚之一;2.8 另一常用空闲脚为 **27**) | **GPIO22**(3.5 上 27=背光,勿接 DHT) |
| 供电 | USB 5V | 同左 |
接线(两板 DHT):`VCC→3.3V`,`GND→GND`,`DATA→GPIO22`。
## 功能
- 横屏网格布局:双圆弧仪表 + 底部左信息 / 右趋势图(分区不重叠)
- EMA 平滑、min/max、舒适度条、体感 / 露点分行显示
- 圆弧与舒适度条缓动动画;趋势折线 SHIFT 更新
- 短按切换背光(4 档,顶部提示);长按 ≥0.7s 重置 min/max
- 偶发 DHT 读失败容错(连续失败才报错)
- 常亮运行(无自动熄屏 / 休眠)
## 构建与烧录
依赖 [PlatformIO](https://platformio.org/)。
```bash
pio run -e cyd_28r -t upload
pio device monitor -b 115200
```
### 预编译固件(随时刷,不必编译)
已归档到 [`firmware/cyd_28r/`](firmware/cyd_28r/)(含 bootloader / partitions / app):
```powershell
cd firmware\cyd_28r
.\flash.ps1
# 或 .\flash.ps1 -Port COM3
```
说明见 [`firmware/README.md`](firmware/README.md)。源码更新后重新打包:`.\firmware\export_from_build.ps1`。
### 环境选择
| 环境 | 适用 |
|------|------|
| `cyd_28r` | 标准 ILI9341 CYD(默认) |
| `cyd_28r_inv` | 颜色反相 / 发白 |
| `cyd_28_st7789` | USB-C 双口 / ST7789 变体 |
| `cyd_35r` | 3.5" ESP32-3248S035(ST7796 + GT911) |
## 3D 外壳
v1.1 圆角分体壳(前框 + 后盖 + 四侧悬臂卡扣 + 后盖 DHT 卡位),可直接打印:
- STL:[`cad/export/front.stl`](cad/export/front.stl)、[`cad/export/back.stl`](cad/export/back.stl)、[`cad/export/snap_coupon.stl`](cad/export/snap_coupon.stl)(试打卡扣)
- 浏览器预览:[`cad/viewer.html`](cad/viewer.html)(需本地 HTTP,见下)
- 参数与打印建议:[`cad/README.md`](cad/README.md)
```bash
# 浏览器查看
python -m http.server 8765 --directory cad
# 打开 http://localhost:8765/viewer.html
# 重新导出 STL
pip install trimesh manifold3d numpy shapely
python cad/generate_stl.py
```
合盖以卡扣为主、止口对齐;四角 `M3×10` 可选。建议 PETG;DHT11 装后盖背面卡位,线接 CN1。
## 项目结构
```
platformio.ini # 板级与库依赖
include/lv_conf.h # LVGL 配置
src/main.cpp # 仪表盘主程序
scripts/exclude_lvgl_asm.py # 排除 ESP32 不兼容的 LVGL ASM
firmware/ # 预编译固件(可离线刷写)
cad/ # 3D 外壳(OpenSCAD + STL)
.cursor/rules/ # Cursor 协作规则
README.md # 本文档
```
## 变更约定
每次功能或行为改动须:
1. 更新本 README(及必要时的注释)
2. `git add` + `git commit` 提交
详见 `.cursor/rules/git-and-docs.mdc`。
## 稳定版快照(可随时切回)
| 标签 | 提交 | 内容 |
|------|------|------|
| **`v1.1-case-snaps`**(当前推荐) | `892e9d0` | 圆角 R3.5、四侧悬臂卡扣、定位柱、后盖 DHT 卡位、`snap_coupon` |
| `v1.0-case-closed` | `646cf45` | 仅止口合盖 + DHT 后盖微突出,无卡扣、无旁侧格子 |
本地分支备份:`keep/v1.1-case-snaps`、`keep/v1.0-case-closed`。
```bash
# 查看标签
git tag -l
# 临时查看当前稳定版(只读)
git switch --detach v1.1-case-snaps
# 基于该版开新分支继续改
git switch -c restore/v1.1-case-snaps v1.1-case-snaps
# 切回旧无卡扣版
git switch --detach v1.0-case-closed
# 整库硬切回(会丢弃之后未提交改动,慎用)
git reset --hard v1.1-case-snaps
```
## 变更记录
| 日期 | 说明 |
|------|------|
| 2026-10-17 | 初版:LVGL 仪表盘 + DHT11(GPIO22),平滑/舒适度/趋势/背光 |
| 2026-10-17 | 曾加入 ECO 熄屏休眠,后改回常亮正常版 |
| 2026-10-17 | 初始化 Git,补充 README 与提交约定 |
| 2026-10-17 | 新增 CYD+DHT11 桌面斜立 3D 外壳(OpenSCAD / STL) |
| 2026-10-17 | 增加浏览器 Three.js STL 预览页 `cad/viewer.html` |
| 2026-10-17 | 预览增强:合盖/开盖、分解、装配动画、剖切/线框等 |
| 2026-10-17 | 外壳改定:DHT11 后盖卡位微突出;前后盖止口合盖 |
| 2026-10-17 | 去掉旁侧多余凸块;修复合盖对齐;DHT 改为后盖平面卡位 |
| 2026-10-17 | 打标签 `v1.0-case-closed` 作为可回滚稳定版 |
| 2026-10-17 | 外壳 v1.1:外圆角 R3.5、四侧悬臂卡扣、定位柱、卡扣试打样件 |
| 2026-10-17 | 打标签 `v1.1-case-snaps`(及分支 `keep/v1.1-case-snaps`)作为可回滚稳定版 |
| 2026-10-17 | UI 重排:修文字压图表;表盘/底栏分区;动画与短按/长按交互 |
| 2026-10-17 | 顶栏改单行,避免 up 文案被表盘面板盖住 |
| 2026-10-17 | 归档预编译固件到 `firmware/cyd_28r/`,附一键刷写脚本 |
| 2026-10-25 | 3.5" 表盘读数:数值+单位整体居中,数值变宽后不再盖住单位 |
| 2026-10-25 | 修复 3.5" 黑屏:背光改回 GPIO27(GPIO21 为 GT911 INT) |
| 2026-10-25 | README 链到上级 `CYD_PROJECT_GUIDE.md` §A(2.8/3.5 对照) |