ELX-Software

Automatisation industrielle et IoT

ELX-MODBUS

Un pont entre le bus Modbus et un courtier MQTT

Interroge les équipements Modbus par Ethernet et par le bus série RS-485, transforme les registres bruts en valeurs lisibles, les publie en MQTT et réécrit les commandes en retour. Tout se configure dans le navigateur — il n'y a aucun fichier de configuration à modifier.

v1.2.38 LinuxARM Gratuit

Passerelles TCP et série

Connexion par Ethernet — Modbus TCP ou RTU sur TCP — ou par un port local tel que /dev/ttyUSB0. Vitesse, parité, bits d'arrêt et temporisations se règlent tous.

Une bibliothèque d'appareils prêts

Des modèles bâtis d'après les notices des constructeurs : registres, mise à l'échelle, éléments d'affichage et énumérations sont déjà renseignés. Ajouter un appareil connu prend deux clics au lieu d'un après-midi.

Les registres, exactement

Holding, Input, Coil et Discrete ; entiers, flottants et chaînes ; ordre des mots et des octets ; masques de bits ; multiplicateur et décalage. N'importe quel registre se désactive seul, sans toucher aux autres.

Un tableau de bord vivant

Des tuiles d'appareils dont les valeurs changent sur place, des interrupteurs, des curseurs et des champs de saisie. Déplacer une tuile change aussi l'ordre d'interrogation, car l'ordre à l'écran est l'ordre sur le bus.

Un terminal de protocole

Les échanges bruts en hexadécimal, avec la durée et l'erreur de chaque requête. C'est l'écran qui transforme un appareil inconnu en appareil qui fonctionne.

Un paquet, aucune dépendance

Un unique .deb installe un service systemd sous Debian, Ubuntu et Raspberry Pi OS. Des versions pour amd64, arm64 et armhf ; rien d'autre à installer.

Captures d'écran

Le tableau de bord : tuiles d'appareils avec valeurs en direct, interrupteurs et curseurs
La liste des appareils et l'ordre d'interrogation
Le plan de registres d'un appareil
Passerelles : TCP et RTU série
La bibliothèque d'appareils et ses modèles prêts
Réglages du courtier MQTT
Le terminal de protocole — les échanges en direct, en hexadécimal

Le problème que cela résout

Les équipements industriels parlent Modbus — un protocole de 1979 devenu la norme de fait pour les capteurs, relais, compteurs et variateurs. La domotique et la gestion technique de bâtiment parlent MQTT. Les deux ne se rencontrent pas d'eux-mêmes, et le remède habituel est un tas de scripts, un par appareil, dont chacun cesse de fonctionner quand quelqu'un change une adresse de registre.

ELX-MODBUS, c'est ce tas de scripts remplacé par un seul service. Il interroge le bus, convertit les registres bruts en valeurs nommées, les publie vers votre courtier et accepte les commandes en retour. Tout se configure dans un navigateur.

Appareils Modbus

Capteurs, relais, variateurs, compteurs — sur RS-485 ou Ethernet

ELX-MODBUS

Interrogation, décodage, publication, écriture en retour

Courtier MQTT

Home Assistant, Node-RED, OpenHAB, votre propre code

Trois étapes jusqu'aux données dans le courtier

  1. Ajoutez une passerelle. Décrivez la liaison au bus : l'adresse d'un convertisseur RTU sur TCP, ou le port série avec sa vitesse et sa parité.
  2. Ajoutez un appareil. Choisissez un modèle dans la bibliothèque ou construisez votre propre plan de registres, puis indiquez l'adresse esclave et le préfixe MQTT.
  3. Indiquez votre courtier. Saisissez l'adresse et activez la publication. Les valeurs partent aussitôt dans les sujets, et les commandes reviennent.
Comment se comporte l'interrogationÀ l'intérieur d'une passerelle, les requêtes sont strictement séquentielles — le bus n'a qu'un maître — et suivent la liste de haut en bas. Des passerelles différentes sont interrogées en parallèle. La période se règle par appareil ou par registre.

Comment les valeurs deviennent des sujets

Un registre brut devient une valeur par valeur = brut × multiplicateur + décalage, en tenant compte du type de données, de l'ordre des mots et des octets et d'un éventuel masque de bits. Le résultat est publié vers {base}/{préfixe}/{clé}.

Un climatiseur de salon
home/livingroom/ac/temp        → 24.5      (publié à chaque interrogation)
home/livingroom/ac/set_temp    ← 22.0      (sujet de commande, écrit dans le registre)
home/livingroom/ac/mode        → cooling

Les voies en lecture-écriture reçoivent un sujet de commande — {sujet}/set par défaut. Une valeur envoyée là passe en tête de la file d'interrogation et est écrite aussitôt : la commande paraît immédiate au lieu d'être retardée d'un cycle.

La conservationAvec le drapeau de conservation, le courtier garde la dernière valeur et la remet à un nouvel abonné dès sa connexion. Un tableau de bord ouvert à trois heures du matin affiche des nombres au lieu de vides.

La bibliothèque d'appareils

Les modèles portent déjà le plan de registres, la mise à l'échelle et l'élément d'affichage, réglés d'après la notice. Parmi eux :

GroupeAppareils
ClimatisationAdaptateurs Modbus de climatiseurs, régulateurs de chaudière avec OpenTherm et eBus, centrales de traitement d'air
RelaisModules relais six et seize voies avec registres de commande d'ouverture et de fermeture
CapteursSondes de température et d'humidité, capteurs multiples, sondes 1-Wire
ÉclairageVariateurs, contrôleurs LED, passerelles DALI
AnalogiqueModules de sortie 0–10 V et 4–20 mA
Tout le resteUn appareil vierge dans lequel vous saisissez vous-même les registres
Un appareil absent de la bibliothèqueCréez un appareil personnalisé et saisissez les registres à la main — chaque champ porte une indication de ce qui doit y figurer. Le terminal de protocole aide à trouver les bonnes adresses et les bons formats : il montre ce que l'appareil répond réellement.

En bref

Transports
Modbus TCP, RTU sur TCP, RTU sur port série
Types de registres
Holding, Input, Coil, Discrete
Types de données
int, float, chaîne, masques de bits, ordre des mots et des octets
Systèmes d'exploitation
Debian, Ubuntu, Raspberry Pi OS
Architectures
amd64, arm64, armhf
Configuration
Interface web ; état en SQLite, exportable en JSON
Port de l'interface
8080 par défaut
Dépendances externes
Aucune

ELX-MODBUS

Un pont entre le bus Modbus et un courtier MQTT

Télécharger

Dans la même rubrique