L'un des éléments indispensables lorsque vous travaillez sur des projets Linux embarqués est d'accéder à votre appareil via l'interface de la console série. Pour cela, l'ordinateur sur lequel vous développez un système embarqué doit disposer d'un port série. Cependant, très peu d'ordinateurs disposent aujourd'hui d'un port série, et c'est pourquoi nous utilisons plutôt des convertisseurs USB vers série.
À la fin, vous aurez une compréhension détaillée de ce que sont les consoles série et de leur fonctionnement sous Linux.
Configuration du convertisseur USB vers série
Presque tous les convertisseurs série USB que vous pouvez trouver sur le marché sont automatiquement reconnus par Linux. Branchez n'importe quel convertisseur USB sur votre ordinateur et utilisez le dmesg commande pour connaître le nom de fichier de l'appareil.
dmesg
Dans l'exemple ci-dessus, vous voyez VirtualBox dans la section fabricant, car l'hôte est une distribution Linux exécutée sur VirtualBox. Ici, le nom du fabricant changera en fonction du convertisseur que vous utilisez. Vous pouvez également voir que le convertisseur série que vous utilisez est connecté au système avec un nom, tel que
ttyUSB0.Vous pouvez utiliser le convertisseur série reconnu par votre système via le fichier de périphérique /dev/ttyUSB0. Selon la distribution que vous utilisez, le fichier de périphérique est automatiquement créé sous le /dev répertoire, affichant les types majeurs, mineurs et de périphérique. Pour les convertisseurs série USB, le schéma de nommage est généralement ttyUSB0, ttyUSB1, et ttyUSBX pour chaque traduction simultanée.
Si vous retirez et réinsérez le convertisseur série USB alors qu'il est utilisé par une application, le système attribue un nouveau numéro au périphérique.
Autorisation d'accès sur les périphériques série
Les privilèges d'accès par défaut des fichiers de périphérique de conversion USB montés sont généralement les suivants :
ls -l /dev/ttyUSB0
# Production
crw-rw 1 root dialout 188, 46 juillet 17 15:34 /dev/ttyUSB0
En examinant la sortie ci-dessus, vous pouvez dire :
- La lettre c au début de la ligne indique qu'il s'agit d'un périphérique basé sur des caractères
- Le propriétaire du fichier est l'utilisateur root et l'utilisateur a privilèges de lecture et d'écriture
- Le groupe propriétaire du fichier est le composer groupe et les utilisateurs inclus dans ce groupe ont également des autorisations de lecture et d'écriture
- Les autres utilisateurs n'ont aucun droit de lecture et d'écriture sur le fichier
Si vous êtes actuellement connecté en tant qu'utilisateur normal, qui n'est pas membre du groupe d'accès distant, vous ne pouvez ni lire ni écrire sur le convertisseur série USB. Pour résoudre ce problème, vous devez soit faire de l'utilisateur actuel un membre du groupe de numérotation, soit modifier le udev fichiers de règles sur votre système.
Vous pouvez utiliser la première technique pour plus de commodité. Pour commencer, utilisez le identifiant commande pour déterminer à quels groupes votre utilisateur appartient :
identifiant
Ajoutez votre utilisateur au groupe à l'aide de la adduser ou mod utilisateur commande:
# Pour Fedora
sudo usermod -aG dialout NOM D'UTILISATEUR# Pour Debian
sudo adduser USERNAME dialout
# Pour l'arc
sudo usermod -a -G uucp NOM D'UTILISATEUR
L'appartenance au groupe la procédure est maintenant terminée. Cependant, le système vérifie les informations d'appartenance au groupe lors de la première étape de connexion dans les sessions graphiques, puis les fournit à tous les processus en cours d'exécution.
Par conséquent, vous devez vous déconnecter de la session graphique en cours, puis vous reconnecter ou redémarrer votre machine pour que les modifications prennent effet. Vous aurez un accès en lecture/écriture au convertisseur série après avoir terminé cette opération.
Comment se connecter aux consoles série sous Linux
Lorsque vous avez besoin d'accéder à un ordinateur ou à une console réseau, vous pouvez vous référer aux applications de la console série. Habituellement, vous avez besoin d'un accès via SSH pour le faire. Cependant, d'un point de vue logiciel et matériel, dans certains cas, il est également possible d'accéder à la console en utilisant uniquement les ports série.
Vous trouverez ces types d'exemples le plus souvent sur des ordinateurs plus anciens. Vous trouverez ci-dessous certaines des meilleures applications de console série qui fonctionneront pour vous.
Utilisation de Minicom
Vous pouvez installer Minicom, une application ancienne mais toujours fonctionnelle sur votre système comme suit :
# Sur Fedora, CentOS et RHEL
sudo miam installer mini-com# Sur Debian et Ubuntu
sudo apt-obtenir installer minicom
# Sur Arch Linux
claquement sudo installer mini-com
Lorsque vous lancez l'application pour la première fois, elle essaiera d'ouvrir un fichier de périphérique tel que /dev/modem par défaut. Il se termine lorsqu'il ne trouve pas le fichier. Pour pallier ce problème, vous pouvez lancer directement l'écran des paramètres de l'application avec le -s paramètre:
minicom -s
Vous pouvez définir le nom de l'appareil en appuyant sur la touche UN et la vitesse du port série en appuyant sur la E clé. Puis quand vous sortez avec Sortir, vous pouvez utiliser le port série correspondant.
Sur l'écran principal de l'application, vous pouvez revenir à l'écran de configuration avec Ctrl + A + O, quittez l'application avec Ctrl + A + X, activez le mode retour à la ligne avec Ctrl + A + W, et obtenir de l'aide avec d'autres raccourcis avec Ctrl + A + Z.
Utilisation de GTKTerm
Minicom est généralement utilisé par les utilisateurs avancés de Linux et n'est donc pas recommandé aux débutants. Les nouveaux venus Linux peuvent installer GTKTerm, un émulateur graphique de terminal série pour Linux. Vous pouvez installer l'application sur votre système à l'aide des commandes suivantes :
# Sur Fedora, CentOS et RHEL
sudo dnf-y installer gtkterm# Sur Debian et Ubuntu
sudo apt-obtenir installer gtkterm
# Sur Arch Linux
oui -S gtkterm
Lorsque vous lancez l'application, vous devrez définir le nom de l'appareil et les paramètres de vitesse via le Configuration > Port menus comme suit :
Enregistrez les paramètres par défaut pour faciliter une utilisation ultérieure.
Utilisation de l'écran
Si vous êtes familier avec l'écran pour la gestion multi-terminal, vous saurez que vous pouvez également l'utiliser pour l'accès au port série. Voici les commandes pour l'installer :
# Sur Fedora, CentOS et RHEL
sudo dnf-y installer filtrer# Sur Debian, Ubuntu et Linux Mint
sudo apt-obtenir -y écran d'installation
# Utiliser Snap pour d'autres distributions
claquement sudo installer filtrer --classique
Après l'installation, vous pouvez exécuter une commande comme celle-ci pour vous connecter à une console série :
écran /dev/ttyUSB0 115500
Vous pouvez maintenant établir une connexion de port série sous Linux
Pouvoir accéder à votre système Linux à l'aide du port série est une fonctionnalité très utile, en particulier lorsque vous ne souhaitez pas connecter un moniteur au SBC (Session Border Controller).
Étant donné que l'autorisation de la console série est intégrée au noyau Linux au moment de la compilation, vous devez avoir au moins une compréhension de base du noyau Linux et de son fonctionnement.