给飞牛 NAS 写了个风扇控制器 v1.0:液态玻璃界面 + 多区域管理 + 一键安装包

先说结论:我的飞牛 NAS,终于不吵了。

而且说实话,做出来的这个东西——可能是你能找到的最好看的飞牛风扇控制器。这话不是我吹,往下看就知道了。

⬇ 国内直链下载 fpk(Gitee)

国内镜像仓库:gitee.com/linxiang011/fnos-fan-console

起因:一台半夜嗡嗡叫的 NAS

我家这台飞牛 NAS 一直有个小毛病:风扇基本只有两种状态,要么装死,要么狂转。

深夜码字的时候,它突然"呼呼呼"来一阵;等我去看,温度其实也没多高。原厂那套温控逻辑,大概是"能用就行"的水平——能转,但转得随心所欲。

小黑被 NAS 的风扇吵得捂耳朵

我也试过改配置,折腾半天,能调的东西就那么点。曲线?没有。多风扇分区?没有。温度异常发个通知?想都别想。

那段时间我正好在学校啃操作系统和计网,想想干脆自己写一个算了。

中途踩的坑,比我预想的多

一开始我天真地以为,这活儿一两天就能干完。

结果光界面就推倒重来了不知道多少次。第一版做的是"液态玻璃"那种半透明质感,好看是真好看,但一上来就翻车了——面板上挂了实时模糊,数值一变浏览器就跟着喘,滚动起来一卡一卡的。

后来我把实时模糊、折射、动画这些"看起来很贵"的效果全删了。你猜怎么着?视觉几乎没变。因为我们感受到的玻璃质感,靠的是描边和高光,不是真的去算背景模糊。这一刀砍下去,界面反而顺滑了。

再往后是曲线编辑器。别人家拖拽节点是基础操作,我自己写起来才发现:温度不能越界、转速要限幅、拖完还得提醒"你没保存"……每个小细节都能耗掉一晚上。

最抓狂的是多区域。我脑子里想的是"一个控制器管好几把风扇",真做的时候,通道冲突、状态同步、保存逻辑全是坑。有天晚上调到一个风扇"人格分裂"——界面上一个速度,实际转另一个速度,我盯着屏幕愣了半天。

这些坑踩下来,倒攒出了一个还算拿得出手的 v1.0。

它现在能做什么

核心就一句话:让风扇跟着温度讲道理。

最重要的一块是温控曲线。横轴温度、纵轴转速,拖几个节点,它就照着这条线调速:低温压着转速图安静,过了某个温度再慢慢拉高。改完没保存,标题旁边会亮个小提示;手滑要关页面,浏览器还会拦你一下。

小黑沿着温度台阶把热球往上顶

温度来源也能挑:CPU、硬盘、GPU,或者"谁高听谁的"。我的机器是核显,GPU 温度走 i915;用独显的朋友,N 卡还有 nvidia-smi 兜底。

然后是我折腾最久的多区域。机箱里几把风扇,可以各自绑定不同的 PWM 通道、温度来源和曲线——CPU 扇跟着 CPU 走,硬盘扇盯着硬盘,谁也不耽误谁。

小黑拉绳同时控制多个风扇

首页还挂了一张温度趋势小图,最近两分钟谁热谁凉,一眼就能看出来。日志会自动刷新,能按"信息 / 警告 / 错误"筛,也能一键导出。

通知做了两条路:浏览器通知,页面开着就能弹;另一个是 Webhook,填个地址就行,服务器端保护一触发(比如温度连续读不到、自动降级),它会推一条 JSON 过去,Bark、钉钉都能直接收。

剩下还有些零碎但用着舒服的小东西:配置一键导出导入、四套壁纸还能传自己的图、手机端适配加上"添加到主屏"。这些就不展开了,不然真成说明书了。

安全这件事,我做得比较保守

风扇控制这东西,可以不好用,但不能帮倒忙。

所以我给它上了三道保险:温度连续读不到,先"全速保护"——先吹起来再说;持续读不到,自动降级成最保守的曲线;就算程序整个崩了,还有看门狗在外面守着,把风扇交还给系统。

还有个细节我自己挺满意:失败保护是按温度来源分别生效的。以前那种老逻辑,CPU 传感器抖一下,硬盘那边的风扇也跟着躁动;现在谁的事谁管,互不牵连。

小黑拉闸全速保护,看门狗挂牌

它长什么样

就放一张首页截图吧,免得像在写产品说明书。

风扇控制器首页

液态玻璃的面板、拯救者风格的仪表盘、跟着鼠标走的流光,还有底下那条实时温度趋势。想看全套的,仓库里留了一整套 16:9 截图。

怎么装

我把它打成了飞牛的 .fpk 安装包,应用中心手动上传就行,或者一行命令:

appcenter-cli install-fpk fan-console_1.0.0.fpk

小提示:安装包的应用标识为 fan-console(v1.0 起由 fan-control 更名);需要从旧版迁移的同学,配置迁移步骤见仓库发行说明。

安装向导里设一下端口和密码,装完打开就能用。默认加载的是最保守的温控曲线,不用担心一上来就折腾硬件。

小黑把 fpk 投进 NAS

顺便说一句,源码完全开源,连构建都是可复现的:一条命令重新组装界面,一条命令重新打包,还有 68 个单元测试兜着。折腾党可以自己改了玩。

获取方式

  • 国内镜像(Gitee,推荐):gitee.com/linxiang011/fnos-fan-console —— 源码 + 发行版附件;
  • 安装包直链(国内):下载 fan-console_1.0.0.fpk(约 82KB);
  • GitHub:搜索 fnos-fan-console(账号 Yangling777),源码和整套截图都在那边;
  • 上游项目:AriesOxO/fnos-fan-control(GitHub,MIT 协议),我的改造建立在它的基础上。

写这东西的初衷,只是想让自己的 NAS 安静一点。如果它也能让你的半夜安静一点,那就值了。

在用飞牛 NAS 的朋友,评论区聊聊你的风扇吵不吵;觉得有意思的话,顺手去仓库点个 star —— 就当请我喝了杯咖啡。

免责声明:风扇调速涉及硬件,请在理解各项配置含义后再调整;因不当配置造成的问题由使用者自行承担。


给飞牛 NAS 写了个风扇控制器 v1.0:液态玻璃界面 + 多区域管理 + 一键安装包
https://linxiang.cloud//archives/fnos-fan-controller-v1
作者
Administrator
发布于
2026年10月03日
许可协议