Как связать два последовательных порта в GNU/Linux?

Мне нужно, чтобы один последовательный порт принимал данные, а другой - для передачи тех же данных. Как мне сделать такую ​​настройку в GNU/Linux. Один будет портом, созданным Bluetooth, а другой - адаптером USB-последовательный порт.

Скорее всего, я буду использовать новейшую версию 64-битного Mint (12, если я правильно помню).

2 ответа

Решение

socat может обрабатывать последовательные порты.

Обычно он используется с сетевыми интерфейсами и может передавать данные, но он также обрабатывает последовательные устройства TTY. Примеры в приведенной выше ссылке не включают последовательную ретрансляцию, но из этих примеров вы, вероятно, сможете определить параметры команды, которые должны выполнить это.


Обновить:

Чтобы связать последовательный порт ttyS0 с другим последовательным портом:

 socat /dev/ttyS0,raw,echo=0,crnl /dev/ttyS1,raw,echo=0,crnl

от http://technostuff.blogspot.co.uk/2008/10/some-useful-socat-commands.html

У socat также есть опции, позволяющие при желании регистрировать передаваемые данные.

Для быстрой и грязной процедуры настройте программу эмулятора терминала, например, minicom, для каждого последовательного порта. Это даст вам интерактивный полнодуплексный интерфейс для передачи текста между портами. Несколько модемных протоколов передачи встроены для передачи файлов и двоичных данных.

Для более сложной передачи данных, например, обработки какого-либо пользовательского формата данных / протокола, вам нужно будет написать программу для доступа к последовательному порту для обработки данных.

ОБНОВИТЬ

Пожалуйста, предоставьте более подробную информацию о том, что вы пытаетесь сделать. Оба последовательных порта должны быть подключены к одному и тому же компьютеру или каждый порт к одному ПК? Есть ли какая-либо причина, по которой два последовательных порта не могут быть соединены друг с другом, если это является целью этого "вопроса о связывании"?

Поскольку один из "последовательных портов" является адаптером USB-RS232, нет необходимости подключать каждый последовательный порт через ПК. Соедините два последовательных порта друг с другом (может потребоваться подключение адаптера), а затем подключите USB к ПК. Используйте программу-эмулятор терминала для работы с одним последовательным портом, подключенным к ПК.

Bluetooth <---->  USB adapter  <--->  PC
Другие вопросы по тегам