traffic aus dem Port ttyAMA0 lesen

  • Moin alle zusammen,


    ich arbeite mit der Raspberry Pi3b und einem Shield, die als Busankopplung zu einem Bussystem dient.

    Die Verbindung zwischen beide Geräte erfolg über die serielle Port ttyAMA0.

    Ich schicke solche Frames über die Konsole, um z.B. einen Licht zu schalten (das Licht schaltet auch, bzw. die Kommunikation besteht):


    echo -en '\x68\x0C\x0C\x68\x53\x11\x00\xBC\xE0\x00\x00\x0A\x00\x01\x00\x80\x8B\x16' > /dev/ttyAMA0


    Ich würde nun gerne lesen was auf dem -tx dieser Schnittstelle passiert, bzw. die Frames lesen, die ich auf dem Bus schicke.

    Kann ich es irgendwie über den Terminal sehen, oder sollte ich irgendein Tool installieren?


    Danke!!

    Golpe

    Grüße aus Berlin,


    Golpe





  • Mit minicom kann man Daten an ein serielles Port schicken und auch davon empfangen.


    Befehle mit 0x00 und 0x80 sind vermutlich schwierig zu tippen, und auch die Antwort wird nicht einfach zu verstehen sein.


    In einem solche Fall wuerde ich zu einem selbst geschriebenen Programm raten...

  • Ein eigenes Programm habe ich schon.

    Das Problem ist eigentlich, dass wenn ich den o.g. Befehl in meinem c++ programm implementiere mit der Funktion system() schaltet das Licht nicht.

    Wenn ich den Befehl direkt in die Konsole eingebe, dann ja.

    Deswegen wollte ich sehen wie der frame in beide Fälle aussieht

    Grüße aus Berlin,


    Golpe





  • Moin Golpe,


    hast du schon mal versucht die TX-Ltg auf die RX-Ltg zu legen? Alles ohne das Shield.


    Ich bin mir nur nicht sicher ob ein Terminalprogramm die /dev/ttyAMA0 blockiert? Oder ob man lesend auf die Schnittstelle zugreifen kann. Versuch wäre es wert.


    Einen 2ten RPi hast du nicht??


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.

  • > Deswegen wollte ich sehen wie der frame in beide Fälle aussieht

    In diesem Fall nimmt man einen Serial-Analyzer und schaut sich das an.


    Die sind allerdings voellig aus der Mode gekommen, ich wuesste gar nicht was man heute noch bekommt...


    Im Notfall kann man auch die TX-Leitung anzapfen und mit einem PC, Raspberry oder aehnlich pruefen was da kommt.


    So ungefaehr hd /dev/ttyAMA0 :)

  • Es gab bei Linux schon immer mehrere Seirial Monitor Tools (AKA Serial Sniffer)

    [Google "Linux serial sniffer"]


    Welche aber Deine Distribution zur Installation bereitstellt, weiss ich nicht.



    Servus !

    RTFM = Read The Factory Manual, oder so

  • Vielen Dank euch alle!,


    ich habe eine Lösung gefunden.

    Mit dem Befehl

    Code
    sudo socat -x /dev/ttyAMA0,raw,echo=0,crnl PTY,linkdev/ttyV1,raw,echo=0,crnl

    kann ich sehen was auf tty passiert und in welche Richtung

    Output:

    Grüße aus Berlin,


    Golpe





  • Moin Golpe,


    danke für die Rückmeldung! So haben auch andere da was von.


    Dann, bitte, noch dein Thema als erledigt markieren.

    Das geht oben bei "Thema bearbeiten".


    Danke!


    Gruss Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"

    Vielleicht trifft man sich in der RPi-Plauderecke.