Как мониторить данные с последовательного порта в Ubuntu без физического устройства?

Как мониторить данные с последовательного порта в Ubuntu без физического устройства?
Как мониторить данные с последовательного порта в Ubuntu без физического устройства? - zanderjzr @ Unsplash

Как мониторить данные с последовательного порта в Ubuntu без физического устройства, используя программные решения. Преодоление ограничений одновременного доступа на чтение и запись к последовательному порту.

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

1. Установка программного обеспечения

Прежде чем начать мониторинг данных, нам необходимо установить несколько программ для работы с последовательным портом. В Ubuntu это можно сделать с помощью командной строки и следующих команд:


$ sudo apt-get update
$ sudo apt-get install minicom
$ sudo apt-get install socat

Minicom – это полезный инструмент для работы с последовательными портами в Linux, который позволяет нам открыть виртуальный терминал для чтения и записи данных.

Socat – это удобная программа для передачи данных между двумя устройствами через последовательный порт. Мы будем использовать ее для создания виртуального последовательного порта.

2. Создание виртуального порта

Прежде чем начать мониторить данные, мы должны создать виртуальный последовательный порт. Для этого мы будем использовать команду socat.


$ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0

Выполнение этой команды создаст два виртуальных порта (например, /dev/pts/1 и /dev/pts/2), связанных между собой через программу socat.

3. Мониторинг данных

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


$ sudo minicom -D /dev/pts/1

Эта команда откроет терминал minicom и подключится к виртуальному порту /dev/pts/1. Вы сможете видеть все данные, передаваемые через этот порт, в реальном времени.

4. Преодоление ограничений одновременного доступа на чтение и запись

По умолчанию, в Ubuntu существуют ограничения на одновременное чтение и запись в последовательный порт. Однако, с помощью программы socat мы можем обойти эти ограничения.

Для этого откройте новый терминал и выполните следующую команду:


$ sudo socat -d -d pty,raw,echo=0 pty,raw,echo=0

Это создаст еще одну пару виртуальных портов, связанных между собой через программу socat. Теперь у вас будет доступ как на чтение, так и на запись через два отдельных виртуальных порта.

Откройте еще один экземпляр minicom и подключитесь к новому виртуальному порту. Теперь вы сможете одновременно мониторить данные с одного порта и записывать их в другой порт.

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

Заключение

Теперь, благодаря программам minicom и socat, вы можете мониторить данные с последовательного порта в Ubuntu без физического устройства. Вы также научились преодолевать ограничения одновременного доступа на чтение и запись к последовательному порту. Надеюсь, эта статья была полезной для вас!


NevaDev, 20 августа 2023 г., 06:00