Die LED’s des Raspberry Pi ein- und ausschalten ist immer wieder eine Aufgabe, bei der ich nachschauen muss, wie es geht.
Neben der im Folgenden beschriebenen Vorgehensweise gibt es auch die Möglichkeit unter Verwendung eines Kernel Overlays ( Eintrag in /boot/config.txt), die LED’s des Raspberry Pi ein- und auszuschalten. Für mich ist diese Methode nicht so geeignet, da ich beim Starten gerne noch sehen möchte was die LED’s machen (z.B. um Fehler besser erkennen zu können).
Aus diesem Grund verwende ich immer Kommandozeilenbefehle und baue mir ein entsprechendes Shellskript mit den notwendigen Befehlen, um die LED’s des Raspberry Pi ein- und ausschalten.
Die LED’s des Raspberry Pi ein- und ausschalten über die Kommandozeile
Grundsätzlich ist die Vorgehensweise bei jedem Raspberry Pi Modell identisch. Der Trigger für die LED wird ausgeschaltet, um die Kontrolle über die LED zu erhalten. Ist ein Trigger wie beispielsweise mmc0 eingestellt, dann übersteuert der Zugriff auf die Speicherkarte mmc0 die manuell eingestellten Werte und die LED bleibt nicht aus bzw. an. Im zweiten Schritt wird die Helligkeit der LED auf einen Wert zwischen 0 und 255 gesetzt. Der Wert 0 sorgt dafür, dass die LED ausgeschaltet ist, alle anderen Werte schalten die LED ein.
#Trigger abschalten für led0 echo none | sudo tee /sys/class/leds/led0/trigger #LED0 ausschalten echo 0 | sudo tee /sys/class/leds/led0/brightness #LED0 einschalten echo 1 | sudo tee /sys/class/leds/led0/brightness #LED0 einschalten echo 255 | sudo tee /sys/class/leds/led0/brightness
Für die Raspberry Pi Modelle, die mehr als eine LED haben, gibt es entsprechend eine led0 und eine led1. In den Befehlszeilen muss das entsprechend berücksichtigt werden. In der Befehlszeile wird dazu led0 durch led1 ersetzt.
Eine Vorgehensweise für viele Modelle
Diese Vorgehensweise habe ich mit folgenden Modellen erfolgreich im Einsatz:
- Raspberry Pi Zero W Rev 1.1
- Raspberry Pi 2 Model B Rev 1.1
- Raspberry Pi 3 Model B Plus Rev 1.3
- Raspberry Pi Compute Module 4 Rev 1.0
Um bei jedem Neustart die LED’s zu steuern, kann dies elegant über die Crontab von root vornehmen. Die Zeile für die Crontab startet mit ‚@reboot …‘ und daran anschließend der eigentlich Befehle. Eine -wie ich finde- elegante Möglichkeit solche Befehle bei jedem Neustart auszuführen.
Mit dem Raspberry Pi habe ich einige kleine Projekte umgesetzt
Hallo,
unter „buster“ funktioniert das, aber nicht mehr unter „bullseye“.
Jedenfalls ist das bei mir so (zero2).
Im Verzeichnis /sys/class/leds sind keine Verzeichnisse wie led0 oder led1 mehr vorhanden.
So schaut es da jetzt aus:
root@zero2 / $ cd /sys/class/leds
root@zero2 /sys/class/leds $ ls -la
lrwxrwxrwx 1 root root 0 11. Aug 23:37 ACT -> ../../devices/platform/leds/leds/ACT
lrwxrwxrwx 1 root root 0 11. Aug 23:37 default-on -> ../../devices/virtual/leds/default-on
lrwxrwxrwx 1 root root 0 11. Aug 23:37 mmc0 -> ../../devices/virtual/leds/mmc0
Viele Grüße
Peter
Hallo Peter,
danke für den Hinweis. Die neue Verzeichnisstruktur kann ich für den Pi Zero so bestätigen (habe gerade geschaut). Bei mir funktioniert es allerdings mit mmc0 anstatt led0 noch einwandfrei. Offenbar hat sich einfach die Bezeichnung der LED geändert. Klappt das so auch beim zero2?
Viele Grüße, Hans