TRANSMISSION ANIM-20250505-C7
智能散热小桌板
TCV3 4.5.1 使用与更新:NASA 朋克主题、关机散热、固件 OTA,以及一套从 Windows 到 CW32L010 的桌面散热链路。
CONTENTS / 目录7 LABELS
一句话:电脑热了,小桌板自己把风扇开大;电脑关机,它还能按设定继续吹一会儿。
当前桌面端 4.5.1.0,参考固件 1.2.4 / 协议 1.1 / 引导程序 0.1.4。
固件侧的实现细节,见 4KB RAM 里的三路风扇。
智能散热小桌板是一套软硬件结合的桌面散热系统。Windows 端 TCV3 读取 CPU / GPU 温度,通过 BLE 把风扇档位发给桌板;桌板上的 CW32L010 控制三路 12V 风扇。
它不追求“把风扇转起来”这么简单。现在这一版里,真正占分量的东西是:温度策略、断电后的独立倒计时、蓝牙状态回传,以及一条能安全把固件送进 20KB 应用区的 OTA 链路。
当前版本与关键能力
| 层 | 当前版本 | 说明 |
|---|---|---|
| TCV3 桌面端 | 4.5.1.0 | 本文对应的上位机版本 |
| 下位机固件 | 1.2.4 | 风扇、关机散热、状态回传 |
| 通信协议 | 1.1 | 模式指令、版本查询、关机散热 |
| 引导程序 | 0.1.4 | 负责 OTA 写入、校验与启动闸门 |
| 能力 | 现在的状态 |
|---|---|
| 温度监测 | Intel / AMD CPU + NVIDIA GPU;读取失败时显示占位,不崩 |
| 风扇控制 | 自动 / 静音 / 全速三档;自动模式按温度平滑调速 |
| 关机散热 | 1–10 分钟;倒计时由下位机独立完成 |
| 固件升级 | 关于页 OTA;逐帧传输 + 双道校验 |
| 界面 | Qt Quick / QML;默认风格 + NASA 朋克风格 |
| 桌面集成 | 系统托盘、开机自启、系统通知 |
| 蓝牙 | WinRT BLE,DX-BT24-T 透传模块 |
成品与硬件


| 组件 | 型号 |
|---|---|
| 主控 | CW32L010F8(Cortex-M0+,8MHz,4KB RAM / 64KB Flash) |
| 蓝牙 | DX-BT24-T 透传模块 |
| 风扇 | 12V 直流风扇(利民 TL-C12) |
| 上位机 | Windows 10 / 11 x64,C++20 + Qt 6.11.1 / QML |
系统要求
| 要求 | 说明 |
|---|---|
| 操作系统 | Windows 10 / 11 64-bit |
| 运行库 | VC++ Redistributable x64 |
| CPU 温度 | Intel 需要 PawnIO 驱动;AMD 需要 AMDRyzenMaster 驱动 |
| GPU 温度 | NVIDIA,通过随程序释放的 nv_dll |
| 权限 | 程序需要管理员权限读取温度传感器,首次启动会触发 UAC |
| 硬件 | 已烧录固件的桌板 + 已配对好的蓝牙模块 |
安装
- 打开 GitHub Releases,下载最新的 TemperatureControlV3_v4.5.1.0_Setup.exe 或更新版本。
- 运行安装包,按提示完成安装;安装和启动都需要管理员权限。
- 首次启动会释放运行时 DLL、检查驱动。Intel 平台按提示安装 PawnIO;AMD 平台按提示部署 RyzenMaster 驱动;NVIDIA 不需要额外安装。
- 先在 Windows 设置里把桌板的 BT24-T 配对,再启动 TCV3。首次配对必须在系统里完成,程序只负责连接。
- 打开程序的「关于」页,确认桌面端版本与下位机固件版本。
从旧版本升级时建议直接覆盖安装;配置会保留。如果安装后界面起不来,先确认不是 4.5.0 的安装包——那一版曾漏掉 QtQuick.Shapes,4.5.1 已修复。
连接蓝牙
- 桌板上电,Windows 蓝牙里找到 BT24-T 并完成配对。
- 启动 TCV3,程序会自动扫描并连接;连接成功后首页会显示“蓝牙连接”状态。
- 如果连接失败,点首页右侧的「重连」;仍然失败时,先关闭手机或其他主机上占用该设备的连接。
- 连接后程序会订阅 FFE1 特征值,并自动查询下位机固件版本;版本回传会显示在「关于」页。
服务与特征:
| 项 | 值 |
|---|---|
| 设备名 | BT24-T |
| Service UUID | FFE0 |
| Characteristic UUID | FFE1 |
使用
首页
- 实时温度:CPU、GPU 两张卡片。超过警告阈值后读数与图标会变色;失败时显示占位,不会让界面卡住。
- 风扇模式:自动、静音、全速。自动模式由温度驱动;静音固定低转速;全速固定满转。切换模式会同时取消正在进行的关机散热。
- 数据发送延时:1–10 秒,点「应用」生效。温度不需要每秒上报一次,延时越长,BLE 写入越少。
- 关机散热:选择 1–10 分钟,点「开始散热」,风扇立即满速,倒计时由桌板自己完成。
关机散热
这个功能解决的是一个很具体的场景:用户点了关机散热之后,Windows 开始关机,TCV3 退出,蓝牙断开——但风扇不能立刻停。
所以上位机只负责下发一次指令,倒计时在 MCU 里走:
- 断电、退出程序、蓝牙断开,都不会中断;
- 结束后下位机回 FIN,上位机自动切回自动模式;
- 中途重新选择风扇模式,会取消散热(回 CAN);
- 成功结束或指令下发失败,会弹系统通知;窗口最小化到托盘也可见;
- 需要下位机固件支持(1.2.0 起);版本过旧时「关于」页会提示。
界面当前开放 1–10 分钟;下位机协议上限是 60 分钟,但日常使用没有把更长的档位放出来。
设置
- 主题模式:跟随系统 / 浅色 / 深色。
- 风格:默认 / NASA 朋克。风格和明暗是两个独立维度——选 NASA 后,亮暗仍由主题模式决定。
- 背景材质:云母 / 亚克力 / 无。Windows 11 22H2 及以上效果最好,远程桌面或虚拟机可能自动降级。
- 开机自启:写入当前用户的自启动项。
- 系统通知:关机散热结束、指令下发失败时在右下角提醒。
- 重置设置:删除配置文件并重启;适合排查配置问题。
关于页与 OTA
「关于」页集中放了三类信息:
- 桌面端版本、下位机固件版本与协议版本;
- 更新日志;
- 支持与文档、固件升级入口。
固件升级(OTA)在 4.4.0.0 加入。流程是:应用受理升级请求 → 软复位 → 常驻引导程序接管 → 分帧传输 → 逐帧 CRC16 + 整镜像 CRC32 校验 → 激活。
升级时注意:
- 保持桌板供电和蓝牙连接,不要中途退出程序;
- 选择与硬件匹配的固件文件;
- 下位机必须已经烧录引导程序,应用运行在 0x5000;没有引导程序时 OTA 不会工作;
- 传输期间界面会显示阶段与百分比,可以取消;但进入“等待复位/激活”阶段后再取消,设备可能仍会进入升级模式,这是安全的,但需要重新连接确认状态;
- 升级完成后程序会自动重新查询固件版本,不需要手动重连。
OTA 的协议、暂存区、启动闸门与失败恢复设计,见 4KB RAM 里的三路风扇。
NASA 朋克主题
4.5.0.0 加入了 NASA 朋克风格:烤漆白底、NASA 蓝、金属灰细边、方角、深色仪表板标题栏、文档控制条与蓝图网格。它和本站现在的视觉语言是同一套。
几点实际使用上的说明:
- NASA 亮 / NASA 暗不是两个独立模式。在「设置 → 风格」选 NASA,再用「主题模式」决定跟随系统、浅色或深色。
- 字体按已安装才用:拉丁使用 Nasalization,中文使用 MapleMono。没有安装时自动回退系统字体,不影响功能。
- 4.5.1.0 修正了字体族名识别:之前把族名写成 Nasalization Rg,而实际族名是 Nasalization,导致 NASA 主题的 Nasalization 一直没有真正生效;现在会从已安装字体里按候选名解析。
- 温度与蓝牙图标已经改为 QML 矢量绘制,报警态直接换描边颜色,不再依赖位图着色。
常见问题
蓝牙搜索不到桌板 / 连接失败
- 确认桌板已上电,BT24-T 在范围内;
- 先在 Windows 蓝牙设置里完成配对,再打开 TCV3;
- 检查是否被手机或其他电脑占用;
- 仍失败时重启桌板电源,再点「重连」;
- 若提示服务或特征值错误,确认设备使用 FFE0 / FFE1。
温度显示“–”
- Intel:确认 PawnIO 驱动已安装,程序以管理员权限运行;
- AMD:确认 RyzenMaster 驱动部署成功,系统为 Windows 10 及以上;
- NVIDIA:nv_dll 会随程序释放,不需要单独安装;
- 偶发读取失败会自动恢复,不必反复重启。
风扇不转或不受控
- 确认首页蓝牙状态为已连接;
- 确认处于「自动」或手动模式,而不是正在关机散热;
- 检查「数据发送延时」是否已点「应用」;
- 切换一次模式,确认下位机没有停在旧的关机散热收尾状态。
点击关机散热没有反应
- 多数是下位机固件过旧,不支持关机散热指令;
- 连接后在「关于」页看固件版本,低于 1.2.0 会提示;
- 未连接、正在连接时程序会提示指令没有发出,不会静默失败;
- 需要先升级固件,再试。
OTA 失败
- 确认下位机有引导程序,且应用运行在 0x5000;
- 确认固件文件匹配当前硬件,不是错误项目的镜像;
- 保持蓝牙连接,失败后可按提示重试;
- 如果进入升级模式后无法退出,重新上电通常会回到引导程序或旧应用,具体取决于引导程序状态。
NASA 风格字体不对
- NASA 风格优先使用系统已安装的 Nasalization 与 MapleMono;
- 没有安装时会回退,不会报错,但字形会变成系统字体;
- 安装字体后重启 TCV3 再切换风格。
安装后界面起不来
优先使用 4.5.1.0 或更新版本。4.5.0 的安装包曾因 QtQuick.Shapes 被错误排除,导致安装版启动失败;便携版不受影响。当前版本已在打包脚本里加入 QML import 与 Excludes 的交叉校验。
技术栈
| 技术 | 说明 |
|---|---|
| 语言 / 框架 | C++20 + Qt 6.11.1(QML / Quick / Widgets / Concurrent / Network / Svg) |
| 界面 | QML 拆分组件,AppTheme 单例统一色板与样式令牌 |
| 线程 | TCCore 温度采集线程 + BLEThread 蓝牙线程,QmlBridge 做唯一信号/槽中枢 |
| 蓝牙 | WinRT BLE DLL,FFE1 写入 + 通知订阅 |
| 固件 | CW32L010,纯中断驱动 + 主循环休眠,详见固件篇 |
| 打包 | Inno Setup 7;内嵌 DLL 启动时提取并做 Authenticode 校验 |
版本历史
| 版本 | 主要变化 |
|---|---|
| v4.5.1.0 | NASA 字体族名修正;安装包补回 QtQuick.Shapes;打包期交叉校验 |
| v4.5.0.0 | NASA 朋克主题;主题设置拆成「模式 + 风格」;QML 矢量温度/蓝牙图标 |
| v4.4.0.0 | 固件 OTA;QML 拆分;通知、图标与关闭对话框修复 |
| v4.3.0.0 | 关机散热、系统通知、下位机状态回传、蓝牙写入结果查询 |
| v4.0.0.0 | UI 迁移到 Qt Quick / QML;Mica / Acrylic;深浅主题;资源提取安全加固 |
更早的版本和逐条修复记录,在程序内「关于 → 更新日志」里;这里不再维护一份容易过期的完整 changelog。
反馈与许可
- 下载:GitHub Releases
- 问题反馈:GitHub Issues
- 反馈时请附上:Windows 版本、CPU / GPU 型号、TCV3 版本、固件版本,以及日志文件。
本项目代码使用 MIT 许可证;Qt 库按 LGPLv3 动态链接分发。