Leds BlinkM 驱动¶
leds-blinkm 驱动程序支持 BlinkM 系列的设备。
它们是由(AT)tiny 微控制器驱动并通过 I2C 通信的 RGB-LED 模块。这些模块的默认地址是 0x09,但可以通过命令更改。通过这种方式,您可以在一个 I2C 总线上菊花链连接最多 127 个 BlinkM。
该设备通过单独的命令接受 RGB 和 HSB 颜色值。您还可以将闪烁序列作为“脚本”存储在控制器中并运行它们。淡入淡出也是一种选择。
此驱动程序提供的接口是 3 方面的
a) 用于触发器的 LED 多彩类接口¶
注册遵循以下方案
blinkm-<i2c-bus-nr>-<i2c-device-nr>:rgb:indicator
$ ls -h /sys/class/leds/blinkm-1-9:rgb:indicator
brightness device max_brightness multi_index multi_intensity power subsystem trigger uevent
色调由 multi_intensity 文件控制,亮度由 brightness 文件控制。
写入强度值的顺序可以在 multi_index 中找到。必须将三个介于 0 和 255 之间的值写入 multi_intensity 才能更改颜色
$ echo 255 100 50 > multi_intensity
可以通过将 0 到 255 之间的值写入 brightness 文件来更改整体亮度。
b) 用于触发器的 LED 类接口¶
注册遵循以下方案
blinkm-<i2c-bus-nr>-<i2c-device-nr>-<color>
$ ls -h /sys/class/leds/blinkm-6-*
/sys/class/leds/blinkm-6-9-blue:
brightness device max_brightness power subsystem trigger uevent
/sys/class/leds/blinkm-6-9-green:
brightness device max_brightness power subsystem trigger uevent
/sys/class/leds/blinkm-6-9-red:
brightness device max_brightness power subsystem trigger uevent
(与 /sys/bus/i2c/devices/6-0009/leds 相同)
我们可以将颜色分成红色、绿色和蓝色来控制,并在每种颜色上分配触发器。
例如
$ cat blinkm-6-9-blue/brightness
05
$ echo 200 > blinkm-6-9-blue/brightness
$
$ modprobe ledtrig-heartbeat
$ echo heartbeat > blinkm-6-9-green/trigger
$
b) 用于控制 rgb、淡入淡出、hsb、脚本等的 Sysfs 组...¶
这个扩展的接口在 I2C 设备的 sysfs 文件夹中以 blinkm 文件夹的形式提供。例如,在 /sys/bus/i2c/devices/6-0009/blinkm 下
$ ls -h /sys/bus/i2c/devices/6-0009/blinkm/ blue green red test
目前仅支持设置红色、绿色、蓝色和测试序列。
例如
$ cat *
00
00
00
#Write into test to start test sequence!#
$ echo 1 > test
$
$ echo 255 > red
$
截至 2024 年 7 月
dl9pf <at> gmx <dot> de jstrauss <at> mailbox <dot> org