Skip to content

LED

发光二极管(LED,Light Emitting Diode)是一种能将电能转化为光能的半导体器件。犀牛派 A1 板载 4 个三色 LED 指示灯(led0 ~ led3),每个指示灯包含红(red)、绿(green)、蓝(blue)三路颜色通道,可用于系统状态指示或用户自定义显示。

准备

  • 犀牛派 A1
  • 开源工具 gpiod
shell
sudo apt update
sudo apt install gpiod libgpiod2 libgpiod-dev

测试

Android:LED 灯控制

bash
aidlux@aidlux:~$ sudo gpioinfo /dev/gpiochip0 | grep led
        line  27:      unnamed "led2_green"  output  active-high [used]
        line  44:      unnamed  "led2_blue"  output  active-high [used]
        line  46:      unnamed   "led3_red"  output  active-high [used]
        line 108:      unnamed   "led2_red"  output  active-high [used]
        line 112:      unnamed  "led1_blue"  output  active-high [used]
        line 118:      unnamed "led0_green"  output  active-high [used]
        line 122:      unnamed "led1_green"  output  active-high [used]
        line 135:      unnamed  "led3_blue"  output  active-high [used]

# 控制 LED3 红灯亮
and -s 'echo 1 > /sys/class/new_leds/led3_red/value'
# 控制 LED3 红灯灭
and -s 'echo 0 > /sys/class/new_leds/led3_red/value'
# 注意 led3_green 已经被系统内部占用,无法通过改变 led3_green/value 来控制灯的亮和灭

Ubuntu:LED 灯控制

bash
aidlux@aidlux:~$ sudo gpioinfo /dev/gpiochip3 | grep led
        line  27:      unnamed "led2_green"  output  active-high [used]
        line  44:      unnamed  "led2_blue"  output  active-high [used]
        line  46:      unnamed   "led3_red"  output  active-high [used]
        line 108:      unnamed   "led2_red"  output  active-high [used]
        line 110:      unnamed   "led0_red"  output  active-high [used]
        line 112:      unnamed  "led1_blue"  output  active-high [used]
        line 118:      unnamed "led0_green"  output  active-high [used]
        line 122:      unnamed "led1_green"  output  active-high [used]
        line 135:      unnamed  "led3_blue"  output  active-high [used]
        line 142:      unnamed "led3_green"  output  active-high [used]

# 执行如下指令,控制 LED 灯
sudo su
cd /sys/class/gpio_userspace
# 控制 LED3 红灯亮
echo 1 > led3_red/value 
# 控制 LED3 红灯灭
echo 0 > led3_red/value 
# 注意 led3_green 已经被系统内部占用,无法通过改变 led3_green/value 来控制灯的亮和灭