Easy Modbus Using A Raspberry Pi

The Intrigued Engineer
15 Jul 202216:08

Summary

TLDRDans cette vidéo, l'auteur guide les spectateurs à travers la mise en place d'un système Modbus sur un Raspberry Pi, en utilisant un adaptateur USB vers RS485. Après avoir expliqué le câblage du capteur, il détaille les étapes logicielles, incluant l'installation de la bibliothèque `minimal modbus` et la configuration du port USB. Le tutoriel présente ensuite un script Python simple pour communiquer avec un capteur de température et d'humidité, en affichant les données dans un format lisible. Une démonstration pratique permet aux utilisateurs de comprendre comment interroger et récupérer les informations du capteur via Modbus RTU.

Takeaways

  • 😀 Utilisez un adaptateur USB-RS485 pour connecter un Raspberry Pi à un capteur via le protocole Modbus.
  • 😀 Le Raspberry Pi doit être configuré pour reconnaître l'adaptateur USB avant de pouvoir l'utiliser.
  • 😀 Assurez-vous que votre Raspberry Pi est à jour avec les dernières versions des logiciels en utilisant 'sudo apt-get update' et 'sudo apt-get upgrade'.
  • 😀 Installez la bibliothèque 'minimalmodbus' en utilisant la commande bash 'pip3 install minimalmodbus' pour faciliter la communication Modbus.
  • 😀 Identifiez correctement le périphérique USB connecté en comparant le contenu du répertoire '/dev/' avant et après avoir branché l'adaptateur.
  • 😀 Le périphérique USB sera probablement identifié comme 'ttyUSB0' ou similaire dans '/dev/'.
  • 😀 Le script Python pour communiquer avec le capteur doit spécifier le port série et l'adresse Modbus du capteur.
  • 😀 Le code Python doit être configuré pour le bon débit de transmission, la taille des octets, la parité, et les bits d'arrêt pour établir une connexion correcte.
  • 😀 Utilisez la méthode 'read_register()' pour lire les données d'un capteur Modbus, en précisant l'adresse du registre et la précision.
  • 😀 Le résultat des lectures du capteur (température et humidité) est converti en une présentation plus lisible en divisant les valeurs par 10.
  • 😀 Le script Python peut être modifié pour afficher les données dans un format plus convivial, avec des symboles comme le '°' pour les températures.

Q & A

  • Pourquoi utiliser un adaptateur USB vers RS485 avec un Raspberry Pi ?

    -L'adaptateur USB vers RS485 permet au Raspberry Pi de communiquer avec des dispositifs utilisant le protocole Modbus RTU, qui est couramment utilisé dans l'automatisation industrielle et les systèmes de surveillance de capteurs, comme celui de température et d'humidité dans ce tutoriel.

  • Qu'est-ce que la bibliothèque 'minimalmodbus' et pourquoi est-elle utilisée ?

    -La bibliothèque 'minimalmodbus' est une bibliothèque Python qui facilite l'interaction avec les dispositifs Modbus, comme les capteurs. Elle est utilisée pour envoyer et recevoir des données via le protocole Modbus RTU de manière simple et efficace.

  • Pourquoi le Raspberry Pi doit-il être mis à jour avant l'installation de la bibliothèque ?

    -Mettre à jour le Raspberry Pi garantit que le système d'exploitation et les paquets logiciels sont à jour, ce qui minimise les risques de compatibilité ou d'erreurs lors de l'installation de la bibliothèque ou de l'exécution des commandes.

  • Quel est le rôle du fichier 'dev.txt' dans ce processus ?

    -Le fichier 'dev.txt' est utilisé pour lister les périphériques dans le répertoire '/dev' avant et après avoir connecté l'adaptateur USB. Cela permet d'identifier le port correct auquel l'adaptateur est connecté, comme 'ttyUSB0'.

  • Comment identifier le port USB correct après avoir connecté l'adaptateur ?

    -Après avoir connecté l'adaptateur, on compare le contenu de deux fichiers 'dev.txt', l'un avant la connexion et l'autre après. La différence entre les deux fichiers montre le nouveau périphérique ajouté, qui correspond généralement à un port 'ttyUSB0'.

  • Pourquoi la température et l'humidité doivent-elles être divisées par 10 dans le code ?

    -Les valeurs de température et d'humidité sont envoyées par le capteur sous forme de nombres multipliés par 10, donc pour obtenir les valeurs réelles, il faut diviser les résultats par 10.

  • Quel est l'objectif de la ligne de code 'senseboy.read_registers' dans le script Python ?

    -'senseboy.read_registers' permet de lire plusieurs registres à partir du capteur Modbus. Cela récupère les données de température et d'humidité à partir des registres spécifiés, qui sont ensuite traitées et affichées.

  • Quel est l'usage des adresses de registre dans le protocole Modbus ?

    -Les adresses de registre sont utilisées pour localiser et accéder aux différentes valeurs stockées sur un appareil Modbus, comme la température ou l'humidité. Dans ce script, l'adresse 40001 est utilisée pour lire l'humidité et l'adresse 40002 pour la température.

  • Que fait le script si une erreur se produit lors de la lecture des données du capteur ?

    -Le script contient des mécanismes pour nettoyer la connexion et fermer les ports après chaque lecture pour éviter des fuites de ressources ou des erreurs de communication. En cas d'erreur, il peut aussi afficher des informations de débogage pour aider à résoudre le problème.

  • Pourquoi est-il important de fermer le port à la fin du script ?

    -Il est essentiel de fermer correctement le port après chaque utilisation pour éviter les conflits d'accès ou les erreurs liées à des ports laissés ouverts, ce qui pourrait interférer avec d'autres processus ou appels au périphérique.

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
Raspberry PiModbusTempératureHumiditéCapteurPythonAutomatisationDIYProjet électroniqueProgrammationTechnologie
Do you need a summary in English?