Jump to content

Figer les ports COM


Recommended Posts

Bonjour,

 

J'ai un soucis sur nu de mes Linux. C'est un RPI qui à centraliser les équipements IOT branchés en série et faire passerelle MQTT.

En gros, j'ai 3 clé USB/série

  • Le linky branché en RS232
  • L'onduleur branché en RS485
  • un 3ème port COM avec un montage ESP perso

Mes problèmes:

* Linux n'affecte JAMAIS le même port n° de port! Un coup le linky est en 1, un coup il est en 2. Du coup mes scripts ne fonctionnent pas toujours... (le s miens perso, ça va, ils sont compatibles avec un accès aux ports via la topologie USB, mais ceux d el'onduleur que j'ai téléchargé ils sont basés sur python qui n'a pas l'air de savoir utiliser autre chose que /dev/ttyUSBx)

* Peut-on par ailleurs faire en sorte qu'au boot Linux reconfigure chaque port com (vitesse, parité, ...)?

Link to comment
Share on other sites

je dirais oui en partie: on peut voir une explication ici: https://community.silabs.com/s/article/fixed-tty-device-assignments-in-linux-using-udev?language=en_US

ça se passe dans /etc/udev/rules.d, il faut y ajouter les numéro de série de tes contrôleurs USB récupéré grâce à lsusb ou dmesg, puis leur attribuer un alias fixe. Par contre il faut que le script accepte un alias plutôt qu'un nom puisque il n'est pas possible de renommer ce genre de périphérique. (mais tu peux lui mettre un alias en "ttyUSB50" et donner ça au script de l'onduleur, j'imagine)

de la même façon, tu dois pouvoir les configurer comme tu veux en faisant appel à un script dans udev avec

RUN+="/script.sh"

 

  • Aime 1
Link to comment
Share on other sites

 

il y a 38 minutes, Minikea a dit :

je dirais oui en partie: on peut voir une explication ici: https://community.silabs.com/s/article/fixed-tty-device-assignments-in-linux-using-udev?language=en_US

ça se passe dans /etc/udev/rules.d, il faut y ajouter les numéro de série de tes contrôleurs USB récupéré grâce à lsusb ou dmesg,

Top!

Je vais réfléchir: soit je me base sur le n° de série, soit je me base sur le n° de prise USB...

il y a 39 minutes, Minikea a dit :

 (mais tu peux lui mettre un alias en "ttyUSB50" et donner ça au script de l'onduleur, j'imagine)

Non, la bibliothèque utilisée utilise un n° de port mais ne donne pas la possibilité de donner le chemin exact. Et mon lien n'est pas détecté par cette fichue bibliothèque.

Je vais modifier le code (ou tout réécrire avec des outils plus sérieux/plus légers et moins fragiles - lua ou bash ou rust ou C ou n'importe quoi qui survive à une mise à jour).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...