4.0 KiB
4.0 KiB
Chromebox 风扇温控(Windows)
在刷了 coreboot 的 Chromebox 上,用 LibreHardwareMonitor 读取 CPU 核心温度,通过 Coolstar crosec 自带的 ectool 设置 fanduty,并从 ectool 读取 风扇转速(RPM)。主界面提供三条实时曲线:温度、目标占空比、转速。
依赖
- 安装 Coolstar CROS-EC 驱动(或您当前使用的 crosec 安装包),确保存在默认可执行文件:
C:\Program Files\crosec\ectool.exe
若路径不同,在程序「高级」选项卡中修改。 - 以管理员身份运行本程序(清单已要求提升权限;LHM 与 EC 通信通常需要管理员)。
- 客户机:
.\build.ps1 -publish(及带-msi时)默认自包含单文件发布,已内含 .NET 8 运行时,dist\仅含数个 exe,无需再装运行时。若需多 DLL 或依赖系统 .NET 8 以减小体积,可加-multiFile或-frameworkDependent。
编译
.\build.ps1
发布 MSI 安装包(推荐)
.\build.ps1 -publish -msi
-publish 只生成 dist\;加上 -msi 才用 WiX 生成安装包(需已安装 WiX)。输出两个 MSI:
| 文件 | 说明 |
|---|---|
dist-installer\ChromeboxFanControl-Setup.msi |
桌面版:GUI + 可选 Windows 服务(功能树中可勾选) |
dist-installer\ChromeboxFanControlService-Setup.msi |
服务版:仅后台服务,适合无头部署 |
构建机需 .NET 8 SDK 与 WiX Toolset 3。构建前请关闭正在运行的 ChromeboxFanControl.exe。
以管理员身份运行 MSI。若尚未安装 ectool,可访问 Chrultrabook 的 ectool 安装说明。服务模式下配置从 %ProgramData%\ChromeboxFanControl\config.json 读取。
仅发布到 dist\(用于调试或手动打包)
| 命令 | 说明 |
|---|---|
.\build.ps1 -publish |
同时发布桌面版与服务版到 dist\(默认单文件) |
.\build.ps1 -publishGui |
仅发布 GUI |
.\build.ps1 -publishService |
仅发布服务并合并进 dist\ |
.\build.ps1 -publish -multiFile |
保留多 DLL 输出(默认单 exe) |
.\build.ps1 -publish -frameworkDependent |
依赖系统 .NET 8(无 bundled 运行时) |
配置
- 安装目录旁的
appsettings.json:默认选项。 %AppData%\ChromeboxFanControl\config.json:GUI 模式下保存后覆盖(用户配置)。%ProgramData%\ChromeboxFanControl\config.json:Windows 服务模式下读取的配置;可与 GUI 共用同一份配置逻辑。
重要字段:
| 项 | 说明 |
|---|---|
Language |
界面语言:auto(跟随系统)、en、zh-Hans、zh-Hant。修改后需重启生效。 |
FanRpmArgs |
读取转速时传给 ectool 的参数(默认 pwmgetfanrpm 0),请用本机 ectool help 核对。 |
FanDutyArgs |
读取占空比时传给 ectool 的参数(如 pwmget 0);空则跳过,显示目标占空比。 |
AutoFanCtrlArgs |
退出程序时恢复 EC 自动风扇(默认 autofanctrl),若命令名不同请修改。 |
TempSource |
AverageCore 或 MaxCore。 |
CurvePoints |
14 个 0–100 的占空比控制点(对应温度断点 0,40,45,…,100°C,线性插值)。 |
使用说明
- 启动后任务栏托盘有图标;可「暂停控制」(不再下发
fanduty,EC 保持上次状态)。 - 退出或关闭前会尝试执行 自动风扇恢复命令(见配置)。
- 若连续多次读不到 CPU 温度,将进入安全模式(固定占空比或
autofanctrl,见界面选项)。
免责声明
软件按「原样」提供。错误的风扇策略可能导致过热或硬件损坏;请自行承担使用风险。
许可
本项目为实现计划而编写的原创代码;风扇曲线算法行为参考 Chrultrabook-Tools 的公开逻辑描述,未复制其 GPL 源码。