Help convert USB RS485 + RPI4 et MyModbus

Bonjour,

je n’arrive à relire un powermeter en modbus RS485.
sur PC avec le meme convertisseur et modbus doctor c’est fonctionnel.
sur RPI j’ai un doute sur les drivers du convertisseur


et les log en mode debug ne permettent pas de savoir si le convert est bien installé :
[2023-09-27 20:04:37]DEBUG : Lancement de : /var/www/html/core/class/…/…/core/php/jeePlugin.php plugin_id=mymodbus function=remove callInstallFunction=1
[2023-09-27 20:04:40]INFO : Début d’activation du plugin
[2023-09-27 20:04:41]INFO : Info sur le démon : {« launchable_message »:«  »,« launchable »:« nok »,« state »:« nok »,« log »:« nok »,« auto »:0}
[2023-09-27 20:04:41]DEBUG : Lancement de : /var/www/html/core/class/…/…/core/php/jeePlugin.php plugin_id=mymodbus function=install callInstallFunction=1
[2023-09-27 20:05:02]DEBUG : deamon_info = {« state »:« nok »,« launchable »:« ok »}

merci d’avance pour votre aide

après plusieurs tentatives + reinstall (car au depart la versionde Python etait trop ancienne) je vois l’envoi de trame


mais je ne suis toujours pas sur que mon convertisseur est bien configuré

quel serait le test à réaliser pour s’assurer que le convertisseur USB est bien installé ??

Bonjour,

Si vous avez lu la documentation de MyModbus version bêta (c’est à dire celle que vous utilisez sans le préciser) alors vous savez que la version de python installée sur le système ne joue aucun rôle, puisque MyModbus installe un pyenv avec la bonne version de python.


Il a y sur ce forum un post qui explique comment poser une question de sorte :

  • qu’on y comprenne quelque chose sans trop devoir deviner
  • qu’on sache quel matériel vous avez
  • qu’on sache exactement ce qui ne fonctionne pas
  • qu’on sache dans quel cas ça ne marche pas
  • qu’on sache ce que vous avez déjà essayé

Bref.
Je vous suggère de lire ce post et de le mettre en pratique, parce que je ne sais pas vous aider avec des captures partielles et des captures de log…

Prenez le temps nécessaire pour qu’on sache quel problème vous avez. Là, je sais juste que ça ne communique pas.

A+
Michel

Bonjour,

mon pb venait du vendor ID / product ID spécifique de mon convertisseur. ci dessous comment affecter le bon driver (dans mon cas chip FTDI):

au départ, sur Dev 7, pas de driver

cmo@domotique:~ $ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 6, If 0, Class=Communications, Driver=cdc_acm, 12M
|__ Port 3: Dev 6, If 1, Class=CDC Data, Driver=cdc_acm, 12M
|__ Port 4: Dev 7, If 0, Class=Vendor Specific Class, Driver=, 12M

la commande pour récuperer les ID : 16de:0003

cmo@domotique:~ $ lsusb
Bus 002 Device 002: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technolo gy Corp. JMS567 SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 007: ID 16de:0003 Telemecanique
Bus 001 Device 006: ID 1cf1:0030 Dresden Elektronik
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

il faut debrancher le convert usb
puis créer le lien

/sbin $ sudo modprobe -v ftdi_sio
insmod /lib/modules/5.10.103-v7l+/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/5.10.103-v7l+/kernel/drivers/usb/serial/ftdi_sio.ko

sudo sh -c « echo 16de 0003> /sys/bus/usb-serial/drivers/ftdi_sio/new_id »

rebrancher le convert

cmo@domotique:/sbin $ lsusb -t
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 2: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
|__ Port 3: Dev 6, If 0, Class=Communications, Driver=cdc_acm, 12M
|__ Port 3: Dev 6, If 1, Class=CDC Data, Driver=cdc_acm, 12M
|__ Port 4: Dev 8, If 0, Class=Vendor Specific Class, Driver=ftdi_sio, 12M

on voit que le driver est associé, et maintenant mymodbus fonctionne correctement !

pour que ce soit appliqué à chaque démarrage, ajouter les 2 commandes avec sudo nano /etc/rc.local

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.