Uno de los elementos indispensables cuando se trabaja en proyectos de Linux embebido es acceder a su dispositivo a través de la interfaz de la consola en serie. Para esto, la computadora en la que está desarrollando un sistema embebido debe tener un puerto serie. Sin embargo, muy pocas computadoras hoy en día tienen un puerto serie, y es por eso que usamos convertidores de USB a serie en su lugar.
Al final, tendrá una comprensión detallada de qué son las consolas seriales y cómo funcionan en Linux.
Configuración del convertidor de USB a serie
Linux reconoce automáticamente casi cualquier convertidor serie USB que pueda encontrar en el mercado. Conecte cualquier convertidor USB a su computadora y use el dmesg Comando para averiguar el nombre de archivo del dispositivo.
dmesg
En el ejemplo anterior, verá VirtualBox en la sección del fabricante, ya que el host es una distribución de Linux que se ejecuta en VirtualBox. Aquí, el nombre del fabricante cambiará según el convertidor que esté utilizando. También puede ver que el convertidor en serie que está utilizando está conectado al sistema con un nombre, como
ttyUSB0.Puede usar el convertidor en serie reconocido por su sistema a través del archivo del dispositivo /dev/ttyUSB0. Dependiendo de la distribución que utilice, el archivo del dispositivo se crea automáticamente bajo el /dev directorio, que muestra los tipos principales, secundarios y de dispositivos. Para los convertidores serie USB, el esquema de nombres suele ser ttyUSB0, ttyUSB1, y ttyUSBX por cada traducción simultánea.
Si extrae y vuelve a insertar el convertidor serie USB mientras una aplicación lo está utilizando, el sistema emite un nuevo número para el dispositivo.
Autorización de acceso en dispositivos serie
Los privilegios de acceso predeterminados de los archivos del dispositivo convertidor USB montados suelen ser los siguientes:
ls -l /dev/ttyUSB0
# Producción
crw-rw 1 marcación raíz 188, 46 17 de julio 15:34 /dev/ttyUSB0
Al examinar la salida anterior, puede decir:
- La carta C al comienzo de la línea indica que se trata de un dispositivo basado en caracteres
- El propietario del archivo es el usuario raíz y el usuario tiene privilegios de lectura y escritura
- El propietario del grupo del archivo es el marcar hacia afuera el grupo y los usuarios incluidos en este grupo también tienen permisos de lectura y escritura
- El resto de los usuarios no tienen ningún derecho de lectura y escritura sobre el archivo.
Si actualmente está conectado como un usuario normal, que no es miembro del grupo de acceso telefónico, no puede leer ni escribir en el convertidor serie USB. Para resolver este problema, debe hacer que el usuario actual sea miembro del grupo de marcación o editar el udev archivos de reglas en su sistema.
Puede utilizar la primera técnica por conveniencia. Para comenzar, utilice el identificación comando para determinar a qué grupos pertenece su usuario:
identificación
Agregue su usuario al grupo usando el agregar usuario o modo de usuario dominio:
# Para Fedora
sudo usermod -aG dialout NOMBRE DE USUARIO# Para Debian
sudo adduser NOMBRE DE USUARIO dialout
# para arco
sudo usermod -a -G uucp NOMBRE DE USUARIO
La pertenencia al grupo el procedimiento ahora está completo. Sin embargo, el sistema verifica la información de membresía del grupo durante el primer paso de inicio de sesión en sesiones gráficas y luego la proporciona a todos los procesos en ejecución.
Como resultado, debe cerrar sesión en la sesión gráfica actual y luego volver a iniciarla o reinicie su máquina para que las modificaciones surtan efecto. Tendrá acceso de lectura/escritura al dispositivo convertidor en serie después de finalizar esta operación.
Cómo conectarse a consolas serie en Linux
Cuando necesite acceder a una computadora o consola de red, puede consultar las aplicaciones de la consola en serie. Por lo general, necesita acceso a través de SSH para hacerlo. Sin embargo, desde un punto de vista de software y hardware, en algunos casos, también es posible acceder a la consola usando solo puertos serie.
Encontrará este tipo de ejemplos con mayor frecuencia en computadoras más antiguas. A continuación se presentan algunas de las mejores aplicaciones de consola serie que funcionarán para usted.
Usando Minicom
Puede instalar Minicom, una aplicación antigua pero que aún funciona en su sistema de la siguiente manera:
# En Fedora, CentOS y RHEL
sudo mmm Instalar en pc minicom# En Debian y Ubuntu
sudo apt-obtener instalar minicom
# En Arch Linux
complemento sudo Instalar en pc minicom
Cuando inicie la aplicación por primera vez, intentará abrir un archivo de dispositivo como /dev/modem por defecto. Termina cuando no puede encontrar el archivo. Para superar este problema, puede iniciar directamente la pantalla de configuración de la aplicación con el -s parámetro:
minicom-s
Puede configurar el nombre del dispositivo presionando el botón A y la velocidad del puerto serie presionando la tecla mi llave. Luego, cuando salga con Salida, puede utilizar el puerto serie correspondiente.
Mientras está en la pantalla principal de la aplicación, puede volver a la pantalla de configuración con Ctrl + A + O, salga de la aplicación con Ctrl + A + X, active el modo de ajuste de línea con Ctrl + A + Wy obtener ayuda con otros accesos directos con Ctrl + A + Z.
Usando GTKTerm
Minicom generalmente es utilizado por usuarios avanzados de Linux y, por lo tanto, no se recomienda para principiantes. Los recién llegados a Linux pueden instalar GTKTerm, un emulador de terminal serial gráfico para Linux. Puede instalar la aplicación en su sistema usando los siguientes comandos:
# En Fedora, CentOS y RHEL
sudo dnf-y Instalar en pc gtkterm# En Debian y Ubuntu
sudo apt-obtener instalar gtkterm
# En Arch Linux
yay-S gtkterm
Cuando inicie la aplicación, deberá configurar el nombre del dispositivo y los parámetros de velocidad a través del Configuración > Puerto menú de la siguiente manera:
Guarde la configuración como predeterminada para facilitar su uso posterior.
usando la pantalla
Si está familiarizado con la pantalla para la administración de múltiples terminales, sabrá que también puede usarla para acceder al puerto serie. Aquí están los comandos para instalarlo:
# En Fedora, CentOS y RHEL
sudo dnf-y Instalar en pc pantalla# En Debian, Ubuntu y Linux Mint
sudo apt-obtener -y pantalla de instalación
# Usar Snap para otras distribuciones
complemento sudo Instalar en pc pantalla --clásico
Después de la instalación, puede ejecutar un comando como este para conectarse a una consola serie:
pantalla /dev/ttyUSB0 115500
Ahora puede establecer una conexión de puerto serie en Linux
Poder acceder a su sistema Linux usando el puerto serial es una característica muy útil, especialmente cuando no desea conectar un monitor al SBC (Session Border Controller).
Dado que la autorización de la consola serie está integrada en el kernel de Linux en el momento de la compilación, debe tener al menos un conocimiento básico del kernel de Linux y su funcionamiento.