Ошибка подключения последовательного порта к tcp с помощью socat

Я работаю над встроенной платой, на которой работает ОС Openwrt. одна плата принимает ввод через последовательный порт и должна перенаправлять TCP-порт (например, 192.168.1.1).

другая плата является приемником, который получает данные по TCP и пересылает на последовательный выход (т.е. ip 192.168.1.2)

для платы tx ниже команды isy

socat pty,link=$HOME/dev/ttyS2,raw,echo=0,waitslave 192.168.1.2:port.
for rx side
socat tcp-l:5000,reuseaddr,fork file:/dev/ttyS2,nonblock,raw,echo=0.

Проблема: - передача происходит, если данные отправляются с бортового терминала.

Но если я подключаюсь через последовательный USB-конвертер к ноутбуку и пытаюсь отправить данные, он не работает. На принимающей стороне я могу видеть вывод на ноутбуке, а не на плате.


person alex_tony    schedule 21.11.2017    source источник


Ответы (1)


Я нашел обходной путь и решение.

вместо того, чтобы связать порт, я сделал это на стороне tx и работал нормально. размещение ответа ниже, если кто-то найдет это полезным для них.

socat file:/dev/YourSerialPort,baudrate,raw,echo=0 tcp:ipaddr:port

на принимающей стороне socat tcp-l:port,reuseaddr,fork file:/dev/YourSerialPort,baudrate,nonblock,echo=0,raw

Спасибо.

person alex_tony    schedule 22.11.2017