У меня есть сценарий, в котором я продемонстрировал своей группе @ work, как поделиться очень дорогим USB-симулятором пациента, подключенным к Raspberry Pi (Debian), используя socat
. Группа хочет иметь возможность по запросу иметь двунаправленное соединение с последовательным устройством через Ethernet. На данный момент у меня есть устройство, транслирующее через Telnet.
socat tcp-l:23,reuseaddr,fork,crlf file:/dev/ttyUSB0,echo=0,b115200,raw,crnl,icanon=1
Мне нужно настроить потребительскую сторону, при которой пользователь Windows подключается к порту Telnet, но перенаправляет ввод-вывод на доступный COM-порт на своей машине. Я думал, что Cygwin и socat
со стороны Windows, но я не очень разбираюсь в Windows.
Любые идеи?
Я понял ваш вопрос, поэтому вы хотите, чтобы компьютер с Windows мог совместно использовать последовательный порт так же, как вы можете сделать Linux-сервер для совместного использования порта с помощью socat.
Например, в sourceforge.net есть приложения с открытым исходным кодом, которые могут соединять TCP-сокет с последовательным портом в Windows. Кроме того, просто введите в Google "серийный номер по IP" или "с IP по серийный номер". Один простой пример - "SerialToIP". http://sourceforge.net/projects/serialtoip/?source=directory Он разработан на C #. Доступны версии для командной строки и графического интерфейса, но управление последовательным портом минимально, но этого может быть достаточно для ваших нужд на основе примера socat.
В зависимости от того, насколько подробный контроль последовательного порта у вас есть, и если ваше приложение должно запускаться независимо от того, вошел ли пользователь Windows в систему или нет, вы должны выбрать приложение, которое соответствует вашим потребностям. Приложения с графическим интерфейсом пользователя в Windows по умолчанию требуют, чтобы пользователь вошел в систему для работы.
Кстати, ваша команда socat не имеет ничего общего с протоколом Telnet. Вы просто создаете чистый и простой «канал» TCP / IP, который подключается к последовательному порту. Любые возможные протоколы верхнего уровня, передаваемые внутри этой «трубы», не имеют отношения к вопросу и ответам.
Вы можете использовать программный перенаправитель Последовательный / IP от Tactical Software для этого.
Последовательный / IP создаст виртуальный COM-порт, который можно связать с TCP / IP-адресом конечной точки.
После установки Serial / IP выберите номер виртуального COM-порта, затем введите IP-адрес Raspberry PI, порт TCP (в данном случае 23) и выберите Telnet в качестве протокола.
Теперь, когда приложение на ПК с Windows открывает виртуальный COM-порт, оно будет подключено к симулятору USB.