Helpdesk

Hallo zusammen,

Ich hab hier folgende Konfiguration: RPi4/8Gb + StromPi3 + BatteryHat (1000mAh)

Habe den StromPi mit neuer Firmware geflasht.
Problem 1: Die Skripte StromPi3-Status und strompi_config_gui lassen sich nach einem boot leider immer erst nach mehreren Versuchen ohne Fehler starten (danach immer problemlos). Die Fehler sehen dann so oder so aehnlich aus (Zeilennummer variiert).
pi@KOE-BDE01:~/StromPi $ sudo -E python3 StromPi3_Status.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 501, in read
'device reports readiness to read but returned no data '
serial.serialutil.SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "StromPi3_Status.py", line 121, in
sp3_alarm_min = serial_port.readline(9999);
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 509, in read
raise SerialException('read failed: {}'.format(e))
serial.serialutil.SerialException: read failed: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Problem 2: Kontrolliertes Runterfahren des Pi ueber serialShutdown klappt nicht. Die darin eingestellte Zeit (30s) wird offenbar ignoriert, bis der StromPi den Saft abdreht (nach 60s). Ich vermute, dass das serialShutdown-Skript (soll durch rc.local autostarten) dasselbe Problem hat, wie die anderen Skripte auch und beim ersten Versuch einfach abschmiert.
Ich weis allerdings nicht, wie ich das pruefen kann, bin noch nicht so der Linux-Crack.

Hier meine Konfiguration (die nach ca. 10 Versuchen endlich ausgegeben wurde):
---------------------------------
StromPi-Status:
---------------------------------
Time: 08:37:17
Date: Tuesday 25.08.20

StromPi-Output: mUSB

StromPi-Mode: Wide -> mUSB -> Battery

Raspberry Pi Shutdown: Enabled
Shutdown-Timer: 60 seconds

Powerfail Warning: Enabled

Serial-Less Mode: Disabled

Power Save Mode: Disabled

PowerOn-Button: Disabled

PowerOn-Button-Timer: 30 seconds

Battery-Level Shutdown: 10%

Powerfail-Counter: 23

PowerOff Mode: Disabled
---------------------------------
Alarm-Configuration:
---------------------------------
WakeUp-Alarm: Disabled
Alarm-Mode: Time-Alarm
Alarm-Time: 00:00
Alarm-Date: 01.11
WakeUp-Alarm: Monday
Weekend Wakeup: Enabled
Minute Wakeup Timer: 30 minutes

PowerOff-Alarm: Disabled
PowerOff-Alarm-Time: 00:00

Interval-Alarm: Disabled
Interval-On-Time: 00 minutes
Interval-Off-Time: 00 minutes

---------------------------------
Voltage-Levels:
---------------------------------
Wide-Range-Inputvoltage: not connected
LifePo4-Batteryvoltage: 3.404V [100%] [charging]
microUSB-Inputvoltage: 5.119V
Output-Voltage: 5.083V


  • Was mache ich falsch, bzw. wie bringe ich die Skripte dazu sauber und zuverlaessig zu starten?

  • Wie kann ich pruefen, ob das serialshutdown-script laeuft?

  • Wie kann ich pruefen, ob das System sauber(!) runtergefahren wurde?


Ich moechte mit dieser Konfigurationen je eine Produktionsmaschine ueberwachen (Betriebsdatenerfassung - BDE) und bin nun am Prototyp dran - der muss sich nun erstmal in Punkto Zuverlaessigkeit beweisen.

Freundliche Gruesse

TillPe

25.08.20 10:55

Hallo TillPe,

dies sieht ganz nach einem Fehler bei der seriellen Kommunikation aus.

Dafür kann es mehrere Gründe geben:

Haben Sie die Einstellungen für die serielle Kommunikation durchgeführt, wie in Kapitel 8.1 unserer Anleitung beschrieben?

Nutzen Sie die serielle Kommunikation noch anderweitig?

Außerdem können Skripte im Autostart, die ebenfalls die serielle Kommunikation nutzen, diese stören.

Sie können auch eines unserer vorbereiteten Images zum Testen verwenden, um den Fehler weiter einzugrenzen.

Mit dem Befehl "ps aux | grep -v grep | grep -i python", kann man im Hintergrundlaufende Python-Skripte anzeigen lassen.

Mit freundlichen Grüßen

Tim (Joy-it)

Tim

27.08.20 14:04

Wenn auf dem PI das Debian ist mal dem ModemManager deinstallieren der macht Ärger mit allem was man an die Seriale hängt.

Der versucht nämlich beim Starten ob der Strom ein Modem ist...

Wenn es ein Aktuelles Debian ist nicht rc.local nehmen Systemd ist besser...

derkleinepunk

29.08.20 12:24

Guten Morgen,




@DerKleinePunk

Danke für den Hinweis. Wir werden uns das anschauen und ggf. in die Anleitung übernehmen.




Mit freundlichen Grüßen

Nils (Joy-IT)

Nils

02.09.20 11:20

Hallo zusammen,

zunächst danke für die Antworten!
Endlich hatte ich wieder Zeit, mich dem RasPi zu widmen.

Kurze Anmerkung zu diesem FAQ-Bereich: Wenn ich mich hier einlogge, habe ich keine Möglichkeit einen Beitrag zu schreiben oder zu beantworten (sowohl in Chrome als auch Edge-Browser)?
Die Registrierung macht wenig Sinn, wenn ich mich für jeden Beitrag neu registrieren muss ;-)




Ich habe nun auf dem RasPi das große von Joy-It bereitgestellte Image installiert, update und upgrade gemacht.
Vorher hatte ich die schlanke Variante des RPi-Os (Desktop ja aber nur kleines Programmpaket). Der ModemManager war da glaub garnicht enthalten, hatte ich versucht zu deinstallieren.
Ich benutze nichts was seriell benötigt.

Mit dem Joy-It-Image kommt nun direkt eine Verbindung durch minicom zustande. Was ist hier anders?

Auch das StromPi3-Status - Skript läuft auf Anhieb und gibt Output, sofern man es mit python3 (nicht python!) startet.

Wenn ich jedoch serialShutdown.py laufen lasse (erstmal ohne Autostart) und dem Hat kurz den Strom abziehe und wieder dranstecke, sollte ja eigentlich eine PowerFail und dann eine PowerBack Nachricht kommen.
PowerBack kommt aber leider nicht und der Pi fährt runter.

Hab den StromPi auch nochmals geflasht, jedoch keine Änderung.

Freundliche Grüße

Tillpe

15.09.20 12:11

Hallo Tillpe,

unsere Images werden nur mit den in der Anleitung beschriebenen Schritten konfiguriert.

Verwenden Sie die selbe StromPi-Konfiguration wie in Ihrem ursprünglichen Beitrag? Dort ist die Konfiguration Wide -> mUSB -> Batterie, es ist jedoch keine Wide Spannungsquelle verbunden.
Die Powerbackerkennung funktioniert nur mit der eingestellten Primären Spannungsversorgung.
Wenn Sie den StromPi bereits ohne angeschlossenen primärer Spannungsversorgung starten, dann das Skript starten und die sekundäre Spannungsversorgung entfernen, kommt die Powerfail Benachrichtigung.
Powerback würde dann jedoch nur kommen, wenn Sie die primäre Spannungsversorgung wieder anschließen. Mit Anschließen der sekundären Spannungsversorgung kommt keine Powerbackerkennung.

Mit freundlichen Grüßen

Tim (Joy-it)

Tim

16.09.20 13:17

Alles klar, danke!

Ich hatte die wide->mUSB->battery Einstellung drin und hab zum Testen am Schreibtisch halt mUSB verwendet.
Später im produktiven Einsatz soll der Pi in die Maschine und dort über die 24V-Schiene versorgt werden. Ich dachte mit dieser Einstellung wäre ich somit universell versorgt.

Damit sind meine Probleme aber ersteinmal gelöst, denn wenn ich umschalte auf mUSB->battery funktioniert es tadellos :-)




Ich möchte aber trotzdem anregen, vielleicht in der Firmware & dem shutdownscript eine "SecondaryPowerBack"-Meldung zu integrieren, die das unnötige Herunterfahren verhindert.

Freundliche Grüße

tillpe

17.09.20 14:33