
У меня есть приложение, работающее на Linux (Ubuntu), которому требуется оборудование, подключенное к последовательному порту.
Я хочу, чтобы это оборудование было на машине с Windows (XP SP3) в другом месте моей локальной сети.
Итак, мне нужен сервер последовательного порта на Windows-компьютере, чтобы взять Com1 и подключиться к TCP/IP. Затем, клиент на Linux-компьютере, чтобы подключить TCP/IP к порту /dev/tty2.
Поскольку они кроссплатформенные, я думаю, что редиректоры должны соответствовать RFC 2217. Но я полагаю, что не соответствующее требованиям решение одного производителя, которое можно установить на обеих платформах, может сработать.
Однако оно должно быть бесплатным.
Я знаю о существовании «ser2net» в Ubuntu и пытаюсь разобраться с этим.
Спасибо за помощь, Марк.
решение1
Хорошо, я думаю, что понял.
На Linux-компьютере я установил и использовал командусокат, таким образом:
sudo socat -d -d pty,link=/dev/ttys1,raw,echo=0,waitslave tcp:192.168.1.95:3000;
(обратите внимание на строчную букву s в ttys. Похоже, в моем приложении это разрешено.) Это создало ссылку с именем /dev/ttys1, которая указывает на /dev/pts/1.
Тогда в Windows я используюпиракомздесьУдаленный COM-порт Pira CZ | Pira.cz.
Я настроил его на использование Com1 (где расположено мое оборудование) и того же порта, что и выше (3000).
Я сейчас работаю над разрешениями. И мое приложение, и socat жалуются, если я не ставлю судовпереди, но я думаю, что справлюсь.
Остается только посмотреть, насколько это будет надежно. Если piracom или socat отключатся, было бы неплохо иметь автоматизированный скрипт для их обнаружения и исправления.
Отметка.