Leds BlinkM 驱动程序¶
leds-blinkm 驱动程序支持 BlinkM 系列设备。
它们是 RGB-LED 模块,由 (AT)tiny 微控制器驱动,并通过 I2C 进行通信。这些模块的默认地址是 0x09,但可以通过命令更改。通过这种方式,您可以在一条 I2C 总线上菊花链连接多达 127 个 BlinkM 模块。
该设备通过单独的命令接受 RGB 和 HSB 颜色值。您还可以将闪烁序列作为“脚本”存储在控制器中并运行它们。渐变也是一个选项。
此驱动程序提供的接口分为三类
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 中找到。必须向 multi_intensity 写入三个介于 0 到 255 之间的值才能改变颜色
$ echo 255 100 50 > multi_intensity
可以通过向 brightness 文件写入 0 到 255 之间的值来改变整体亮度。
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) Sysfs 组,用于控制 rgb、渐变、hsb、脚本等...¶
此扩展接口在 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