关闭树莓派的LED灯

22

我想关闭我的树莓派的LED指示灯。

我尝试修改文件 echo none >/sys/class/leds/led0/trigger ,但是没有任何变化。

这是否可能?


你可以禁用红色电源LED灯,如果这是你的意思?请参考这里:http://www.raspberrypi-spy.co.uk/2013/05/how-to-disable-the-red-led-on-the-pi-camera-module/ - user4278423
6个回答

27
RaspberryMediaCenter:/sys/class/leds # echo 0 >/sys/class/leds/led1/brightness
RaspberryMediaCenter:/sys/class/leds # echo 0 >/sys/class/leds/led0/brightness

led0 绿色

led1 红色


25

According to the RaspberryPi forums:

echo 1 >/sys/class/leds/led0/brightness #Turn on
echo 0 >/sys/class/leds/led0/brightness #Turn off
Though I think some kernel hacking may be involved to control all of them, I believe this only works with the OK LED.


2
是的,我刚刚检查了一下,这并没有关闭所有LED灯。 - Catherine Holloway
Pi 3B+。这不会影响其他答案中Salvo Neutron成功解决的磁盘活动指示灯(红色,又称led1)。 - Ari

12

现在是2022年,今天的答案是:

文档位于此处,但可能已过时:

  • 在您的本地文件系统中:/boot/overlays/README
  • 在线上的GitHub:README文件

README是一份相当简略的文档,但足以让您入门。感兴趣的参数是act_led_*pwr_led_*。对于act_ledpwr_led,有三个设备树参数(dtparam):_trigger_activelow_gpio,但文档没有提到它们的所有可能值。通过猜测,我了解到以下值将关闭活动/绿色电源/红色LED:

要同时关闭act_ledpwr_led,请将以下两行添加到文件/boot/config.txt中,然后重新启动:

dtparam=act_led_trigger=none
dtparam=pwr_led_trigger=none

然而:

2022年8月8日对树莓派专有的闭源固件进行的更改,使得上述配置在某些型号的RPi上失效:

  • Raspberry Pi 3 Model B+
  • Raspberry Pi 4 Model B
  • Raspberry Pi 400
  • Raspberry Pi Compute Module 4

对于这些型号,在2022年8月8日之后发布的固件版本中,需要使用以下配置才能关闭红色电源LED (pwr_led):

dtparam=pwr_led_trigger=default-on   # The default
dtparam=pwr_led_activelow=off  

还有一些参数可以熄灭以太网LED灯,但它们仅适用于3B+和4B型号:eth_led0eth_led1。幸运的是,文档确实列举了3B+和4B的一组值。

更新,2022年3月22日:现在在GitHub上发布了额外的细节。

更新,2022年8月27日:The RPi Organization最近进行的软件/固件更改似乎破坏了禁用红色电源LED的设备树配置dtparam)。2022年8月21日提交了错误报告。我不会尝试描述维护者的回应;您可以查看并得出自己的结论。

目前,我觉得对于 OP 的问题,答案是 "这取决于 Raspberry Pi 型号"。我根据最新信息修改了我的回答,但这个话题可能还会有更多的剧集! FWIW,sysfs 接口-在约2年前废弃-仍然似乎可以正常工作,如果使用正确的文件和值,则会呈现详细信息 在同一主题上的另一个 Q&A

更新,12/27/22:

此答案的任何进一步更新都将发布在此GitHub 存储库中。


谢谢您的回答,Seamus!其他无数在线资源只是重复了那些对我来说已经不再适用的方法。但是,在我的/boot/config.txt中设置以下内容并重新启动树莓派4B,解决了问题:dtparam=pwr_led_trigger=default-on # 默认值 dtparam=pwr_led_activelow=off - kschnack
@kschnack:很高兴听到它有所帮助。随意点赞 :) - user5395338
当然!完成 ;) - kschnack
对于树莓派 400,您可以使用 /sys/class/leds/PWR/brightness(在 Raspbian 11 Bullseye 下)。 - rolandog
对于树莓派 400,您可以在 Raspbian 11 Bullseye 下使用 /sys/class/leds/PWR/brightness - undefined

6

在树莓派上,您可以通过编辑位于以下位置的文件来控制2个LED(红色和绿色):

/sys/class/leds/led[num]

例如,如果您想关闭树莓派访问SD卡时常亮的绿色LED灯闪烁,您可以以管理员身份运行以下命令:
echo none > /sys/class/leds/led0/trigger

要打开或关闭一个LED,您可以更改亮度文件的状态(作为管理员):

echo 1 > /sys/class/leds/led0/brightness     # turn on
echo 0 > /sys/class/leds/led0/brightness     # turn off

这是我在Python中实际控制状态的非常不优雅的解决方法:
import time
import os

# turn off the default trigger of the green LED
os.system("sudo bash -c \"echo none > /sys/class/leds/led0/trigger\"")

# turn on the green LED
os.system("sudo bash -c \"echo 1 > /sys/class/leds/led0/brightness\"")

# keep it on 5 seconds
time.sleep(5)

# turn off the green LED on PI
os.system("sudo bash -c \"echo 0 > /sys/class/leds/led0/brightness\"")

3
根据你提到的LED种类,看起来似乎不可能实现。如需更多信息,请阅读《如何关闭树莓派上的灯?》(这也是一个很好的向树莓派提问的地方)。请参考这里

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接