MikhailNikitin99/Ocypus-A40-LCD

GitHub: MikhailNikitin99/Ocypus-A40-LCD

Ocypus Iota A40 CPU 散热器 LCD 屏的 Linux 原生驱动,通过 USB HID 协议实时显示 CPU 温度。

Stars: 0 | Forks: 0

# Ocypus Iota A40 Linux LCD 驱动 ![Python](https://img.shields.io/badge/Python-3.9+-3776AB?logo=python&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-supported-FCC624?logo=linux&logoColor=black) ![USB HID](https://img.shields.io/badge/USB-HID-orange) ![License](https://img.shields.io/badge/License-MIT-green) 用于 **Ocypus Iota A40** CPU 散热器 LCD 的轻量级 Linux 驱动。 它使用 `psutil` 读取 CPU 温度,并通过原生 HID 协议将其显示在散热器内置的 USB LCD 上。 ## 功能 - 🌡 以摄氏度或华氏度显示 CPU 温度 - 🧩 兼容任何 `psutil` 温度传感器(`coretemp`、`k10temp` 等) - 🔌 原生 USB HID 通信 - 🔄 在拔出或挂起后自动重新连接 - ⚙️ 包含 systemd 服务 - 🐧 Linux 原生实现 - 📦 简易安装程序 - 🚫 无需专有软件 ## 支持的硬件 | 设备 | 状态 | |---------|:------:| | Ocypus Iota A40 | ✅ | | Ocypus A62 | 团体支持 | | Ocypus L36 | 团体支持 | USB 设备 ID ``` VID: 1A2C PID: 434D ``` LCD 通过 **HID Interface 1** 使用 **Report ID `0x07`** 进行控制。 # 环境要求 - Linux - Python 3.9+ - `psutil` - **`hidapi` Python 包** - systemd - udev # 安装 ## 自动安装 ``` git clone https://github.com/MikhailNikitin99/Ocypus-A40-LCD.git cd Ocypus-A40-LCD sudo ./install.sh ``` 安装程序会自动: - 创建一个 `ocypus` 系统用户 - 安装 Python 依赖 - 安装 udev 规则 - 安装 systemd 服务 - 启用自动启动 ## 手动安装 ``` pip install hidapi psutil sudo cp ocypus-control.py /usr/local/bin/ sudo chmod +x /usr/local/bin/ocypus-control.py sudo useradd --system --no-create-home --shell /usr/sbin/nologin ocypus sudo cp udev/99-ocypus-a40.rules /etc/udev/rules.d/ sudo udevadm control --reload sudo udevadm trigger ``` # 使用方法 显示可用传感器 ``` ocypus-control.py sensors ``` 自动检测传感器 ``` ocypus-control.py on ``` 指定传感器 ``` ocypus-control.py on -s coretemp ``` 华氏度 ``` ocypus-control.py on -u f ``` 每 2 秒刷新一次 ``` ocypus-control.py on -r 2 ``` 关闭 LCD ``` ocypus-control.py off ``` # 作为服务运行 安装: ``` sudo systemctl enable --now ocypus-lcd.service ``` 状态 ``` systemctl status ocypus-lcd.service ``` 日志 ``` journalctl -u ocypus-lcd.service -f ``` # 协议 通信使用 USB HID Feature Reports(65 字节)。 初始化 ``` 07 FD 00 00 00 00 ... ``` 温度更新 ``` 07 FF FF 00 TT UU 00 00 ... ``` 说明 | Byte | 含义 | |------|---------| | 0 | Report ID (0x07) | | 1 | Command (0xFF) | | 2 | Command (0xFF) | | 3 | Reserved | | 4 | 十位数字 | | 5 | 个位数字 | | 6 | Reserved | | 7 | 单位 (0=C, 1=F) | # 故障排除 ### 找不到设备 检查 ``` lsusb -d 1a2c:434d ``` ### 权限拒绝 验证 udev 规则是否已安装并重新加载。 ### Module 'hid' 没有属性 'device' 你安装了错误的包。 ``` pip uninstall hid pip install hidapi ``` ### 温度错误 验证所选的传感器 ``` python3 -c "import psutil; print(psutil.sensors_temperatures())" ``` ### 挂起后 LCD 为空白 重启 ``` sudo systemctl restart ocypus-lcd.service ``` # 许可证 MIT 请参阅 **LICENSE** 文件。
标签:CPU温度监控, Python, systemd, USB HID, 无后门, 硬件驱动, 逆向工具