Letztes Update 2020/10/07 13:00
Um nicht nur zu sehen, ob der Pi am Strom angeschlossen, sondern auch betriebsbereit ist, wird am GPIO Anschluss Pin 13 eine LED mit einem Vorwiderstand angeschlossen. Die Größe des Vorwiderstandes sollte an die Stromaufnahme der LED angepasst werden.
WiringPi
ist nicht unbedingt notwendig. Da aber WiringPi
hier auch für andere Vorhaben notwendig ist, wird es auch zur Ausführung dieses Scripts verwendet. Siehe: WiringPi installieren
Um die LED zum leuchten zu bringen, ist ein kleines Script notwendig. Dieses wird hier in C
erstellt.
sudo nano statusled_on.c
#include <wiringPi.h> int main (void) { wiringPiSetup () ; pinMode (2, OUTPUT) ; { digitalWrite (2, HIGH) ; } return 0 ; }
Das Script wird kompiliert:
gcc -o statusled_on statusled_on.c -lwiringPi
und in die Verzeichnissse /etc/init.d/ und /bin/ kopiert:
sudo cp statusled_on /etc/init.d/statusled_on sudo cp statusled_on /bin/statusled_on
Im Verzeichnis /etc/init.d/
wird eine Datei mit dem Namen local.statusled
erstellt:
sudo nano /etc/init.d/local.statusled
Es wird die vereinfachte Vorlage /etc/init.d/skeleton
verwendet.
#! /bin/sh ### BEGIN INIT INFO # Provides: local.autostart # Required-Start: $start # Required-Stop: $shutdown # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: schaltet die StatusLED ein # Description: Lange Bechreibung ### END INIT INFO # Author: ede # Aktionen /bin/statusled_on
Der Kopfteil ist sehr wichtig und muss vorhanden sein, denn er wird später vom Befehl update-rc.d
verwendet. Er darf nicht gelöscht und sollte entsprechend angepasst werden. Unterhalb von # Aktionen
steht der Befehl zur Ausführung des C-Scripts.
Da die GPIO Pins ohnehin beim Abschalten stromlos werden, kann die /etc/init.d/local.statusled
einfach gehalten werden.
Die Datei wird nun ausführbar gemacht:
sudo chmod 755 /etc/init.d/local.statusled
Abschließend fügt man das Skript mit dem Befehl update-rc.d
in die entsprechenden Runlevel ein.
sudo update-rc.d local.statusled defaults
Quellen:
Autostartskript erstellen und einbinden
Raspberry Pi - run program at start-up