收起左侧

联想个人云 X1/X1S 前面板控制

0
回复
41
查看
[ 复制链接 ]

0

主题

16

回帖

0

牛值

江湖小虾

联想个人云 X1/X1S 前面板控制

381E4KA_NEV3B%GT4YV.png

概述

本应用专为联想个人云 X1/X1s NAS 设备设计,控制前面板 LED 指示灯和机箱风扇,实现硬件状态的实时可视化与智能温控管理。应用运行于飞牛OS平台,提供 Web 控制面板,支持自动与手动两种控制模式。

要求:系统版本要求≥1.1.3104,必须加载pinctrl驱动(驱动飞牛系统最新版本自带,没有卸载操作可以不管)。

应用目前没有集成x1s前面版屏幕的控制(测试设备为x1),理论上与原小屏幕控制不冲突,可以并存。

核心功能

1. LED 指示灯控制

自动模式下的 LED 行为:

  • 硬盘指示灯:故障→黄灯常亮;休眠→黄灯慢闪;在位空闲→白灯常亮;数据传输→白灯按速率闪烁(≥1MB/s 慢闪,≥50MB/s 快闪,1秒防抖)
  • 网络指示灯:故障→蓝灯常亮;断开→全灭;链接空闲→白灯常亮;数据传输→白灯按速率闪烁(≥20KB/s 慢闪,≥1MB/s 中闪,≥20MB/s 快闪,1秒防抖)
  • 速率闪烁:可通过顶部滑块独立开关,关闭后 LED 仅显示常亮/常灭状态

2. 温度监控

实时监控 CPU、主板、硬盘温度,5 档颜色状态直观反映温度区间:

状态 CPU 温度 硬盘温度 颜色
正常 <50°C <42°C 淡蓝
低速 50-68°C 42-50°C 绿色
中速 68-80°C 50-60°C 橙色(脉冲动画)
高速 80-95°C 60-65°C 深橙(脉冲动画)
高温 ≥95°C ≥65°C 红色(闪烁警报)
  • CPU 温度采用 3 次滑动平均,避免瞬时波动
  • 硬盘温度通过 smartctl -A --nocheck=standby 读取,5 秒缓存减少磁盘操作
  • --nocheck=standby 参数确保休眠磁盘不会被唤醒,smartctl 检测到休眠状态时直接跳过查询
  • 休眠硬盘自动跳过温度读取,风扇控制中默认使用 1°C 不触发升档

3. 风扇 PWM 调速

4 级阶梯式温控策略,配合 5°C 滞回机制防止风扇频繁切换:

档位 PWM CPU 阈值 硬盘阈值
LOW 50 (20%) ≥50°C ≥42°C
MEDIUM 100 (40%) ≥68°C ≥50°C
HIGH 180 (70%) ≥80°C ≥60°C
MAX 255 (100%) ≥95°C ≥65°C
  • 滞回机制:升温超过阈值立即升档,降温需低于阈值 5°C 才降档
  • 双传感器独立跟踪:CPU 和硬盘各自独立计算档位,取较高者执行
  • 紧急优先:硬盘≥65°C 或 CPU≥95°C 立即满速
  • 手动模式:支持 0-255 全范围 PWM 滑块调节
  • 每 5 秒自动更新一次,接管 pwm_enable=1 确保软件控制权

4. 硬盘状态监控

  • 动态检测 SATA 端口映射,自动识别 5 个硬盘槽位
  • 支持 4 种状态识别:在位/活动中/休眠/故障
  • 通过 hdparm 检测电源状态(30 秒缓存)
  • 通过 smartd 日志检测磁盘故障告警(60 秒缓存)
  • 实时传输速率计算(基于 /sys/block/*/stat

5. 双网口监控

  • 同时监控 enp2s0(网口1)和 enp3s0(网口2)
  • 通过 /sys/class/net/ 读取物理链接状态(carrier)
  • 实时上下行速率计算
  • 通过 curl 检测外网连通性(30 秒间隔,访问 baidu.com/qq.com)
  • 协商速率显示

控制面板

Web 界面采用深色毛玻璃风格,顶部集成以下控制:

  • LED 模式切换:手动/自动滑块
  • LED 总开关:控制全部 LED 电源
  • 速率闪烁开关:独立控制 LED 速率闪烁功能
  • LED 测试:一键测试全部 LED(依次点亮→保持→熄灭→恢复)
  • 连接状态:实时显示与后端的连接状态

安装依赖

  • python312:Python 3.12
  • ite-it87_driver:ITE IT87 芯片驱动(用于风扇 PWM 控制)

状态持久化

应用退出时自动保存当前状态(LED 模式、LED 电源、闪烁开关、风扇模式/PWM 值),重启后自动恢复,无需重新配置。

反馈与优化

日志路径:/vol1/@appdata/x1_x1s_ledfancontrol/app.log

没有测试很长时间且设备只有x1,肯定有很多问题,欢迎指点与反馈,目前有以下几点征集大家的意见:

  1. 有没有必要通过端口访问:目前可以桌面窗口和端口访问,这玩意儿一次设置,后续就不会再打开的,有必要端口吗?
  2. 风扇风速最低档转速是否合理?4个转速挡位是否合理?
  3. 闪烁的频率设置是否合理?闪烁阈值设置是否合理?
  4. 小屏幕的集成:理论没啥问题,但没有设备,难以测试。
  5. 其他

文件下载地址

通过网盘分享的文件:x1_x1s_ledfancontrol.fpk
链接: https://pan.baidu.com/s/1fnk7rtqmfZn-l8mt-KGiFQ?pwd=kbxh 提取码: kbxh

收藏
送赞
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则