关掉Raspberry Pi的LED

Mau*_*olo 17 led raspberry-pi raspbian

我想关掉我的Raspberry Pi的LED.

我尝试修改文件echo none >/sys/class/leds/led0/trigger但没有改变.

这可能吗?

小智 25

根据RaspberryPi论坛:

echo 1 >/sys/class/leds/led0/brightness #Turn on
echo 0 >/sys/class/leds/led0/brightness #Turn off
虽然我认为可能涉及一些内核黑客来控制所有内核,但我相信这只适用于OK LED.

  • 是的,我刚刚检查过,这不会关闭所有 LED。便便 (2认同)
  • 只是一个FYI,这适用于Pi 2 Model B! (2认同)

小智 19

RaspberryMediaCenter:/sys/class/leds # echo 0 >/sys/class/leds/led1/brightness
RaspberryMediaCenter:/sys/class/leds # echo 0 >/sys/class/leds/led0/brightness
Run Code Online (Sandbox Code Playgroud)

led0 绿色的

led1 重做


小智 12

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

该文档位于此处,但它可能是最新的,也可能不是最新的:

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

自述文件是一个相当混乱的文档,但您可以找到足够的内容来入门。感兴趣的参数是act_led_*、 和pwr_led_*。和: 、和都有三个设备树参数 ( dtparam) ,但文档没有提及它们的所有可能值。通过猜测,我了解到以下值将关闭活动/绿色电源/红色LED:act_ledpwr_led_trigger_activelow_gpio

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

dtparam=act_led_trigger=none
dtparam=pwr_led_trigger=none
Run Code Online (Sandbox Code Playgroud)

然而:

2022 年 8 月 8 日对 Raspberry Pi 专有闭源固件所做的更改导致上述配置在某些型号的 RPi 上无效:

  • 树莓派 3 型号 B+
  • 树莓派 4 B 型
  • 树莓派 400
  • 树莓派计算模块 4

对于这些自 2022 年 8 月 8 日起发布固件版本的型号,需要进行以下配置才能熄灭红色电源 LED ( pwr_led):

dtparam=pwr_led_trigger=default-on   # The default
dtparam=pwr_led_activelow=off  
Run Code Online (Sandbox Code Playgroud)

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

更新,22 年 3 月 22 日:更多详细信息现已发布在 GitHub 上

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

到目前为止,我觉得OP问题的答案是"it depends on the Raspberry Pi model"。我根据最新信息编辑了上面的答案,但这个传奇可能会有更多剧集!FWIW,该sysfs界面 - 大约 2 年前已弃用 - 如果使用正确的文件和值,它似乎仍然可以工作;详细信息在同一主题的另一个问答中提供。

更新,22 年 12 月 27 日:

对此答案的任何进一步更新都将发布到此GitHub 存储库


小智 6

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

/sys/class/leds/led[num]
Run Code Online (Sandbox Code Playgroud)

例如,要关闭 Pi 访问 SD 卡时绿色 LED 的正常闪烁,您可以运行(以管理员身份):

echo none > /sys/class/leds/led0/trigger
Run Code Online (Sandbox Code Playgroud)

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

echo 1 > /sys/class/leds/led0/brightness     # turn on
echo 0 > /sys/class/leds/led0/brightness     # turn off
Run Code Online (Sandbox Code Playgroud)

这是我在 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\"")
Run Code Online (Sandbox Code Playgroud)