Wie sende ich Daten vom seriellen Port über WLAN?

Wie sende ich Daten vom seriellen Port über WLAN?

Ich habe ein Mikrocontrollergerät, das Daten von Sensoren liest und über einen Seriell-zu-USB-Konverter (ftdi232-Kabel) sendet. Dieser Seriell-zu-USB-Konverter ist an einen ARMv7-Minicomputer angeschlossen -CuBoxmit Ubuntu 13.04. Ich habe auch einen WiFi-USB-Adapter an die CuBox angeschlossen.

Ich möchte Daten vom seriellen Port lesen, über WLAN senden und auf einem Windows-PC empfangen. Ist das mit verfügbaren Tools ohne Netzwerk-Socket-Programmierung möglich? So etwas wie eine Pipe/Brücke/Umleitung zwischen dem seriellen Port und WLAN. Ich muss nicht mit dieser Box kommunizieren, daher reicht ein konstanter und einseitiger Datenstrom über WLAN aus.

Vielen Dank für alle Ressourcen und Ideen zum Einrichten dieser Kommunikation.

Antwort1

Verwenden Sie Ncat (http://nmap.org/ncat/). Es ist plattformübergreifend und in vielen GNU/Linux-Distributionen standardmäßig installiert.

Hören Sie auf Ihrem PC mit Ncat zu (hier verwenden wir Port 55555, aber Sie können jeden beliebigen Port verwenden):

nc -l 55555

Stellen Sie auf Ihrer CuBox eine Verbindung zum Listener her:

nc <Your PC's IP> 55555

Wenn Sie dann etwas in Ihre CuBox eingeben, wird es an Ihren PC gesendet (geben Sie etwas ein und drücken Sie die Eingabetaste, um zu sehen, wie es funktioniert).

Mit Bash können Sie Ihre seriellen Daten, die Sie in der CuBox über USB empfangen haben, problemlos an umleiten nc. Beispiel (Verwendung screenzum Lesen serieller Daten vom Terminal):

screen /dev/ttyUSB0 | nc 192.168.1.20 55555

Beachten Sie, dass Sie Ihr Gerät ändern ttyund 192.168.1.20durch die IP Ihres PCs ersetzen sollten.

Antwort2

Hilfreich könnte auch sein socat, ein Mehrzweck-Socket-Tool. Es kann dieselben Dinge ncwie das, unterstützt aber auch die bidirektionale Weiterleitung zwischen zwei Endpunkten.

verwandte Informationen