Serial Communication zwischen Python und Raspberry Pi aber in Echtzeit

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!
  • Servus zusammen,


    ich habe jetzt folgenden Code für eine Gesichtserkennung geschrieben, die im Anschluss die erkannten Koordinaten an einen Arduino senden soll.


    Mein Problem ist aber jetzt, dass die Koordinaten nicht wie eigentlich gewollt in Echtzeit übertragen werden, sondern erst wenn ich den Code beende.

    Weiß einer wie ich es schaffe die Koordinaten in Echtzeit zu übertragen?


    Danke im Vorraus

  • Hallo Snan,


    die Ausgabe über die serielle Schnittstelle ist gepuffert. Geschrieben wird erst, wenn der Puffer gefüllt ist - oder das Programm beendet wird.


    Du musst jeden Schreibbefehl erzwingen, z.B. mit flush().


    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

    • Icon-Tutorials (IDE: Geany) - GPIO-Library - µController-Programmierung in Icon! - ser. Devices - kein Support per PM / Konversation

    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.

  • Snan Da wird ziemlich sicher nicht das gesendet was Du glaubst was gesendet wird. Schau Dir mal an was `bytes()` mit einer Zahl als Argument als Ergebnis hat. Es ist *nicht* ein Byte mit dieser Zahl als Bytewert.


    Das senden an den Arduino steht an einer ungünstigen Stelle, weil beim ersten Schleifendurchlauf ja noch keine Werte für die Koordinaten ermittelt wurden. Und wenn *kein* Gesicht erkannt wird, werden immer und immer wieder die letzten Koordinaten gesendet. Auch macht es keinen Sinn die gleichen Werte an zwei verschiedene Sätze an Namen zu binden.


    Beim `read()` wird ignoriert ob das überhaupt erfolgreich war.


    Namen werden in Python klein_mit_unterstrichen geschrieben. Ausnahmen sind Konstanten (KOMPLETT_GROSS) und Klassen (PascalCase).


    Quelltext fügt man besser als Text in den Beitrag ein statt als Bild. Im Editor gibt es dafür den </>-Button, dann bleibt die Einrückung erhalten, und es gibt auch Syntaxhighlighting.

    „Eat the rich — the poor are full of preservatives.“ — Rebecca ”Becky” Connor, The Connors