Forum: PC-Programmierung Probleme mit der Shell bei "cat /dev/ttyUSB0" unter Linux


von ATH (Gast)


Lesenswert?

Hallo Zusammen,
ich trau mich fast nicht zu fragen aber ich brauche Starthilfe beim 
Auslesen eines USB-Devices.

Im Moment versuche ich von meiner RESOL Solarsteuerung über das 
USB-RS485 Interface unter Linux den Datenstrom auszulesen - ohne 
irgendwelche weitere Funktionen.

Dazu verwende ich "cat /dev/ttyUSB0".
Das Device wird von Linux erkannt und das ttyUSB0 wird angelegt.

Die Resol Steuerung verschickt ohne weiteres Zutun auf der Schnittstelle 
ihre Daten und ich will im Moment nur den Datenstrom zeilenweise auf 
meiner shell sehen (bash).

Wenn ich den "cat" Befehl absetze, bekomme ich Daten, aber leider sehen 
die nicht so aus, wie es laut Spezifikation von RESOL sein soll. 
Ausserdem interpretiert meine Shell den Hex-Code der da reinkommt sofort 
und nach ein paar Sekunden wird die Shell "unbrauchbar" und verwandelt 
die Darstellung in so eine Art "ASCII-Art" Darstellung mit allen ASCII 
Zeichen die es so gibt... .

Wenn ich die USB Schnittstelle auf dem selben Laptop unter WinXP mit der 
RESOL Software auslese funktioniert es - Hardware kann es nicht sein.


Frage: Wie kann ich unter Linux gut eine USB Schnittstelle auf Shell 
Ebene auslesen (z.B. mit cat), ohne das die Shell die Daten 
interpretiert?
Oder wie muss ich die Shell konfigurieren, dass die nicht "mitdenkt"?

Es kommt mir vor wie eine Unix/Linux Shell Basic Frage aber ich find den 
Anfang einfach nicht...

Danke für eine hilfreiche Einweisung ;-)

Gruss,
Axel

von Yalu X. (yalu) (Moderator)


Lesenswert?

Hast du die Baudrate richtig eingestellt (mit stty)?

Sendet die Solarsteuerung druckbare ASCII-Zeichen oder Binärdaten? Bei
Binärdaten solltest du od statt cat verwenden, um die Daten oktal
oder hexadezimal anzeigen zu lassen.

von ATH (Gast)


Lesenswert?

Hallo Yalu

ja - ich habe die Schnittstelle auf 9600 usw. (wie gefordert) mit stty 
eingestellt.

Ich werde mal "od" versuchen. Vielen Dank für den Tip.

Gruss,
Axel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.