Publié par Un commentaire

Attribuer des noms de port USB fixes à votre Raspberry Pi

Raspberry Pi 4 fixed USB port names

Lorsque vous avez plusieurs appareils connectés aux ports USB de votre Raspberry Pi, le numéro du port USB attribués automatiquement peut changer de manière inattendue après un redémarrage. Ceci peut prêter à confusion lors de l’utilisation de ce numéro de port USB dans vos scripts ou flux Node-RED. Votre périphérique assigné à ttyUSB1 pourrait se voir attribuer le numéro du port ttyUSB0 par exemple.

Dans ce tuto, nous apprenons à attribuer un nom de port USB fixe pour chaque appareil connecté. Après avoir terminé ce tuto, vous pourrez constituer une liste de périphériques USB avec un nom de port USB fixe pour chaque appareil connecté. Ceci éliminera toute disparité éventuelle. Ensuite, cela vous permettra d’utiliser cette liste de périphériques USB avec vos propres noms dans vos scripts.

Préparez votre Pi

Pour ce tutoriel, votre Raspberry Pi est supposé utiliser le système d’exploitation Raspberry Pi OS.

Découvrez les appareils connectés

Tout d’abord, nous devons savoir quel appareil a été attribué à quel numéro de port USB. Le moyen le plus simple de comprendre cela est de déconnecter tous les appareils et de redémarrer votre Pi. Une fois que votre Pi est opérationnel, connectez le premier appareil et ouvrez la fenêtre Terminal.

Raspberry Pi terminal icon

Sur la ligne de commande, nous entrons :

dmesg | grep ttyUSB

Raspberry Pi ttyUSB

Faites vous une petite liste manuscrite et notez les informations de votre premier appareil :

  • le nom de votre périphérique (vous ne le trouvez pas dans la fenêtre du terminal, mais vous lui donnez un nom vous-même qui vous permettra de le reconnaître ultérieurement): dans notre cas : DEVICE1
  • les caractères après “usb” : dans notre cas : 1-1.2
  • le port USB attribué automatiquement: dans notre cas : ttyUSB0

Maintenant, branchez votre deuxième appareil et encodez la même commande :

raspberry pi ttyUSB

Examinez la nouvelle ligne de votre terminal et ajoutez les informations suivantes à la liste que vous venez de créer:

  • le nom de votre second appareil : dans notre cas: DEVICE2
  • les caractères après “usb” : dans notre cas : 1-1.3
  • le port USB attribué automatiquement : dans notre cas : ttyUSB1

Continuez ce processus en branchant un par un chaque périphérique supplémentaire à votre Pi si vous avez plus que  deux appareils.

Recherchez les attributs de vos périphériques

Pour pouvoir reconnaître un périphérique connecté ultérieurement, nous allons utiliser certains attributs spécifiques de ce périphérique. Nous recherchons les attributs qui ont des propriétés uniques. Généralement, ces attributs sont les suivants: identifiant du fournisseur, identifiant du produit, numéro de série.

En utilisant les numéros de port USB attribués automatiquement que nous avons notés précédemment, nous sommes en mesure de trouver les attributs de tous nos périphériques. Pour le périphérique connecté à ttyUSB0 par exemple, nous devons entrer la commande suivante dans le terminal :

udevadm info --name=/dev/ttyUSB0 --attribute-walk

Les informations que nous obtenons ici, sont tous les attributs de la chaîne complète de périphériques liés au port USB spécifié. Nous devons maintenant prendre notre liste précédemment écrite et rechercher les caractères après “usb”. Dans notre cas, nous recherchons: “1-1.2”.

Raspberry Pi USB attributes

Dans la liste des attributs, nous devons maintenant choisir des propriétés uniques du périphérique. Dans notre cas, nous prenons les 2 attributs suivants:

  • idProduct : 7523
  • idVendor : 1a86

Notez le nom et la valeur de l’attribut, car nous en aurons besoin plus tard.

Répétez la même commande dans le Terminal pour vos autres noms de port USB: ttyUSB1, … et notez à nouveau les attributs et les valeurs affichées. Assurez-vous qu’au moins une valeur est différente entre tous vos appareils. Si nécessaire, pour pouvoir distinguer vos appareils, vous pouvez choisir des attributs additionnels.

Créez une liste de périphériques USB avec les nouveaux noms de port USB associées

Il est temps maintenant de créer le lien entre les ports USB et les périphériques. Pour cela, nous allons créer un fichier qui spécifiera la règle pour chaque périphérique USB en fonction des propriétés uniques que nous venons de noter. Dans le terminal, entrez la commande suivante pour accéder au fichier avec les règles :

sudo nano /etc/udev/rules.d/10-usb-serial.rules

Un fichier vide devrait apparaître. Pour chaque périphérique, nous écrivons une ligne avec la règle. À la fin de la ligne, tapez le nom de périphérique que vous avez choisi précédemment. Dans notre cas “ttyUSB_DEVICE1” par exemple. Remplacez le code ci-dessous par les attributs et les valeurs par ceux de votre  liste écrite. Dans notre exemple, ça se présente comme suit :

SUBSYSTEM=="tty", ATTRS{idProduct}=="7523", ATTRS{idVendor}=="1a86", SYMLINK+="ttyUSB_DEVICE1"
SUBSYSTEM=="tty", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", SYMLINK+="ttyUSB_DEVICE2"
raspberry pi USB port name rules

Après avoir fini d’encoder les règles, utilisez Ctrl + x pour quitter. Et enregistrez les modifications en entrant “Y”.

Chargez les nouvelles règles

Entrez la commande suivante dans le terminal pour que les règles prennent effet:

sudo udevadm trigger

Vérifiez les nouveaux noms de port USB

Vous pouvez vérifier les nouveaux noms que vous venez de créer en entrant la commande suivante dans le terminal :

ls -l /dev/ttyUSB*

Raspberry Pi new USB port names

Comme indiqué dans la fenêtre ci-dessus, vous devriez voir les nouveaux noms (en bleu clair) des ports USB. Vous pouvez utiliser ces noms dans vos scripts ou flux Node-RED. Même après le redémarrage ou lorsque l’appareil a été déconnecté, le nom restera toujours identique et il n’y a plus de risque de confusion.

Génial! Vous avez rendu beaucoup plus stable l’accès aux périphériques de votre Raspberry Pi.

Remarque

Si un nom de port USB attribué par vous-même n’apparaît pas, il y a forte chance d’avoir fait une faute de frappe dans le fichier avec les règles. Vérifiez et corriger vos noms et valeurs d’attribut.

Et au fait, si vous souhaitez apprendre à programmer des composants électroniques sur votre Raspberry Pi, visitez notre boutique en ligne. Nous avons un un kit bien conçu qui contient tout ce dont vous avez besoin pour commencer.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 4.7 / 5. Nombre de voix : 6

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

Une réflexion au sujet de « Attribuer des noms de port USB fixes à votre Raspberry Pi »

  1. GENIAL !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    T un dieu

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Cette publication vous a-t-elle été utile ?

Cliquez sur une étoile pour la noter !

Note moyenne 4.7 / 5. Nombre de voix : 6

Aucune évaluation jusqu’à présent ! Soyez le premier à évaluer cette publication.

Nous sommes désolés que ce tutoriel ne vous ait pas été utile !

Améliorons ce tuto !

Dites-nous comment nous pouvons améliorer ce tuto ?

découvrez ici plus de produits

Soyez le premier informé de nos derniers tutoriels et produits en vous inscrivant à notre Newsletter

freva.com respecte votre vie privée. Lisez notre politique de protection de la vie privée sur la façon dont nous traitons vos informations personnelles.