9

I would like to know if exists some utility that connects to serial port and redirect input and output to a tcp port. I need this for a Java application, I need to write and read to a serial port but seems very hard... java will better work with socket connection.

MIND: I found a lot of "virtual com to tcp" but I have a real com! And I want to connect to its.

Thanks.

3 Answers 3

14

It's pretty easy. Under Linux there are serial devices, redirection and netcat for that. On the server you can run a netcat process listening on a given tcp port with stdin and stdout redirected to/from the serial device like that:

nc -l 9801 > /dev/ttyS0 < /dev/ttyS0

Where 9801 in this example is the tcp port to listen on. You can setup the serial port with setserial(8).

These device files also exist on cygwin (Windows).

2
  • Is there a solution also for windows? Usign java I would like to run my app as multiplatform.
    – Tobia
    Jul 2, 2013 at 12:18
  • Windows: Use Hub4Com, see my gist Linux: With added redirect of input and output to log-files: cat /dev/ttyUSB0 | tee /var/log/lyngdorfSerial.ComToTcp.log | netcat -l 7000 | tee /var/log/lyngdorfSerial.TcpToCom.log > /dev/ttyUSB0 & see full script
    – arberg
    Nov 25, 2018 at 10:24
9

I think socat has the functionality you are looking for as well.

$ socat TCP-LISTEN:4161,fork,reuseaddr FILE:/dev/ttyUSB0,b57600,raw
0

The thing is that you can redirect your serial port with the software, like this , for example https://www.eltima.com/serial-port-redirector/

But, still it will redirect the data from the serial port to another machine without serial connection, thus creating a virtual serial com.

1
  • your answer is like a comment
    – Sam
    Apr 27, 2017 at 9:01

Not the answer you're looking for? Browse other questions tagged .