Slideshow über Touchscreen starten und beenden.

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,
    ich bastel gerade an einem kleinen Projekt!
    Über ein 10 zoll Touchscreen soll die (fbi) Diashow starten und über eine weitere Berührung beendet werden)
    Soweit so gut:
    Programm 1:

    Code
    Bedingung  ==1
    os.system("fbi -T 1 -noverbose -a -u -t 4 *.jpg")
    os.system("sudo ./ test2.py")
    # Funktioniert auch alles

    Programm2 (test2.py):

    Zum Problem: Wenn ich das Programm 1 über den PI starte, startet er die Diashow und Programm 2. Das Touchscreen reagiert jedoch nicht und fbi bleibt an.

    Wenn ich jedoch das Programm 2 (test2.py) manuell über Putty starte, funktioniert die Eingabe und er beendet fbi, sobald ich den Bildschirm berühre [font="Wingdings"]J[/font]
    Hat einer einen Lösungsvorschlag?

  • Hallo Ralf125,

    kennst Du den Operator

    Code
    &


    schon und dessen Bedeutung beim Aufruf von Programmen? Und insbesondere dessen Funktion für die Lauffähigkeit des Prozesses, der & genutzt hat?


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • hallo Andreas,


    deine Antwort hilft mir nicht weiter... mein Problem ist das Touchscreen welches nicht reagiert da das fbi-Programm im Vordergrund ist. Oder bin ich da auf dem Holzweg??
    Test2.py funktionirt ja über putty (er beendet das Programm)

    Einmal editiert, zuletzt von Ralf125 (9. April 2017 um 15:57)

  • Offenbar kennt er das nicht, sonst hätte er das Problem nicht.
    Nett wäre es, wenn ihm jemand, der sich damit auskennt, erklären würde, was dieser Operator macht.
    Andreas könnte das sicher besser als ich, wenn er wollte. Aber letztlich müsste es so aussehen, dass du hinter dem ersten Programmaufruf ein "&" einfügst, damit der Prozess im Hintergrund weiter läuft, während dein zweites Programm gestartet wird. Dein Toucherkennungsprogramm wird sonst erst gestartet, nachdem fbi geschlossen ist.

    Also ungefähr so:
    os.system("fbi -T 1 -noverbose -a -u -t 4 *.jpg &")
    os.system("sudo ./ test2.py")


    Stimmt das halbwegs, Andreas?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Nee daran liegt es nicht. Das zweite Programm wird ausgeführt!
    Print(„start“) wird im Terminal angezeigt.

    os.system("fbi -T 1 -noverbose -a -u -t 4 *.jpg & sudo ./test2.py")
    führt auch nicht zum Ziel…

    Ich denke, dass ich den falschen Lösungsansatz verfolge. Merkwürdig ist jedoch, wenn ich test2.py über das Terminal ausführe, beendet er fbi, so wie er soll.
    Wenn ich test2.py direkt über den pi starte, zeigt er print(„start“), aber die Eingabe per touch bleibt ohne Reaktion… erst wenn ich ein neues pygame Fenster öffne, tut sich was .

    Kann man nicht das Programm irgendwie in einer neuen Session (wie über putty) starten ?
    Die Bilder sollen wie ein Bildschirmschoner per fbi gezeigt werden und bei Berührung soll das Hauptprogramm weiterlaufen und fbi geschlossen werden… andere Ideen??

    Funktioniert im Hauptprogramm nicht richtig. Er reagiert nach einiger zeit einfach ohne Berührung des Bildschirmes :s (deswegen das zweite Programm)

    Einmal editiert, zuletzt von Ralf125 (9. April 2017 um 23:06)

  • Moin, hat keiner ´ne Idee??
    Das Programm fbi sperrt komplett die pygame eingabe auf dem Touchscreen.
    Es ist keine Eingabe möglich. Führe ich jedoch das Programm test2.py mit Putty aus, (was zum Beenden des fbi Programmes ist) funktioniert die Eingabe!
    Wie starte ich das Programm so als wäre es über putty?

    Einmal editiert, zuletzt von Ralf125 (12. April 2017 um 20:06)

  • :helpnew: Leider immer noch ohne Erfolg … wieso läuft es nur über Putty :wallbash: .

  • Wenn ich einen Taster anschließe, beendet er die Slideshow ohne Probleme.
    Da das Pygame hinter der Slideshow ist, reagiert er nicht auf eine Berührung des Displays.
    Wenn ich nun das Programm via Putty starte, scheint er das Programm auf einer neuen Ebene auszuführen, sodass das Programm wieder auf eine Berührung des Displays reagieren kann.
    Ich komme so einfach nicht weiter. Bin schon einige Stunden dabei - ohne Erfolg.
    Über etwas Unterstützung würde ich mich sehr freuen!
    Ist bestimmt nur eine Kleinigkeit für euch ;)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!