Graceful shutdown and reboot

937 views
0 Comments

Ich habe folgendes Szenario, bzw. möchte ich folgende Funktionalität erreichen. Dazu habe ich bereits ein RPi, ein StromPi3 und ein BatterieHAT, alles über ein Steckernetzteil versorgt. Jetzt würde ich gerne den Standby-Stromverbrauch reduzieren, aber gleichzeitig beim Ziehen des Steckernetzteils aus der Steckdose (oder in Zukunft beim Abschalten der Stromversorgung zum Steckernetzteil) den RPi sanft herunterfahren. Beim Einschalten des Steckernetzteils soll der RPi wieder starten. Also:

  1. Spannung zum Strompi3 wird eingeschaltet: RPi bootet
  2. Spannung zum Strompi3 wird unterbrochen: RPi wird heruntergefahren und wird strom/spannungslos
  3. Spannung zum Strompi3 wird wieder eingeschaltet: RPi bootet wieder

Könnten Sie mir bitte Tips zur Konfiguration geben, damit ich diese Funktionalität erreichen kann. Danke.

Answered question

9 Answers

Guten Tag Hans,
mit folgenden Einstellungen verhält sich der StromPi 3 wie in Ihrer Beschreibung gewünscht. Zusätzlich muss noch gemäß „9.4 Automatisches Ausführen von Skripten“ (S. 33 in unserer aktuellen Anleitung) das serialShutdown.py Script automatisch beim Boot im Hintergrund gestartet werden.
Mit dieser Konfiguration fährt der StromPi 3 nach dem Trennen der mUSB Stromversorgung den Raspberry Pi herunter. 20 Sekunden nach dem Trennen der mUSB Versorgung schaltet der Strom Pi 3 dann den Strom ab. Wird jetzt die mUSB Versorgung wiederhergestellt, startet der RaspberryPi wieder.

Mit freundlichen Grüßen
Nils (Joy-IT)

Answered question
Hans (anonymous) 0 Comments

Danke, Nils. Damit funktioniert es. (Vielleicht kann man solche Szenarien in die Anleitung aufnehmen?)
Ich habe noch ein143752/2019e Frage dazu: Ist es möglich, den StromPi3 im seriellen Modus zu belassen, aber trotzdem bei Trennen von mUSB den Pin 21 aktivieren? Sozusagen ein Hybrid zwischen Serial and Serialless oder das Beste aus beiden Welten?

Answered question

Guten Tag Hans,
soll geht es darum den Pin zu steuern um das Signal für weitere Geräte zu verarbeiten? Dann könnte man den Pin vom Raspberry Pi steuern lassen. Dazu wäre nur eine kleine Änderung im Script nötig. Wenn Sie allerdings möchten, dass der Mikrocontroller des StromPis diesen Pin kontrolliert wird es schwieriger, da die Firmware angepasst werden müsste.
Mit freundlichen Grüßen
Nils (Joy-IT)

Answered question
Hans (anonymous) 0 Comments

Um weitere Geräte über einen bevorstehenden Shutdown zu informieren, kann das verwendete Shutdown-Skript natürlich einen anderen Pin aktivieren.
Meine Idee war eher, dass der StromPi3 noch über die serielle Schnittstelle erreichbar bleibt, obwohl er den Ausfall der primären Spannungsquelle an einen Pin kommuniziert. Wenn ich mich richtig erinnere, habe ich gelesen, dass das Skript für die serielle Schnittstelle die Ankündigung manchmal „verlieren“ kann…
Ich fände folgendes Verhalten ideal: Der StromPi kündigt den Spannungsverlust immer am Pin an, egal, ob er in serial- oder serialless Modus betrieben wird. Mit Hilfe einer Jumpers kann dieser Ausgang dann bei Bedarf auf den RPi Pin 21 gelegt werden. Wäre das (mit einer Modifikation der Firmware) machbar?

Answered question

Guten Tag Hans,
das ist mit einer kleinen Änderung im Code möglich:

Ich habe die Zeile 805 kopiert und in die seriallesMode Schleife zusätzlich eingefügt (gelbe Markierung). Jetzt werden die Schlüsselzeilen auch im serialless Modus gesendet. Die modifizierte Firmware können Sie sich hier herunterladen.
Mit freundlichen Grüßen
Nils (Joy-IT)

Answered question
Write your answer.