使用 shell 控制 Orange Pi 的发光二极管
本文以安装了 Armbian 的 OrangePi PC2 为例。在 OrangePi PC2 中有两个 LED 灯可以被软件控制:一个红灯,一个绿灯。
在 Linux 中,LED 是通过 /sys
目录里的文件来控制的,这个目录是由内核驱动程序实现的。这两个 LED 灯相关的目录分别为 /sys/class/leds/orangepi:green:pwr
以及 /sys/class/leds/orangepi:red:status
。
从名字上也很容易看出,前者是控制绿灯,后者是控制红灯的。
而在具体的LED灯目录中,有各种文件和目录可以用来改变 LED 灯的行为和获取 LED 灯的状态:
ls -F /sys/class/leds/orangepi:green:pwr/
结果为:
brightness device@ max_brightness power/ subsystem@ trigger uevent
触发 LED 的条件(trigger)
我们可以使用 LED 灯来表现各种事件,通过查看 trigger
文件能够看到哪些事件可以用来出发 LED 闪亮:
cat /sys/class/leds/orangepi:green:pwr/trigger
结果为:
[none] kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock usbport usb-gadget usb-host mmc0 heartbeat cpu cpu0 cpu1 cpu2 cpu3 rc-feedback 0.2:01:1Gbps 0.2:01:100Mbps 0.2:01:10Mbps
可以看到,支持的触发器有很多,但是 none
外面的方括号表明当前的选择是 none
。
只有当触发器源为 none 的情况下,才能用软件来控制 LED 灯
点亮/熄灭 LED 灯
在 LED 灯目录中,还有一个 brightness
的文件,用来表示 LED 灯的亮度。其中0表示完全熄灭,255表示最大亮度。
cat /sys/class/leds/orangepi:green:pwr/brightness
结果:
255
这说明,绿灯是亮着的。
目前,OrangePi 的 LED 只能亮或者不亮,也就是说,任何不为0的亮度值都会让 LED 完全点亮。
要点亮或者熄灭 LED 灯,可以直接通过修改 brightness
的值来实现,比如:
echo 0|sudo tee /sys/class/leds/orangepi:green:pwr/brightness
就会让绿灯熄灭了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论