😴

Zig で LED の色を変えてみた (ASUS Z790 Aura)

2024/11/10に公開

概要

マザーボードの LED の色をデーモンで制御したい

  • 要件
    • ASUS Aura を実装した LED を制御する
  • 仕様
    • Daemon として動作する
    • 温度が上がれば赤く光る
    • 温度が下がれば青く光る
    • 閾値は zone2 で30度
  • 設計

アプローチ

まずは対象の VID / PID を調べる

lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0b05:19af ASUSTek Computer, Inc. AURA LED Controller
Bus 001 Device 003: ID 0b27:2251 Ritek Corp. USB DISK 2.0
Bus 001 Device 004: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub
Bus 001 Device 005: ID 3151:1020 YICHIP Wireless Device
Bus 001 Device 006: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 007: ID 8087:0033 Intel Corp. AX211 Bluetooth
Bus 001 Device 008: ID 0c45:636b Microdia CMS-V67BK
Bus 001 Device 009: ID 0853:0100 Topre Corporation HHKB Professional
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub

詳細が読みたければ

lsusb -d 0b05:19af -v

VID / PID 情報をもとに OpenRGB で対象のプロトコルを読む

実装

上記アプローチにより、以下実装で仕様を満たします

https://github.com/keix/led-daemon

以下手順で実行

git clone git@github.com:keix/led-daemon.git
cd led-daemon
zig build
./zig-out/bin/led-daemon

Discussion