On-Board-LEDs des Raspberry Pi steuern

Es gibt sicher 1000 Anleitungen, wie Sie eine Leuchtdiode über einen Vorwiderstand mit einem GPIO-Pin verbinden und diese dann per Python, bash oder in sonst einer Programmiersprache ein- und wieder ausschalten. Aber wussten Sie, dass Sie auch manche im Raspberry Pi eingebauten LEDs per Software ein- und ausschalten können?

Im Folgenden beziehe ich mich auf den Raspberry Pi 2, Modell B. Bei diesem Modell gibt es vier LEDs. Zwei sind in die Ethernet-Buchse integriert und nicht Thema dieses Beitrags. Die beiden anderen befinden sich am Beginn der GPIO-Leiste:

  • Die grüne LED (Status-LED = led0) flackert üblicherweise, wenn Daten von/zur SD-Karte übertragen werden.
  • Die rote LED (Power-LED = led1) zeigt an, dass der Raspberry Pi mit der Stromversorgung verbunden ist.

Das Verhalten dieser beider LED wird durch /sys/class/leds/led<n>/trigger bestimmt. Standardmäßig gelten die folgenden Einstellungen:

cat /sys/class/leds/led0/trigger 
  none [mmc0] timer oneshot heartbeat backlight 
  gpio cpu0 cpu1 cpu2 cpu3 default-on input
cat /sys/class/leds/led1/trigger 
  none mmc0 timer oneshot heartbeat backlight 
  gpio cpu0 cpu1 cpu2 cpu3 default-on [input] 

Indem Sie beide trigger-Dateien mit none überschreiben, können Sie selbst die Kontrolle über die LEDs übernehmen:

sudo echo none > /sys/class/leds/led0/trigger
sudo echo none > /sys/class/leds/led1/trigger

Um eine LED ein- bzw. aus zu schalten, schreiben Sie 1 bzw. 0 in /sys/class/leds/led1/brightness:

sudo echo 0 > /sys/class/leds/led0/brightness  # grüne LED aus
sudo echo 1 > /sys/class/leds/led1/brightness  # rote LED ein

Vorausgesetzt, dass die trigger auf none steht, können Sie die LEDs auch mit GPIO-Kommandos steuern. Der grünen LED ist der GPIO 47 zugeordnet (in BCM-Nummerierung), der roten LED 35. Mit dem Wiring-Pi-Kommando gpio können Sie die LEDs auch ohne sudo ein- und ausschalten:

gpio -g  write 47 1  # grüne LED ein
gpio -g  write 47 0
gpio -g  write 35 1  # rote LED ein
gpio -g  write 35 0

Raspberry Pi 3 (Update 3.3.2016)

Beim Pi 3 befinden sich die beiden On-Board-LEDs neben der Micro-USB-Buchse für die Stromversorgung. Per Software steuerbar ist allerdings nur noch die grüne LED. Die Datei /sys/class/leds/led1/trigger zur Manipulation der roten LED gibt es nicht mehr.

Quellen