Serial Port abhören auf RX und TX

A

Andi_k

Gast
Hallo zusammen,

ich möchte ein kleines Java Programm schreiben um eine serielle Verbindung zwischen zwei Geräte "abzuhören". Dazu habe ich mir die Signale RX, TX und Ground abgeklemmt und auf einen seriellen Stecker gelegt der dann ans Notebook kommt.

Nun möchte ich gerne, dass ich die einzelenen Bytes, die jeweils auf RX und TX ankommen, mit einem Java Tool auswerten und loggen.

Ist das mit der Java Erweiterung-RXTX möglich?

Wäre über eine Hilfe hierbei sehr dankbar!

Gruß Andi
 
A

Andi_k

Gast
Hey,

das Thema beide Leitungen gleichzeitig abzuhören muss ich mir dann noch genauer anschauen.
Ich habs gerade mal einzeln Versucht. Das hat soweit auch funktioniert. Nur leider habe ich nicht, die einzelnen Bytes in Hex oder bin bekommen, sondern dass was mein Java Programm draus interpretiert.
Das Ergebnis sieht in etwa so aus:
oq � Ő� e sy r �Bb`� e
oq � Ő� e sy r �Bb`� e
oq � Ő� e sy r �Bb`� e
oq � Ő� e sy r �Bb`� e
oq � Ő� e sy r �Bb`� e

Ich vermute mal, dass das meine Frames sind, die ich wie oben erwähnt eignendlich als hex oder bin möchte.
Weiß jemand vieleicht wie ich mir das ganze richtig formatiert ausgeben kann?

So sieht mein Code bis jetzt aus:
Code:
{
                System.out.println("start");
                while ( ( len = this.in.read(buffer)) > -1 )
                {
                    System.out.print(new String(buffer,0,len));
                }
            }

Wär cool wenn mir hier jemand helfen könnte.
Ich will mich hier nur nicht zu lange aufhängen, weil ich eigendlich nur die Bytes brauche, die ich dann anschließend weiter verarbeiten muss.

Also vielen Dank und besste Grüße
Andi
 
A

Andi_K

Gast
Hier der ganze Code der Methode

Code:
byte[] buffer = new byte[1024];
            int len = -1;
            try
            {
                System.out.println("start");
                while ( ( len = this.in.read(buffer)) > -1 )
                {
                    System.out.print(new String(buffer,0,len));
                    buffer[0].byteValue();
                }
            }

Gruß Andi
 

HoaX

Top Contributor
Dein Array enthält ja schon die Bytes, damit kannst du machen was du willst. Was für Daten erwartest du denn? Text? Evtl. ist auch eine Konfiguration vom Port falsch... aber das musst du wissen.

Edith: Ich hab das jetzt gerade erst gelesen dass du die Kommunikation belauschen willst: Das wird so nicht funktionieren. Am einfachsten ist es wenn du dich komplett dazwischenschaltest und die Daten von einem Port auf den anderen schiebst und umgekehrt. Einfach aufklemmen funktioniert nicht.
Edith2: Gerade nochmal nachgelesen: Bei Mikrocontroller.net wird einfach aufklemmen von manchen empfohlen. Bei mir hatte das damals aber nicht funktioniert, da der weitere Port die Kommunikation gestört/Signale verfälscht hat.
 
Zuletzt bearbeitet:
A

Andi_K

Gast
Hallo HoaX,

ich habs jetzt grad noch mal getestet.
Ich hänge mit meinem Rx(vom Laptop) entweder auf Channel 2 oder 3 und mit meinem Ground(vom Laptop) auf Channel 5.

Soweit funktioniert alles sauber. Ich bekomme meine Frames/Bytes schön im Hex Format und kann diese nun Auswerten.

Das einzige was die serielle Verbindung noch nicht mag, ist wenn ich noch mein Tx(vom Laptop) auf den anderen Channel 2 oder 3 aufhäng. Es scheint dann so als ob ich die Verbindung unterbreche. Bei mir kommt nichts mehr an und meine Geräte sagen Verbindung unterbrochen.

Vielleicht ist es ja Möglich mit einem 2. seriellen Port den anderen Channel auszulesen.

Ich werd mich mal nochmal melden und dann darüber berichten.

Gruß Andi
 

HoaX

Top Contributor
Dürfte jedenfalls kein Java-Problem sein.

Stell doch mal einen Schaltplan rein wie es funktioniert und wie nicht, dann kann man/ich ehr weiterhelfen. Verbal wird zu viel wichtiges unterschlagen, bzw. bleibt unklar.
 
G

Gast2

Gast
Da funktioniert so nicht!

1) Java mäßig klappt das schon mit RXTX
2) Elektrotechnisch darf man das so nicht denn:

2.1) RS232 ist keine Busfähige Kommunikation!
2.2) Wenn man es richtig macht, kann man sowohl Rx als uahc Tx mithören (Stichwort SPION)
2.3) MIt 2 Sendern gehts auf keinen Fall, da man durch die beiden Tx Pegel immer übertragungsfehler bekommt!

Mittels Spion kann man eben beide Leitungen (also die komplette Kommunikation von 2 Teilnehmern) abhören, jedoch nicht zeitgleich falls die Kommunikation Vollduplex läuft.

An RS232 "spy" cable

Wenn Vollduplex kommuniziert wird muss man Rx und Tx separat schaltbar machen da sich die Signale sonst überlagern.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Datei senden via Xmodem an Serial-Port Allgemeine Java-Themen 35
J Serial Port Daten empfangen Allgemeine Java-Themen 5
O Serial Port Daten als Tastaturanschlag senden Allgemeine Java-Themen 0
K serial-port Allgemeine Java-Themen 5
A Serial Port Probleme Allgemeine Java-Themen 4
A serial Version UID field of type long Allgemeine Java-Themen 5
Master3000 Java Port reset (Socket) Allgemeine Java-Themen 6
M den richtigen COM-Port finden Allgemeine Java-Themen 1
B Problem mit Virtuellem COM Port Allgemeine Java-Themen 1
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
S RxTx - langsame Port suche Allgemeine Java-Themen 3
N Port festlegen für JXMapViewer Allgemeine Java-Themen 3
G java applet und com-port Allgemeine Java-Themen 7
J Port verwendung Allgemeine Java-Themen 13
J Receive eines Hex-Bytes über COM-Port Allgemeine Java-Themen 4
J String an Port senden Allgemeine Java-Themen 2
F Java <--> Serieller Port Allgemeine Java-Themen 3
N Serielle Schnittstelle / COM-Port auslesen und die empfangenen Daten verarbeiten Allgemeine Java-Themen 1
M Richtigen COM-Port bestimmen Allgemeine Java-Themen 14
M Port-Tunneln Allgemeine Java-Themen 23
H Server Threaded machen. Port-Problem Frage Allgemeine Java-Themen 2
ARadauer Welches Programm hört auf Port? Allgemeine Java-Themen 3
B welchen port muss ich angeben? Allgemeine Java-Themen 11
P Linux port Allgemeine Java-Themen 4
K Java einen Port überwachen lassen Allgemeine Java-Themen 5
G Bibliothek für Port? Allgemeine Java-Themen 2
S Usb Port ansprechen Allgemeine Java-Themen 7
B EventListener zu einem COM Port hinzufügen Allgemeine Java-Themen 10
J COM-Port unter Windows nutzen Allgemeine Java-Themen 2
Z Parallel Port, setzen der einzelnen Pins Allgemeine Java-Themen 4
E Konflikte bei lokaler Adresse/Port Allgemeine Java-Themen 2
S Com-Port auslesen.Probleme Allgemeine Java-Themen 2
E Seriellen Port unter Windows ansprechen Allgemeine Java-Themen 16
C Kommunikation mit USB Port Allgemeine Java-Themen 1
S Abhören der com-Schnittstelle Allgemeine Java-Themen 3
W Cursortasten abhören.... Allgemeine Java-Themen 4
H Tastatur abhören Allgemeine Java-Themen 8

Ähnliche Java Themen

Neue Themen


Oben