Welcome, Guest
Username: Password: Remember me
Software
  • Page:
  • 1
  • 2

TOPIC: Python App Autostart mit Raspbian und Pixel

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #1

  • PiLo-Heinz
  • PiLo-Heinz's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 9
  • Thank you received: 6
Hallo deMicha,

so - ich habe jetzt Zeit gehabt auch die crontab-Methode noch zu testen.
Auf einem Raspi 3 mit Monitor am HDMI Anschluss funktioniert das ebenso problemlos bei mir.
Ich musste lediglich die Berechtigung zum Ausführen der (unveränderten) Datei 'PiLogger.py' auf 'jeder' stellen, damit cron als root die Datei für den Benutzer 'pi' starten darf.
Für alle Gast-Leser hier ein Link auf eine ausführliche Beschreibung von cron und crontab:
https://wiki.ubuntuusers.de/Cron/https://wiki.ubuntuusers.de/Cron/
Selbst das Setzen der Umgebungsvariablen 'DISPLAY' mit Anführungszeichen macht keinen Unterschied.

Fazit: Ich weiß leider nicht was bei Dir zu einer Doppelausführung des PiLogger-Programms führt.
Vielleicht hast Du unterwegs eine weitere crontab-Datei für einen anderen User angelegt ?
Jedenfalls ist es ziemlich sicher das irgendwo noch ein Programmaufruf erfolgt.
Vielleicht nochmal mit
ps aux
die Prozessliste komplett ausgeben und schauen, nach welchem Eintrag der Python-Process auftaucht ...
Viel Erfolg und schönen Gruß !
PiLo-Heinz

Please Log in or Create an account to join the conversation.

Nichts ist unmöglich :-)

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #2

  • deMicha
  • deMicha's Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 2
Hallo nochmal,

ohne DISPLAY=":0" bekomme ich einen Fehler von tkinter nach dem Ausführen des cronjobs.
Den Monitor brauche ich nicht unbedingt da ich die Werte im Internet ersehen kann. Außerdem habe ich ja noch zur Not die tägliche Logdateien vom PiLogger. Mit ThingSpeak ( ist nur ein Zweizeiler und inport urllib) kann die Doppelausführung nichts zu tun haben, eher vielleicht den geänderten Ablauf zur Erstellung der täglichen Logdatei? :dry:
Ist aber alles kein großes Problem, das Programm läuft und das ist die Hauptsache.
Einen schönen Abend noch und vielen Dank :)
Gruß deMicha

Please Log in or Create an account to join the conversation.

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #3

  • PiLo-Heinz
  • PiLo-Heinz's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 9
  • Thank you received: 6
Hallo deMicha,

Danke für die ausführliche Beschreibung.
Das mit 'ps' hätte ich als nächstes gefragt ... :)
Bei mir taucht immer nur der vom Autostart aufgerufene Prozess auf. Wenn ich zusätzlich den PiLogger Monitor manuell starte (Desktop-Verknüpfung), wird ein weiterer Prozess gestartet und es öffnet sich ein weiteres Monitor-Fenster.
Kann mir nur vorstellen, dass mit der ThingSpeak Modifikation ein weiterer Python-Prozess gestartet wird, der Teile des PiLo-Monitors verwendet. Ist das möglich ? Dann läge es daran, dass die verwendeten Teile nicht als class definiert sind, die Wiederverwendung also dummerweise das ganze Programm startet...
Die deutlich höhere Prozessnummer des zweiten Monitor-Prozesses lässt mich das vermuten.

Nachtrag:
Im crontab Versuch, sagst Du, taucht kein Monitor-Fenster auf ?
Hast Du in der tkinter-Hauptschleife ein sleep oder wait oder ähnliches ?
Aber auch dann müsste ja irgendwann einmal der View-Teil durchlaufen werden ... seltsam.

Nachtrag 2:
~erst denken - dann schreiben ~
uups - habe gerade erst DISPLAY=":0" gesehen !
Vermute mal, das das der Grund für 'kein Monitor-Fenster' ist.
Wenn das so gewollt ist, ist es ja erstmal gut, erklärt aber noch nicht die Doppelausführung
mit LXDE Autostart :(

Gruß,
PiLo-Heinz
The following user(s) said Thank You: deMicha

Please Log in or Create an account to join the conversation.

Nichts ist unmöglich :-)
Last Edit: by PiLo-Heinz.

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #4

  • deMicha
  • deMicha's Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 2
Hallo PiLo-Heinz,
vielen Dank für Deine Antwort und auch für die Bemühungen.

Versuche die Situation mal zu erklären:
Der Raspi hängt am USB-Anschluss des Solarreglers zur Spannungsversorgen des Raspi dran. Bei Unterschreitung von 10,5V Akkuspannung schaltet der Solarregler zwecks Unterspannungsschutz die Versorgungsspannung ab und bei ca 12V wieder an. Deswegen möchte ich gerne einen Autostart realisieren. Das PiLogger-Programm habe ich ein wenig für eine tägliche Log-Datei, Auslesung der CPU-Temperatur und zum schicken der Werte zu ThingSpeak umgeschrieben. Ansonsten ist es das original Programm nur mit einem anderen Dateinamen "PiLogger_date_cpu_ts.py". Die log-Einstellung habe ich auf 60sec gesetzt somit auch das Senden der Daten zu ThingSpeak per Minute.
Heute morgen habe ich mal die verschieden Situationen durchgetestet und frage mit dem Befehl "ps -ef | grep python" die laufende Python Sessions ab.

Situation 1:
Nach reboot ohne Einträge in Autostart oder crontab:
pi@rasppi-solar:~ $ ps -ef | grep python
pi 1113 1104 0 11:21 pts/0 00:00:00 grep --color=auto python
pi@rasppi-solar:~ $
Es läuft also nichts!

Situation 2:
Eintrag in Autostart:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@python3 /home/pi/PiLogger/PiLogger_date_cpu_ts.py
Nach reboot mit Eintrag in der Autostart:
pi@rasppi-solar:~ $ ps -ef | grep python
pi 728 544 7 11:31 ? 00:00:02 python3 /home/pi/PiLogger/PiLogger_date_cpu_ts.py
pi 1044 963 9 11:31 ? 00:00:02 python3 /home/pi/PiLogger/PiLogger_date_cpu_ts.py
pi 1137 1125 0 11:31 pts/0 00:00:00 grep --color=auto python
pi@rasppi-solar:~ $
Das Programm läuft zweimal, einmal mit PiLogger-Monitor und einmal ohne PiLogger-Monitor. Nach Stopp im PiLogger-Monitor läuft im Hintergrund das andere Programm weiter:
Anzeige nach Stopp PiLogger-Monitor
pi@rasppi-solar:~ $ ps -ef | grep python
pi 728 544 1 11:31 ? 00:00:13 python3 /home/pi/PiLogger/PiLogger_date_cpu_ts.py
pi 1985 1125 0 11:43 pts/0 00:00:00 grep --color=auto python
pi@rasppi-solar:~ $
Die Daten werden auch weiter an ThingSpeak gesendet.

Situation 3: (und erstmal eine Lösung für meine Anwendung)
Eintrag in crontab (pi user) mit reboot Log-Datei:
@reboot sleep 60; DISPLAY=":0" /home/pi/PiLogger/PiLogger_date_cpu_ts.py >> /home/pi/reboot_log.txt 2>&1
Nach reboot mit Eintrag in crontab ohne Autostart:
pi@rasppi-solar:~ $ ps -ef | grep python
pi 1128 300 5 11:02 ? 00:00:46 /usr/bin/python3 /home/pi/PiLogger/PiLogger_date_cpu_ts.py
pi 1363 1106 0 11:17 pts/0 00:00:00 grep --color=auto python
pi@rasppi-solar:~ $
Programm läuft und sendet auch die Werte nach ThingSpeak dabei wird der PiLogger-Monitor nicht angezeigt.

Das Problem mit dem Autostart wird wohl an meinen Einstellungen hängen und ist auch kein großes Problem nur verstehen würde ich es gerne.
Wenn das Programm zweimal läuft bekomme ich je nach Zeitversetzung doppelt Einträge in ThingSpeak anstatt wie in den PiLogger-Einstellung für log per Minute.

Hoffe ich konnte dies irgendwie verständlich rüberbringen und bedanke mich für das Durchlesen und freue mich über eine Antwort.
Den "PiLogger one" kann ich wirklich empfehlen und das Beispiel Programm läuft auch gut und sauber.

Gruß an Alle
deMicha
The following user(s) said Thank You: PiLo-Heinz

Please Log in or Create an account to join the conversation.

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #5

  • PiLo-Heinz
  • PiLo-Heinz's Avatar Topic Author
  • Offline
  • Moderator
  • Moderator
  • Posts: 9
  • Thank you received: 6
Hallo deMicha,
ich habe gerade mit einer frischen Installation das Ganze nochmal getestet - bei mir funktioniert es wie gewünscht.
Was meinst Du mit "im Hintergrund" ? Da die Basis-Software eine grafische Python-Anwendung ist, kann es hier eigentlich sowas nicht geben :unsure:
Meinst Du vielleicht die Task-Leisten-Anzeige ? (siehe Screenshot)

Gruß PiLo-Heinz
Attachments:
The following user(s) said Thank You: deMicha

Please Log in or Create an account to join the conversation.

Nichts ist unmöglich :-)

Python App Autostart mit Raspbian und Pixel 4 months 2 weeks ago #6

  • deMicha
  • deMicha's Avatar
  • Offline
  • Fresh Boarder
  • Fresh Boarder
  • Posts: 4
  • Thank you received: 2
Hallo PiLo-Heinz,
vielen Dank für diesen Beitrag.
Bei mir startet das Programm damit aber zweimal => einmal sichtbar und nochmal im Hintergrund.
An was könnte dies liegen?
Gruß deMicha

Please Log in or Create an account to join the conversation.

  • Page:
  • 1
  • 2
Time to create page: 0.087 seconds