Одним из обязательных элементов при работе над проектами встроенных систем Linux является доступ к вашему устройству через интерфейс последовательной консоли. Для этого компьютер, на котором вы разрабатываете встраиваемую систему, должен иметь последовательный порт. Однако сегодня очень немногие компьютеры имеют последовательный порт, поэтому вместо этого мы используем преобразователи USB в последовательный порт.
К концу вы получите подробное представление о том, что такое последовательные консоли и как они работают в Linux.
Настройка преобразователя USB в последовательный порт
Почти любой последовательный преобразователь USB, который вы можете найти на рынке, автоматически распознается Linux. Подключите любой USB-конвертер к компьютеру и используйте dmesg команда, чтобы узнать имя файла устройства.
dmesg
В приведенном выше примере вы видите VirtualBox в разделе производителя, поскольку хост представляет собой дистрибутив Linux, работающий на VirtualBox. Здесь имя производителя будет меняться в зависимости от используемого вами преобразователя. Вы также можете видеть, что используемый вами последовательный преобразователь подключен к системе с именем, например
ttyUSB0.Вы можете использовать последовательный преобразователь, распознаваемый вашей системой, через файл устройства. /dev/ttyUSB0. В зависимости от используемого вами дистрибутива файл устройства автоматически создается под /dev каталог, показывающий основные, второстепенные типы и типы устройств. Для последовательных преобразователей USB схема именования обычно следующая: ttyUSB0, ttyUSB1, а также ttyUSBX за каждый синхронный перевод.
Если вы удалите и снова вставите последовательный преобразователь USB, когда он используется приложением, система присвоит устройству новый номер.
Авторизация доступа на последовательных устройствах
Права доступа по умолчанию к смонтированным файлам устройств USB-конвертера обычно следующие:
ls -l /dev/ttyUSB0
# Выход
crw-rw 1 root dialout 188, 46 17 июля 15:34 /dev/ttyUSB0
Изучив приведенный выше вывод, вы можете сказать:
- Письмо с в начале строки обозначает, что это символьное устройство
- Владелец файла — пользователь root, и пользователь имеет права чтения и записи
- Владельцем группы файла является набор номера группа и пользователи, включенные в эту группу, также имеют права на чтение и запись
- Остальные пользователи не имеют прав на чтение и запись файла.
Если вы в настоящее время вошли в систему как обычный пользователь, который не является членом группы дозвона, вы не можете читать и записывать в последовательный преобразователь USB. Для решения этой проблемы необходимо либо сделать текущего пользователя членом группы дозвона, либо отредактировать удев файлы правил в вашей системе.
Вы можете использовать первый метод для удобства. Для начала используйте я бы команда, чтобы определить, к каким группам принадлежит ваш пользователь:
я бы
Добавьте пользователя в группу с помощью Добавить пользователя или же пользовательский мод команда:
# Для Федоры
sudo usermod -aG dialout ИМЯ ПОЛЬЗОВАТЕЛЯ# Для Дебиана
sudo adduser ИМЯ ПОЛЬЗОВАТЕЛЯ
# Для Арки
sudo usermod -a -G uucp ИМЯ ПОЛЬЗОВАТЕЛЯ
Членство в группе процедура завершена. Однако система проверяет информацию о членстве в группе на первом этапе входа в систему в графических сеансах, а затем предоставляет ее всем запущенным процессам.
В результате вы должны выйти из текущего графического сеанса, а затем снова войти в систему или перезагрузить машину чтобы изменения вступили в силу. После завершения этой операции у вас будет доступ для чтения/записи к устройству последовательного преобразователя.
Как подключиться к последовательным консолям в Linux
Когда вам нужен доступ к компьютеру или сетевой консоли, вы можете обратиться к приложениям последовательной консоли. Обычно для этого требуется доступ через SSH. Однако с точки зрения программного и аппаратного обеспечения в некоторых случаях также возможен доступ к консоли с использованием только последовательных портов.
Такие примеры чаще всего встречаются на старых компьютерах. Ниже приведены некоторые из лучших приложений для последовательной консоли, которые вам подойдут.
Использование миникома
Вы можете установить Minicom, старое, но все еще работающее приложение в вашей системе, следующим образом:
# В Fedora, CentOS и RHEL
судо ням установить миником# В Debian и Ubuntu
Судо подходитполучить установить миником
# В Arch Linux
sudo snap установить миником
Когда вы запускаете приложение в первый раз, оно попытается открыть файл устройства, такой как /dev/modem по умолчанию. Он завершается, когда не может найти файл. Чтобы решить эту проблему, вы можете напрямую запустить экран настроек приложения с помощью кнопки -с параметр:
миником -с
Вы можете установить имя устройства, нажав кнопку А клавишу и скорость последовательного порта, нажав кнопку Е ключ. Затем, когда вы выходите с Выход, вы можете использовать соответствующий последовательный порт.
Находясь на главном экране приложения, вы можете вернуться к экрану конфигурации с помощью Ctrl + А + О, выйдите из приложения с помощью Ctrl + А + Х, активируйте режим переноса строки с помощью Ctrl + А + W, и получить помощь с другими сочетаниями клавиш с Ctrl + А + Z.
Использование GTKTerm
Minicom обычно используется продвинутыми пользователями Linux и поэтому не рекомендуется новичкам. Новички в Linux могут установить GTKTerm, эмулятор графического последовательного терминала для Linux. Вы можете установить приложение в своей системе, используя следующие команды:
# В Fedora, CentOS и RHEL
судо днф -у установить gtkterm# В Debian и Ubuntu
Судо подходитполучить установить gtkterm
# В Arch Linux
ура -S gtkterm
Когда вы запускаете приложение, вам нужно будет установить имя устройства и параметры скорости через Конфигурация > Порт меню следующим образом:
Сохраните настройки по умолчанию, чтобы их можно было использовать позже.
Использование экрана
Если вы знакомы с screen для управления несколькими терминалами, вы должны знать, что вы также можете использовать его для доступа к последовательному порту. Вот команды для его установки:
# В Fedora, CentOS и RHEL
судо днф -у установить экран# В Debian, Ubuntu и Linux Mint
Судо подходитполучить -у установить экран
# Используйте Snap для других дистрибутивов
sudo snap установить экран --классический
После установки вы можете запустить такую команду для подключения к последовательной консоли:
экран /dev/ttyUSB0 115500
Теперь вы можете установить соединение через последовательный порт в Linux
Возможность доступа к вашей системе Linux через последовательный порт является очень полезной функцией, особенно если вы не хотите подключать монитор к SBC (Session Border Controller).
Поскольку авторизация последовательной консоли встроена в ядро Linux во время компиляции, вы должны иметь хотя бы базовое представление о ядре Linux и его работе.