Benutzer-Werkzeuge

Webseiten-Werkzeuge


startstop

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
startstop [2020/11/10 18:55] noonestartstop [2020/12/20 23:04] (aktuell) noone
Zeile 129: Zeile 129:
    dtoverlay=gpio-shutdown,gpio_pin=3    dtoverlay=gpio-shutdown,gpio_pin=3
  
-Nach dem Reboot kann der Pi runtergefahren und gestartet werden, indem GPIO 03 auf Masse gezogen wird.+Nach dem Reboot kann der Pi runtergefahren und gestartet werden, indem GPIO 03/Pin 5 auf Masse gezogen wird. 
 + 
 +Der Raspberry Pi kann so konfiguriert werden, dass ein Shutdown eingeleitet wird, sobald ein beliebiger GPIO-Pin kurz mit Masse verbunden wird. Es bietet sich hier natürlich an, mit GPIO 3 denselben Pin zu verwenden, der für das Starten benutzt wird (bzw. werden muss, denn für das Starten kann kein anderer Pin als GPIO 3 verwendet werden). Sollte GPIO 3 durch einen Hardware-Aufsatz verwendet werden, musst du auf einen aderen Pin ausweichen, du hättest also einen Pin zu Starten und einen anderen zum Stoppen. 
 + 
 +Um einen der GPIO-Pins für das Starten zu konfigurieren, musst du die Datei `/boot/config.txt' um einen Eintrag erweitern. Einstellungen an dieser Datei sind sensibel; du legst daher besser erst einmal eine Sicherungsdatei an: 
 +   cd /boot 
 +   cp --preserve config.txt config.txt.orig 
 + 
 +Danach ergänzt du die Datei um folgende Zeilen: 
 +   # Initiate shutdown by pulling GPIO 3 to GND level 
 +   dtoverlay=gpio-shutdown,gpio_pin=3,active_low=1,gpio_pull=up 
 + 
 +Du darfst keine Leerzeichen beispielsweise hinter einem Komma schreiben. Statt GPIO 3 kannst du aber jeden anderen GPIO-Pin verwenden, wenn er nicht durch andere Hardware verwendet wird. 
 + 
 +Falls du tatsächlich GPIO 3 verwendest, kannst du den Taster zum Starten des Systems (aus der Anleitung oben) nun auch zum Stoppen verwenden. 
 + 
 +Je nachdem, wie exponiert der Taster am Gehäuse angebracht wird, besteht die Gefahr, dass dein Raspberry Pi ungewollt heruntergefahren wird, weil du den Taster versehentlich auslöst. Um das Risiko eines ungewollten Systemstopps deutlich zu vermindern, kannst du zwei Taster in Reihe schalten. Du musst dann immer beide Taster gleichzeitig drücken. 
 + 
 +===Laufenden Raspberry Pi per LED anzeigen=== 
 +Wenn du einen Taster für den den Start und Stopp vorsiehst, ist es möglicherweise interessant zu erkennen, in welchem Zustand – gestartet oder gestoppt – sich der Raspberry Pi befindet. Die beiden LEDs für Power (rot) oder Speicheraktivität (grün) sind da nicht besonders aussagekräftig: die rote LED leuchtet immer, sobald eine Spannungsquelle angeschlossen ist (also auch im gestoppten Zustand), und die grüne LED blinkt nur dann, wenn Zugriffe auf das Speichermedium erfolgen, was ja auch eine längere Zeit mal nicht der Fall sein kann. 
 + 
 +Es gibt einige Möglichkeiten, diese LEDs zu kontrollieren. Für mich ist die folgende Einstellung praktikabel, bei der die grüne LED so umfunktioniert wird, dass sie in regelmäßigen Abständen (nach jeweils 3 Sekunden) aufblinkt, solange das System läuft. Zugriffe auf das Speichermedium zu erkennen, die diese LED normalerweise anzeigt, halte ich für nicht so wichtig. 
 + 
 +Dazu sind folgende Kommandos nötig: 
 +   echo "timer" > /sys/class/leds/led0/trigger           Die Grüne LED wird so eingestellt, dass sie blinkt, und zwar…​ 
 +   echo 300 > /sys/class/leds/led0/delay_on              …​300 ms lang an und…​ 
 +   echo 3000 > /sys/class/leds/led0/delay_off            …​3000 ms lang aus (andere Werte sind natürlich möglich) 
 + 
 +Die rote LED wird über led1 statt led0 angesteuert. Es gibt auch noch weitere Möglichkeiten, die LEDs zu steuern; dazu müsstest du dich bei einschlägigen Quellen informieren. Du kannst auch weitere LEDs an GPIO-Pins anschließen und diese auf gleiche Weise nutzen. 
 + 
 +Die Einstellungen halten allerdings nur bis zum nächsten Neustart. Um das Verhalten bei jedem Systemstart einzurichten, legst du im Verzeichnis /etc/init.d ein Script mit beliebigem Namen, beispielsweise led-timer, und folgendem Inhalt an (die Kommentarzeilen zwischen BEGIN INIT INFO und END INIT INFO sind notwendig): 
 + 
 +   #! /bin/bash
        
 +   ### BEGIN INIT INFO
 +   # Provides:          led-timer
 +   # Required-Start:    $all
 +   # Required-Stop:     $all
 +   # Default-Start:     2 3 4 5
 +   # Default-Stop:      0 1 6
 +   # Short-Description: Reconfigures LED 0 (green LED)
 +   # Description:       Makes the green LED blink slowly when system is started instead of showing disk activities, and blink fast when system shutdown was initiated
 +   ### END INIT INFO
 +   
 +   case "$1" in
 +      start)
 +         echo "timer" > /sys/class/leds/led0/trigger
 +         echo 300 > /sys/class/leds/led0/delay_on
 +         echo 3000 > /sys/class/leds/led0/delay_off
 +         ;;
 +      stop)
 +         echo "timer" > /sys/class/leds/led0/trigger
 +         echo 300 > /sys/class/leds/led0/delay_on
 +         echo 300 > /sys/class/leds/led0/delay_off
 +         ;;
 +      esac
 +Das Script schaltet die grüne LED in einen langsamen Blinkmodus, nachdem alle Systemkomponenten hochgefahren sind, und wechselt in einen schnellen Blinkmodus beim Herunterfahren. Hier kannst du etwas experimentieren, um herauszufinden, was praktikabel ist.
 +
 +Das Script muss dem Superuser gehören und ausführbar sein, was du mit folgenden Kommandos erreichst:
 +   chown root:root /etc/init.d/led-timer
 +   chmod 755 /etc/init.d/led-timer
 +
 +Danach musst du das Script noch anmelden:
 +   update-rc.d led-timer defaults
 +
 +Ein Neustart des Systems zeigt, ob du alles richtig eingerichtet hast. Zum Abmelden verwendest du statt defaults den Aufrufparameter remove.
 +
 +[[https://raspberry.klaus-rogall.de/know-how/start-stop.html|von hier]]
startstop.1605030904.txt.gz · Zuletzt geändert: 2020/11/10 18:55 von noone

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki