Kommunikation über Serielle Schnittstelle überwachen

Hallo Zusammen,

ich bastel gerade an einem Projekt, wo ich über die Serielle Schnittstelle mit einem anderen Ardunio kommuniziere.
Gibt es eine Möglichkeit, mit einfachen Mitteln, diesen Datenverkehr zu belauschen?

Ich würde gerne überprüfen, ob das Protokoll klappt!

Gruß & Danke
Carsten

Kauf dir einen bus pirate von Dangerous prototypes. Der kann das.

Kauf Dir zwei USB seriell Konverter, das ist billiger als ein Buspirate. Oder nimm einen dritten Arduino und programmier ein bischen.

Wenn die 2 Arduinos über Ihre "richtige" USB Schnittstelle überkreuz verbunden sind, dann können die miteinander reden und die 2 USB seriell Konverter lauschen mit und Du musst gar nichts extra kaufen. Du musst nur lernen statt der Arduino IDE ein echtes Terminalprogramm zu benutzen.

Udo, jetzt kann ich Dir nicht folgen. Kannst Du mir das mit dem Verbinden der Adabter ausführlicher erklären?
Grüße Uwe

Ich habe nochmal nachgedacht (kommt vor :wink: )
Reicht es nicht, einfach den Programmieradapter dran zu lassen und die Seriellenschnittstellen über kreuz zu verbinden?
Zum lauschen müsste das doch gehen.

Aber warum ich zwei USB Adapter brauche, erschließt sich mir auch nicht.

@cGiesen: das hatte ich geschrieben. Jetzt bist Du selber drauf gekommen. Wieso musst Du jetzt nochmal nachfragen? Einfach aufbauen und das Ergebnis berichten.

@Uwe: was ich meinte ist wie folgt.
Er nimmt 2 Arduinos, nennen wir sie mal A und B. Jeder Arduino hat eine serielle Schnittstelle. Nennen wir die Pins mal TXA, RXA und TXB, RXB. Er soll TXA mit RXB verbinden und RXA mit TXB. Also "überkreuz". Die Schnittstellenwandler sind auf jeder Seite in der Lage einem Pin zu lauschen TX bzw. RX, je nachdem wie man das sieht. Sagen wir mal TX. Also lauschen beide zusammen auf TXA und TXB. Weil TXA mit RXB und TXB mit RXA verbunden ist, sieht er folglich alle 4 Pin Zustände und folglich die vollständige Kommunikation.

Einziges Problem: die Arduino IDE unterstützt das vermutlich nicht besonders gut --> dediziertes Terminalprogramm und gut ist.

Da du auf beiden Seiten zuhören willst, brauchst du zwei RX Eingänge (daher auch zwei USB Seriell Konverter).
Aber auch zwei Terminal-Programme ( oder eins das zwei Serielle Schnittstellen liest. )
Der Arduino SerialMonitor kennt nur eine, daher muss der zwei mal gestartet werden, mit underschiedlichen COM ports.
Das gleiche gilt aber für andere einfache Terminal-Programme, die ich kenne, auch.

Elegant wäre natürlich, in einem Fenster zu sehen, wie beide Seiten (evtl. gleichzeitig -- voll duplex) senden, oder was genau die jeweilige Antwort war, anstelle die zwei Seiten unabhängig voneinander zu belauschen...

@Udo : Ich hoffe, ich habe deinen Vorschlag so richtig verstanden. Kennst du ein solches "dediziertes Terminalprogramm" ?

Wenn du zwischen zwei Arduino kommunizierst hast du schon zwei Wandler darauf um mitzuhören. Es funktioniert ziemlich einfach mit hterm. HTerm - der-hammer
Da kannst du schön mitschneiden also beide Arduinos ran an den PC und auf den beiden COM Ports lauschen :slight_smile:

Gruß
Dani

@michaelx: ja, so war das gemeint. Terminalprogramme gibt es fast wie Sand am Meer. Ich nehme für sowas Putty. Aber nicht weil es besonders gut wäre, sondern weil ich es kenne und es für meine Zwecke normalerweise ausreicht. Wenn es nicht reicht, dann wechsle ich normalerweise auf Python Skripte oder was auch immer die Plattform auf der ich unterwegs bin gerade hergibt.