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 screen
zum Lesen serieller Daten vom Terminal):
screen /dev/ttyUSB0 | nc 192.168.1.20 55555
Beachten Sie, dass Sie Ihr Gerät ändern tty
und 192.168.1.20
durch die IP Ihres PCs ersetzen sollten.
Antwort2
Hilfreich könnte auch sein socat
, ein Mehrzweck-Socket-Tool. Es kann dieselben Dinge nc
wie das, unterstützt aber auch die bidirektionale Weiterleitung zwischen zwei Endpunkten.