/dev/ttyUSB0 auslesen

Hast Du Probleme mit Hardware, die durch die anderen Foren nicht abgedeckt werden? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
snowy
Beiträge: 125
Registriert: 12.12.2017 22:32:52

/dev/ttyUSB0 auslesen

Beitrag von snowy » 12.11.2023 13:18:49

Hi,
nicht unbedingt ein Debian-Thema, aber ich komme im Moment in der Fehlersuche leider nicht weiter.
Vielleicht hat jemand von Euch einen Tipp für mich.

Ich will ein Gerät mit RS485-Interface an HomeAssistant auf einem Raspi anschließen. Dazu habe ich einen RS485-USB-Stick gekauft.
Der Raspi (mit Debian) erkennt gemäß lsusb den eingesteckten Stick und es kann ein Gerät /dev/ttyUSB0 angesprochen werden.
HomeAssistant läuft in einem Docker-Container und lt. Homepage muß dann das Device noch in dem Container bekannt gemacht werden.
Alles getan, aber es kommt nichts an :(

Bevor ich jetzt im Homeassistant oder Docker-Ebene rumsuche, wollte ich erst prüfen, ob über das Kabel überhaupt Daten auf der System-Ebene ankommen.
Entweder kommt wirklich nichts oder ich verwende die falschen Tools zum prüfen :oops:
Letzteres wollte ich nun ausschließen und deshalb hier mal fragen
kann ich mich wirklich mit tail -f /dev/ttyUSB0 verbinden und müßte da irgendwelche Zeichen angezeigt werden, wenn etwas kommt?
Ich habe dann mal noch nachfolgenden Perl-Code gefunden, aber da kommt auch nichts

Ist das alles okay und ich kann damit mit Sicherheit sagen, daß über das Kabel keine Signale ankommen?

Code: Alles auswählen

#!/usr/bin/perl
use Device::SerialPort;
my $port = Device::SerialPort->new("/dev/ttyUSB0");

$port->baudrate(9600); # Configure this to match your device
$port->databits(8);
$port->parity("none");
$port->stopbits(1);
while (1) {
    my $char = $port->lookfor();
    if ($char) {
        print "Received $char \n";
    }
    $port->lookclear;
}

rhHeini
Beiträge: 2318
Registriert: 20.04.2006 20:44:10

Re: /dev/ttyUSB0 auslesen

Beitrag von rhHeini » 12.11.2023 15:08:46

Schau mal auf die Verdrahtung. Wenn ich mich recht erinnere ist RS485 ein differenzielles Sinal und liegt auf anderen Pins wie bei RS232. Und es könnte sein dass Du einen Abschlusswiderstand zwischen die + und - Leitung reinlöten musst.

snowy
Beiträge: 125
Registriert: 12.12.2017 22:32:52

Re: /dev/ttyUSB0 auslesen

Beitrag von snowy » 12.11.2023 16:17:34

Danke für den Hinweis.
der USB-Stick (https://www.amazon.de/dp/B09P8CX69G) ist eigentlich genau für diesen Anwendungsbereich, ich gehe davon aus, daß der schon alle Komponenten (ggfs. Widerstände etc.) schon verbaut hat. Andere Anwender haben diesen problemlos im Einsatz, von daher hoffe ich, daß es an diesem Teil nicht liegt.
Oje, von Widerständen, Löten etc. habe ich mal so gar keine Ahnung :oops:

aber mein Ansatz mit dem Auslesen war schon richtig?

rhHeini
Beiträge: 2318
Registriert: 20.04.2006 20:44:10

Re: /dev/ttyUSB0 auslesen

Beitrag von rhHeini » 12.11.2023 17:29:06

Puh, ich hab so etwas wie RS485 mal vor 25 Jahren oder so benötigt, hab die Hardware verantwortet. Und die SW dazu hat jemand anders geschrieben. Frag mich nicht, bin da nicht mehr drin, und mit Perl bin ich auch nie warm geworden. Ist nicht meine Baustelle.

Hab mir den Adapter mal angesehen. Der ist ja ganz einfach. Erst mal die beiden Anschlüsse an dem Adapter umdrehen ob sich dann was tut.

Bist Du Dir sicher das Du an dem anzuschliessenden Gerät die beiden richtigen Drähte abnimmst?

Auf den 120 Ohm würd ich erst mal verzichten, sollte bei kurzen Leitungen auch ohne gehen. Ansonsten wäre so ein 120 Ohm-Drahtwiderstand als letzter Versuch nicht schlecht, den könnte man einfach mit in die Schraubklemmen mit reinstecken.

Soweit mein Senf dazu ...
Zuletzt geändert von rhHeini am 15.11.2023 16:11:18, insgesamt 2-mal geändert.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: /dev/ttyUSB0 auslesen

Beitrag von bluestar » 15.11.2023 15:54:09

Welches Gerät willst du denn darüber auslesen/ansprechen?

snowy
Beiträge: 125
Registriert: 12.12.2017 22:32:52

Re: /dev/ttyUSB0 auslesen

Beitrag von snowy » 19.11.2023 16:02:30

sorry, hatte irgendwie nicht mitbekommen, daß da noch eine Antwort kam.

Das Problem ist inzwischen gelöst, das Problem lag nicht an den vermeintlich fehlenden Daten an der Schnittstelle /dev/ttyUSB0, sondern doch an der Software zur Auswertung dieser Daten, die ich nicht richtig konfiguriert habe :oops:

Aber Fazit ist auch, daß man mit tail oder dem oben genannten Perl-Skript scheinbar keine Daten sieht, denn diese sind die ganze Zeit geflossen, nur habe ich nichts gesehen und deshalb falsch Rückschlüsse gezogen.

Antworten