Helpdesk

Hallo,


möchte mit dem Strompi2 meinen Raspberry pi3 bei Stromausfall herunterfahren und wenn wieder Strom anliegt hochfahren lassen.


Für den Strompi3 habe ich eine ausführliche Anleitung gefunden. Auch wie man die Befehle eingeben muss usw.


Leider komme ich nicht weiter.


Gibt es für den Strompi2 eine Schritt für Schritt Anleitung, wie ich diesen konfigurieren muß?


[nbsp]


Den Strompi2 habe ich auf den Raspberry3 gesteckt. Die Isolierung für den Pin habe ich auch entfernt.


Die Pins stecken bei USV und der T-Pin ist ebenfalls gesteckt. Das Netzteil für die Stromversorgung steckt mit dem micro-USB im Strompi bei "in" und im "Wide-Range" habe ich 9V angeschlossen.


Habe auf den Raspberry Bullseye neu installiert und die Scripte in den Pfad home/pi kopiert.


Wenn ich nun über PuttY den Befehl "sudo python3 sendmail.py" eingebe, erhalte ich eine Emailbenachrichtigung auf mein Handy.


Wenn ich nun aber den Befehl " sudo python3 powershutdown.py" eingebe wird folgende Meldung angezeigt:


File "/home/pi/powershotdown.py", line 11


print "Sicheres Herunterfahren bei Stromausfall (CTRL-C zum Schliessen)"


Syntax Error: invalid syntax


[nbsp]


Wenn ich den micro-USB ziehe, wechselt die LED von grün auf blau. Der Raspberry wird aber nicht heruntergefahren. Ich kann weiter auf ihn zugreifen.


[nbsp]


Was habe ich falsch konfiguriert?


[nbsp]


Vielen Dank


Grüße


Roogy

Roogy

15.08.22 21:43

Weiter ist mir aufgefallen, dass der Raspberry anscheinend neu startet, nachdem ich den micro-USB wieder einstecke (die LED wechselt von blau auf grün).


Habe die 9V spannung getrennt, nachdem ich den micro-USB wieder eingesteckt hatte.


Evlt. hat es bzgl. dieses Verhalten damit zusammen gehängt.


[nbsp]


Roogy


[nbsp]

Roogy

15.08.22 21:46

Hallo Roogy,


für das gewünschte Verhalten müssen Sie wie folgt vorgehen;


T-Pin und Reset Jumper müssen gesteckt sein, die anderen beiden Jumper müssen auf USV stehen.


Das Pythonskript ist noch älter und basiert noch auf Python2. Es müssen Klammern um die Printbefehle hinzugefügt werden, um die Fehlermeldung raus zu bekommen. Hier ein Beispiel:


print ("Sicheres Herunterfahren bei Stromausfall (CTRL-C zum Schliessen)")

Nun sollte das Herunterfahren bei Spannungsausfall funktionieren.


Über die Reset-Pins auf der Unterseite des StromPi2 wird der Raspberry Pi dann wieder neu gestartet, sobald die mUSB-Spannung zurückkehrt.


Bitte beachten Sie, dass der StromPi2 nur bis zur Raspberry Pi Version 3 kompatibel ist. Ab dem Raspberry Pi 3B+ wurde das Reset-Feld entfernt, über das der StromPi2 den Raspberry Pi neu startet.


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

17.08.22 17:01

Hallo Tim,


die Pins sind so gesetzt.


Die Klammern habe ich im powershutdown.py so gesetzt.


Wenn ich den Micro USB vom Strompi ausstecke leuchtet die blaue LED aber der Raspberry fährt nicht herunter.


[nbsp]


Wenn ich den Befehlt "sudo python3 powershutdown.py" (oder sudo python powershutdown.py) eingebe kommt folgende Fehlermeldung


File "/home/pi/powershutdown.py", line 19
[nbsp] [nbsp] print "Warte auf Initialisierung der Spannungsversorgung"
[nbsp] [nbsp] [nbsp] [nbsp] [nbsp] ^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print("Warte auf Initialisierung der Spannungsversorgung")?


[nbsp]


Muß ich vorher etwas anderes eingeben, damit Raspberry "weiß", dass er den Befehl ausführen muss?


[nbsp]


Danke


Mit freundlichen Grüßen


Roogy

Roogy

18.08.22 11:39

Wenn ich dann den Micro USB wieder einstecke (bei o.g. Situation; Micro-USB entfernt und fährt nicht herunter...), wird anscheinend ein Neustart durchgeführt.

Roogy

18.08.22 11:42

Hallo Roogy,


in dem Pythonskript wurden noch nicht alle benötigten Klammern gesetzt.[nbsp]


Hier ist das komplette Skript:


#!/usr/bin/python
# Initialisierung
import RPi.GPIO as GPIO
import time
import os
GPIO.setmode(GPIO.BCM)

# Hier den entsprechden GPIO-PIN auswaehlen
GPIO_TPIN = 21

print ("Sicheres Herunterfahren bei Stromausfall (CTRL-C zum Schliessen)")
# Set pin as input
GPIO.setup(GPIO_TPIN,GPIO.IN,pull_up_down = GPIO.PUD_DOWN)

Current_State = 0
Previous_State = 0

try:
print ("Warte auf Initialisierung der Spannungsversorgung")
while GPIO.input(GPIO_TPIN)==1:
Current_State = 0

time.sleep(10)

print ("Bereit")

while True :
Current_State = GPIO.input(GPIO_TPIN)
if Current_State==1 and Previous_State==0:
Previous_State=1
os.system("sudo shutdown -h now")
elif Current_State==0 and Previous_State==1:
Previous_State=0
time.sleep(0.01)

except KeyboardInterrupt:
print (" Quit")
GPIO.cleanup()

[nbsp]


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

18.08.22 14:15

Hallo Tim,


habe jetzt das Skript ersetzt; leider ist das Verhalten unverändert.


Beim trennen der Stromquelle fährt er nicht herunter. Beim erneute Anschließen der Stromquelle startet er neu.


[nbsp]


Muß ich vorher etwas bestimmtes starten, damit es funktioniert?


Welche Befehle muß ich bei einer Grundinstallation von Raspberry Bullseye ausführen, damit es funktionieren sollte?

Roogy

18.08.22 14:57

Wird das Minicom auch benötigt wie beim Strompi3?

Roogy

18.08.22 15:04

Hallo Roogy,


mit der aktuellen Raspberry Pi OS Version werden keine zusätzlichen Installationen benötigt.


Wenn die Jumper alle richtig gesteckt sind, müssen Sie nur das Skript starten und ca. 10 Sekunden warten, bis es Bereit ist.


Der StromPi2 setzt bei einem Ausfall der microUSB-Versorgung den GPIO PIN 21 des Raspberry Pi HIGH, dies wird von dem Skript erkannt und der Raspberry Pi wird heruntergefahren.[nbsp]


Minicom wird nicht benötigt, da auf dem StromPi2 kein Mikrocontroller verwendet wird.


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

19.08.22 09:41

Jetzt hat es glaube ich soweit geklappt. Danke.


Nach dem Ausfall der microUSB fährt der Raspberry herunter. Ich kann auf ihn nicht mehr zugreifen.


Die blaue LED leuchtet aber weiter und auch die rote vom Raspberry. Ist das so in Ordnung?


Wird in diesem Zustand viel Strom verbraucht?


Mit freundlichen Grüßen


Roogy

Roogy

19.08.22 21:06

Hallo Roogy,


dieses Verhalten ist normal.


In dem Zustand werden bei einem Raspberry Pi 3B noch ca. 0,7 Watt über den Wide-Eingang verbraucht.


Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

22.08.22 10:58

Hallo Tim,


vielen Dank für die Mühe.


Mit freundlichen Grüßen


Roogy

Roogy

22.08.22 11:53

Eine Frage hätte ich dann doch noch.


[nbsp]


Wird ein an Wide angeschlossener Akku geladen, wenn er im "Normalbetrieb" nicht genutzt wird?


[nbsp]


Bei einem am Wide angeschlossenen Akku weiß ich ja nicht den Ladezustand. Oder kann dies durch Strompi2 gemessen werden und beim Unterschreiben z.B. ein Email gesendet werden, dass der Akku bzw. Batterie getauscht werden muss?


Mit freundlichen Grüßen


Roogy

Roogy

22.08.22 12:23

Hallo Roogy,


ein an Wide angeschlossener Akku wird nicht vom StromPi2 geladen.


Er entlädt sich sogar im Standby, jedoch lediglich mit ca. 20 - 80 µA.


Der StromPi2 kann leider auch nicht die Akkuspannungmessen, dafür müssten Sie einen externen ADC verwenden, den Sie dann über den Raspbery Pi auslesen können.


Mit freundlichen Grüßen


Tim (Joy-IT)


[nbsp]

Tim

22.08.22 16:19

Hallo Tim,


danke für den Hinweis bzgl. ADC. Habe erst mal nachschalten müssen, was das bedeutet 😉


Evlt. kann damit ein Bekannter etwas anfangen. Selber kann ich das leider nicht.


Trotzdem vielen Dank nochmal für die gesamte Hilfe


Mit freundlichen Grüßen


Roogy

Roogy

22.08.22 19:47