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?
Update 20.8.2017: Die LED-Steuerung durch das gpio
-Kommando funktioniert nur beim Raspberry Pi 2, nicht beim Raspberry Pi 3.
Im Folgenden beziehe ich mich auf den Raspberry Pi 2, Modell B sowie auf den Raspberry Pi 3, ebenfalls Modell B. Bei diesen Modellen 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 (Pi 2) bzw. neben der USB-Buchse zur Stromversorgung (Pi 3):
- 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 sh -c 'echo none > /sys/class/leds/led0/trigger'
sudo sh -c '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 sh -c 'echo 0 > /sys/class/leds/led0/brightness' # grüne LED aus
sudo sh -c 'echo 1 > /sys/class/leds/led1/brightness' # rote LED ein
Ein- und Ausschalten per gpio-Kommando (nur Raspberry Pi 2!)
Vorausgesetzt, dass die trigger
auf none
steht, können Sie die LEDs des Raspberry Pi 2 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
Achtung: Die gpio
-Steuerung funktioniert beim Raspberry Pi 3 nicht mehr. Die Steuerung per echo
funktioniert hingegen bei beiden Modellen.