Raspberry Pi LED ansteuern
In diesem Artikel zeige ich euch, wie Ihr mit den eingebauten LEDs eures Raspberry Pis arbeiten könnt. Der Raspberry Pi hat insgesamt fünf eingebaute Lichter. Diese fünf Lichter könnt ihr hier auf dem Bild sehen. Ich zeige euch wie Ihr nun selber diese Lichter ansteuern könnt und somit beliebige visuelle Signale ausgeben könnt. Leuchtdioden sind energiesparend und sehr günstig zu bekommen. Die RGB LED Lichter sind vergleichbar mit jenen auf dem Pi Board.
Raspberry Pi LED Lichter ein-/ausschalten
Gleich die schlechte Nachricht vorweg, man kann lediglich eine der 5 Lichter steuern. Warum ist das so? Die rote Power (PWR) LED wird direkt über die Stromversorgung gesteuert und kann softwaremäßig gar nicht angesteuert werden. So auch bei den 3 Lichter für die Schnittstellen. FDX, LNK und 10M werden direkt vom LAN Netzwerk Stecker gesteuert.
Die gute Nachricht zum Schluss, die OK Diode kann man über die Kommandozeile oder die GPIO Schnittstelle Pin 16 ansteuern und ein- bzw. ausschalten. Beim Start zeigt diese an, ob die SD Karte ein bootfähiges Image enthält und dieses gestartet wird.
Zugriff auf die OK LED
Die grüne OK Diode kann man über das Systemverzeichnis /sys/class/leds/led0/ steuern. Wie bei der GPIO Schnittstelle findet man auch in dieser Ordnerstruktur die LED als Ordner. Unter dem Verzeichnis leds findet man aber lediglich led0, da man nur diese über die Software steuern kann. Standardmäßig ist diese Lampe mit der SD Karte kombiniert und triggert dessen Zugriff (leuchtet bei SD Karten Zugriff). Diesen Trigger müssen wir ausschalten:
sudo su echo none >/sys/class/leds/led0/trigger
Dieses Kommando müsst ihr als root ausführen. Um als Root arbeiten zu können wird der Befehl sudo su einmalig eingegeben (es ändert sich die Eingabeaufforderung von $ auf #). Nun ist das Licht deaktiviert und leuchtet nicht mehr.
Manuell kann man die Lampe nun über die brightness Datei steuern. Es gibt zwei mögliche Zustände:
- 0… Zustand ausgeschaltet
- 1… Zustand leuchtend
Mit folgendem Kommando ändert man den Zustand:
echo 1 >/sys/class/leds/led0/brightness
Die Diode leuchtet. Abschalten kann man sie wieder mit:
echo 0 >/sys/class/leds/led0/brightness
Wer das nun verstanden hat kann gerne die visuelle Ausgabe in ein eigenes Programm einbauen. Man könnte so visualisieren ob ein Script noch läuft.
Anwendungsbeispiel
Die erste Idee ist nun ein periodisches ein- und ausschalten zu simulieren. Dieser Herzschlag unseres Pis kann man mit dem heartbeat Daemon visualisieren. Das geht sehr einfach mit folgendem Kommando:
modprobe ledtrig_heartbeat echo heartbeat >/sys/class/leds/led0/trigger
Wie ihr sehen könnt blinkt die Raspberry Pi LED nun in periodischen Abständen jeweils zwei mal.
Im letzten Schritt stellen wir nun wieder den Normalzustand her und schalten den Trigger für die SD Karte wieder ein:
echo mmc0 >/sys/class/leds/led0/trigger
Hab ihr Ideen für andere Anwendungsfälle?
hallo
Ich möchte ein PI mit Autostart installieren für ein Infoboard.
Der Autostart sollte der Webbrowser offen und eine Link ausführen und das im Vollbild Modus. Ist das Möglich ? Wenn ja Wie ?
Gruss Andreas
Hallo, klar ist das möglich. Dazu habe ich bereits einen Artikel gepostet. Schau doch mal da nach: Autostart von Programmen
Ist es möglich das Heartbeat bei Systemstart automatisch angeschaltet wird? Weil wenn ich es eingestellt habe, und dann der Rpi rebootet ist es wieder weg.
Ja sollte eigentlich gehen indem du ein Shell Skript erstellst und dies direkt beim Systemstart startest. Skripte kannst du bei Linux über ein init Skript starten. Wie das geht habe ich am Beispiel eines VNC Server Skripts bereits gezeigt.