树莓派-关闭树莓派指示灯

方式一:

执行下面的命令,可以立即更改led灯的设置,但是重启或关机后需要重新设置:

1
2
3
4
5
6
7
8
9
echo 0 | sudo tee  /sys/class/leds/led0/brightness # led0 绿灯 状态灯
echo none | sudo tee /sys/class/leds/led0/trigger
echo none | sudo tee /sys/class/leds/led1/trigger # led1 红灯 电源灯
echo 0 | sudo tee /sys/class/leds/led1/brightness

# raspbian 12 及 以上
echo heartbeat | sudo tee /sys/class/leds/ACT/trigger # 将 act 灯设置为心跳闪烁

echo heartbeat | sudo tee /sys/class/leds/PWR/trigger # 将 pwr 灯设置为心跳闪烁

如果想树莓派启动的时候就自动关闭,可以将这些命令放入/etc/rc.local

方式二:使用systemd

在以下位置创建文件/etc/systemd/system/disable-led.service,文件内容:

1
2
3
4
5
6
7
8
9
10
11
[Unit]
Description=Disables the power-LED and active-LED

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=sh -c "echo 0 | sudo tee /sys/class/leds/led1/brightness > /dev/null && echo 0 | sudo tee /sys/class/leds/led0/brightness"
ExecStop=sh -c "echo 1 | sudo tee /sys/class/leds/led1/brightness > /dev/null && echo 1 | sudo tee /sys/class/leds/led0/brightness"

[Install]
WantedBy=multi-user.target
  • 如果只想关闭电源灯,删除&& echo 0 | sudo tee /sys/class/leds/led0/brightness这一句。
  • 自启动禁用功能sudo systemctl enable disable-led.service
  • 立即开启禁用功能sudo systemctl start disable-led.service
  • 关闭禁用功能sudo systemctl stop disable-led.service

参考:https://n.ethz.ch/~dbernhard/disable-led-on-a-raspberry-pi.html

方式三:配置config.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[pi4]
# 新版配置
# Disable the PWR LED
dtparam=pwr_led_trigger=none
# 设置pwr灯输出到 gpio15,activelow=on,按需设置
#dtoverlay=act-led,gpio=25,activelow=on
# Disable the Activity LED
dtparam=act_led_trigger=none
# 设置act灯输出到 gpio16,activelow=on,按需设置
#dtoverlay=act-led,gpio=16,activelow=on
# Disable ethernet port LEDs
dtparam=eth_led0=4
dtparam=eth_led1=4
# Disable wifi
dtoverlay=disable-wifi
# Disable Buletooth
dtoverlay=disable-bt
1
2
3
4
5
6
7
8
9
10
[pi4]
# Disable the PWR LED
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
# Disable the Activity LED
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Disable ethernet port LEDs
dtparam=eth_led0=4
dtparam=eth_led1=4

附:
/sys/class/leds/**目录的作用:控制各个LED的行为
如果在 config.txt 中设置了:

1
dtoverlay=gpio-led,label=myled1

那么在系统中就会有一个 /sys/class/leds/myled1 的目录。


树莓派-关闭树莓派指示灯
https://dnacore.github.io/post/b6df2f16-ff67-49a7-9b0b-7e252733f9e9.html
作者
DNACore
发布于
2021年12月29日
更新于
2025年2月18日
许可协议