Problem mit Skript per Crontab

  • Ausgelagert aus RPI3 - Crontab soll Shell-Skript aufrufen




    Hallo liebe Raspi Freunde!


    Mein Problem ist zwar etwas anders als das von ukognos55, zielt aber in die gleiche Richtung (das gleiche Thema):


    Ich habe einen Raspi 3B, an dem ich einen BME280 via I2C als Temperaur-, Luftdruck- und Luftfeuchtesensor angeschlossen habe.

    Für diesen Sensor habe ich folgendes Programm geschrieben.

    Es soll die Werte alle 5 Minuten in eine Datenbank schreiben.


    Führe ich das Programm manuell aus (via IDLE) funktioniert das super (und auch reproduzierbar).

    Lasse ich nun dieses Programm via crontab alle 5 Minuten ausführen funktioniert die zwar auch,

    aber eben nicht stabil. Nach einer unregelmäßigen Anzahl an Stunden stoppt die Ausführung des Jobs (mal 30, mal 7, manchmal 12 Stunden) dann plötzlich.

    Wenn ich dann den Sensor kurz vom Raspi trenne funktioniert wieder alles ( für die nächsten 8..., 12..., x Stunden), usw. usf..


    Ich habe noch andere Programme, die via crontab ausgeführt werden, die laufen aber stabil weiter.


    Hat jemand von euch eine Idee, woran das liegen könnte?


    Welche Troubleshooting-Möglichkeiten habe ich denn bei einem Raspi?

    Gibt es irgendwelche Logfiles insbesondere für den cron-Dienst oder I2C-Schnittstelle, die ich prüfen könnte?


    Wichtiger Hinweis:

    Ich bekomme seit einiger Zeit die Meldung "Low voltage warning. Please check your power supply.

    Diese Meldung kann ich nicht nachvollziehen. Ich habe extra ein neues Netzteil mit 3 A gekauft und weniger Sensoren in Betrieb als "früher" mit den Pi Zero.

    Neben dem BME280 ist noch ein AS3935 Blitzsensor, ein Regensensor, ein Anemometer und ein Windrichtungssensor angeschlossen (letzterer mit eigener Stromversorgung).


    Achja und die CPU-Temperatur schwankt zwischen 57 °C und 62 °C.


    Vielen Dank schon mal für euer Feedback und beste Grüße

    U32

    Edited once, last by hyle ().

  • Datenbank = 'WetterDB'

    Und wo liegt diese Datei?

    Oder ist das eine Maria-DB Datenbank, doch dann fehlen dir Zugangsdaten.

    Ist es eine SQLite-Datenbank, muss hier der vollständige Pfad zur Datenbank-Datei angegeben werden.

    Selber denken,
    wie kann man nur?

  • Dieser Wert wird an das Modul mod_DB_Insert übergeben.
    Dort wird dann der Zugang zur Datenbank (MySQL) geregelt.

    Aber da schein ja auch nicht das Problem zu liegen, da das schreiben in die DB ja funktioniert.


    Vielen Dank und beste Grüße nach Berlin

    U32

  • Das dürfte hier allerdings nicht relevant sein, wenn es nur sporadisch nicht funktioniert.


    Ein offizielles Netzteil für den RPi 3B ist das dann aber nicht. Was für ein Netzteil verwendest Du jetzt?

    Kein spezielles.
    Universal-Netzteil, Mikro-USB, 5 V 3 A.
    Mehr weiß ich auch nicht.

  • Hast Du evtl. einen Link zu diesem Netzteil? Das ist hoffentlich kein Ladegerät für ein Telefon oder? Denn dann sind die Chancen für eine stabile Spannung eher weniger gut.


    Noch eine Frage: Gibt es eine Kausalität zwischen den Undervoltage-Meldungen und den Aussetzern? Die Zeiten findest Du ja in den Logs (var/lo/syslog*).

  • Glaube nicht alles was Verkäufer versprechen!

    aber eines, was dafür vorgesehen ist.

    Das habe ich schon oft gelesen. Wenn es so wäre, dann würde in der Beschreibung nichts von schnellem Laden oder dergleichen stehen:

    Quote

    Dank 3000mA - Ausgangsstrom schnelleres Laden


    Ich würde Dir trotzdem das offizielle Netzteil für den RPi3 empfehlen oder ggf. das für den RPi4 mit Adapter von USB-C auf Micro-USB. Diese Teile haben sich bewährt, sind wirklich auf die RPi abgestimmt und nicht nur Lila Werbekühe. ;)

    Für mich klingt das nach dem Mysterium, denn Du wunderst Dich bestimmt, warum ich so auf dem Netzteil rumreite. Siehe dazu u.a. hier: https://www.elektronik-kompend…/raspberry-pi/1912111.htm


    Hast Du übrigens bezüglich Kausalität von Undervoltage <> Ausfälle etwas herausfinden können?

  • Hallo hyle !

    Ich hatte bisher ein Original Raspberry Pi Netzteil!
    Das hatte aber "nur" 2,5 Ampere, das was ich jetzt habe hat zwar auch nur 3 A, wenigstens etwas mehr.

    Für mich ist die ganze Sache ziemlich bizarr...


    Der Job für die Temperatur soll alle 5 Minuten laufen. Der Job für die Windgeschwindigkeit läuft dagegen jede Minute!!!
    Und dieser Job funktioniert einwandfrei. :conf:


    Du hast ja weiter oben von einem "Mysterium" gesprochen...
    Das ist es gerade auch für mich. Wenn es ein Problem mit der Energieversorgung gäbe und daher die WLAN-Komponente abgeschaltet werden würde, dann wäre das ja logisch und nachvollziehbar (WLAN = Strom => Ich habe gerade nicht genug Strom => also schalte ich es ab).
    Nach der Logik müssten dann aber doch auch alle anderen Jobs nicht mehr laufen, da die Ergebnisse ja nicht mehr über WLAN in die DB geschrieben werden können. Dem ist aber nicht so. Die anderen Jobs funktionieren ja - wie gesagt.


    Ich schaue mal nach den Logfiles...


    p.s.: Wie kann ich eigentlich ein Bild hochladen? Über die schwarze Menüleiste hier im Editor kann ich nur einen Link angeben...

  • Hallo hyle ,


    Hier mal ein Auszug aus dem Logfile:

    Um 19:45 Uhr wurde der Job zuletzt erfolgreich ausgeführt.

    Etwas später gibt es dann wohl aber ein Problem mit dem WLAN-Interface:


    Und wieder etwas später scheint das Problem wieder behoben...



    Kannst du die Einträge irgendwie interpretieren?


    Vielen Dank und beste Grüße

    U32

  • Wie kann ich eigentlich ein Bild hochladen? Über die schwarze Menüleiste hier im Editor kann ich nur einen Link angeben...

    Unter dem Textfeld des Editors ist ein Button Dateianhänge. Drag and Drop oder aus der Zwischenablage einfügen sollte auch funktionieren.

    Das hatte aber "nur" 2,5 Ampere, das was ich jetzt habe hat zwar auch nur 3 A, wenigstens etwas mehr.

    Das mag vielleicht so klingen, aber einem Akku ist es egal ob der nun 5V oder kurzzeitig 4,5V zum Laden bekommt. Ein RPi braucht aber eine stabile Spannung, die ein Ladegerät eben sehr oft nicht bereitstellt.


    Die Logeinträge muss ich mir erstmal in Ruhe ansehen, habe dazu aber noch eine Frage. Ist in Deinem Netzwerk oder auf dem selben RPi evtl. Pi-hole im Spiel?

  • Wenn Du so fragst, dann vergiss meine Frage! https://pi-hole.net/ ;)


    Wo kommt der IP-Bereich 10.10.10.0/24 in Deinem Netzwerk her? Ist das normal bei Deinem Router / ISP? Vielleicht ist das ja auch eher eine Frage für die Netzwerker hier, denn


    erscheint mir (zumindest um diese Uhrzeit) als nicht normal. :conf:

  • Moin hyle !


    Das verwendete Netz ist normal so.

    Zum Thema Netzteil:

    Ich hatte ja zuvor ein original Raspberry Netzteil. Das hatte aber "nur" 2,5 A und daher habe ich es getauscht.


    Und noch ein ganz wichtiger Punkt:

    Die anderen Jobs laufe ja erfolgreich weiter.
    Der Job für die Windgeschwindigkeit läuft beispielsweise jede Minute (!) und liefert zuverlässig Daten seit der Einschaltung.
    Das ist der Punkt der mich schier wahnsinnig macht. :@ Es ergibt keinen Sinn.

    Die Sache mit dem Netzteil > zu wenig Strom > WLAN aus , etc. klingt ja plausibel.

    Aber dann dürften die anderen Jobs doch auch keine Daten mehr in meine DB schreiben können (so ohne Netzwerk), oder habe ich da einen Denkfehler?


    Vielen Dank und beste Grüße

    U32

  • Fakt ist, dass Du Under-voltage detected! Meldungen in Deinen Logs hast. Was nun genau zu wenig Strom bekommt, kann man da nicht sagen. Verbeiß Dich mal nicht zu sehr in WLAN oder USB.


    Ich hatte vor ein paar Jahren auch mit dem Mysterium zu tun. Da hatte ich mir mit einem RPi (1)B ein Webradio gebaut. Der hatte noch kein WLAN an Bord und benötigte dafür einen Edimax-USB-Stick. Das WLAN funktionierte, aber siehe hier: RPi B Display-LED flackern

  • Die Meldung habe ich aber auch, wenn der Job läuft.

    Ich werde aus der Sache einfach nicht schlau! :wallbash:

    Wird wahrscheinlich wieder so'ne "Fehler-durch-fummeln-beseitigt" Nummer. ;(


    Werde mich mal wieder mehr auf den Sensor als Fehlerquelle konzentrieren...

  • Nach einer unregelmäßigen Anzahl an Stunden stoppt die Ausführung des Jobs

    Du pruefst nicht ob die gelesenen Daten vom BME OK sind. Kann ja mal sein dass der BME bzw die I2C Kommunikation Probleme macht und sich der BME auch irgendwie aufhaengt und erst wieder funktioniert wenn Du ihn mal kurz abstoepselst.

    Gibt es irgendwelche Logfiles insbesondere für den cron-Dienst oder I2C-Schnittstelle, die ich prüfen könnte?

    Die Ursache liegt sicherlich nicht am cron. Ich wuerde mal die gemessenen Werte in Deinem Program zusaetzlich in eine Datei schreiben lassen bevor sie in die DB geschrieben werden und mir diese mal ansehen wenn es wieder haengt.

    "Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect."

    Linus Benedict Torvalds, 28.9.2003


    Hast Du die Woche schon Deine Raspberry gesichert =O Bei mir tut das raspiBackup automatisch ;)