Autostart bei Raspberry 3B+

  • Hallo miteinander,

    ich habe das Problem, dass an meinem Raspberry ein Python-Programm nicht automatisch durch Auto-Start ausgeführt wird.


    Wenn es durch ein weniger umfangreiches Programm ersetzt wird, ist es kein Problem.


    Kann es sein, dass es eine bistimmte Maximalgröße für auszuführende Skripte beim Autostart gibt?


    Danke schonmal im Voraus.


    Viele Grüße Michi:)

    • Official Post

    Hallo MichiB1900,


    willkommen im Forum! ;)


    Um Dir irgendwie helfen zu können, brauchen wir schon einiges mehr an Informationen. Z.B.: Welches OS, mit oder ohne Desktop, welche Art von Autostart, wie sehen die Skripte aus und was sollen diese machen, u.s.w. Du kannst Dich gerne an Wie frage ich nach Hilfe? orientieren. Das ist ein hilfreicher Leitfaden.

    Ohne dem bleibt uns nur raten.

  • Es gibt keine verringerten Py-Filegrössen für ein autostart-Script. Was aus der Shell funktioniert, funktioniert auch als autostart.


    Servus !

    RTFM = Read The Factory Manual, oder so

  • Als Betriebsystem wird Raspbian mit Desktop verwendet. Leider habe ich die Versionsnummer nicht zur Hand. Als IDE benutze ich Thonny Python. Dort hat das Programm bei Ausführen immer funktioniert.

    Als Autostart wurden die verschiedensten Möglichkeiten, die das WWW hergab getestet. Leider alles ohne Erfolg

    • Official Post

    wie sehen die Skripte aus und was sollen diese machen

    Und zeig uns auch bitte mal eine der Möglichkeiten, mit denen Du versucht hast das Skript zu starten! Wir sitzen nicht vor Deinem Computer und haben keine Ahnung was Du wie schon versucht hast.

  • MichiB1900 Hast Du das auch schon mal ausserhalb von Thonny einfach so auf der Konsole gestartet? Funktioniert es dann?

    “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” — Edsger Dijkstra

  • Hallo zusammen,

    ich habe ein ähnliches Problem mit meinem ersten Pi-Projekt.


    Ich habe eine Schrittmotorsteuerung mit DFC-synchroner Uhr mit einem alten Kirchturm-Uhrwerk realisiert.


    Die Entwicklungsumgebung war Thonny. Ich habe einen 3B+ Raspberry mit Raspbian GNU/Linux 5.4.72-v7+ (4 Kerne - 1GB RAM )

    Das Py-Script ist ausführbar und läuft bei Start von der Konsole bzw direkt aus Thonny problemlos,
    sowohl als "sudo" und auch als "pi" Benutzer.


    Soweit so schön.

    Wenn ich das Py-Script mit Kaltstart des Pi in einem Cron-Eintrag starten will läuft der Motor nicht an.
    Mit htop ist das Script aber als "running Task" zu sehen.

    Dann habe ich es Mittels eines vorgeschalteten Shellscripts gestartet - von der Konsole gestartet, läuft die Uhrsteuerung,
    aus Cron läuft sie nicht. Lt. htop läuft das Programm aber. - (dto. Kaltstart)


    Wenn ich aber "sudo reboot" ausführe - mit gleichen Shell-Script bzw Cron Einstellungen wie beim Kaltstart - läuft alles perfekt !


    Der einzige Unterschied in htop ist, dass nach einem Kaltstart der Py-Script-Task 100 % eines Kerns beansprucht. (ca. 25% Gesamtauslastung)

    Beim Warmstart schluckt das laufende Script gerade mal 2-3 % der Gesamtleistung.


    Ich habe schon versucht die GPIO beim Start über /etc/rc.local vorzukonfigurieren, leider ohne Erfolg.


    Ich habe auf Script-Snippets zunächst mal verzichtet da ich den Pi autark ohne jegliche Netzwerkverbindung laufen lasse.

    Welche Snippets wären in diesem Fall sinnvoll?

    Hat jemand eine Idee, woran es hier hakt?

    Vielleicht ist es ja nur eine Kleinigkeit:/


    Herzlichen Dank im Voraus.

  • Vielleicht Abhängigkeiten. Schon über /home/pi/.config/autostart mittels Desktop Datei, oder der Autostart Datei /home/pi/.config/lxsession/LXDE-pi/autostart probiert? Was auch helfen kann, ist ein einfaches Skript (z.B. Datum in eine Logdatei schreiben) mit der nicht funktionierenden Autostartfunktion anwenden. Wenn das funktioniert, liegt es sehr wahrscheinlich am Skript.

  • Danke für den Tipp. - Es lag am Skript

    Ich habe eine GPIO-Zuweisung geändert:

    Code
    GPIO.setup(Chop,GPIO.OUT, initial=True)

    in

    Code
    GPIO.setup(Chop,GPIO.OUT)

    und schon hat es getan.:)

  • `Chop` sollte klein geschrieben werden, denn das ist ja mit ziemlicher Sicherheit keine Klasse, oder KOMPLETT_GROSS falls es eine Konstante ist, und aus meiner Sicht auch anders benannt werden. Ich kann mir unter einer ganzen Zahl die `chop` oder `CHOP` heisst jedenfalls nicht vorstellen was die wohl bedeuten mag.

    “If debugging is the process of removing software bugs, then programming must be the process of putting them in.” — Edsger Dijkstra