ELX-MODBUS
Un ponte fra il bus Modbus e un broker MQTT
Interroga le apparecchiature Modbus via Ethernet e sul bus seriale RS-485, trasforma i registri grezzi in valori leggibili, li pubblica in MQTT e riscrive i comandi in senso inverso. Si configura interamente dal browser — non c'è alcun file di configurazione da modificare.
Gateway TCP e seriali
Collegamento via Ethernet — Modbus TCP o RTU su TCP — oppure tramite una porta locale come /dev/ttyUSB0. Velocità, parità, bit di stop e tempi si regolano tutti.
Una biblioteca di dispositivi pronti
Modelli costruiti sulle schede tecniche dei costruttori: registri, scala, elementi di comando ed enumerazioni sono già compilati. Aggiungere un dispositivo noto richiede due clic invece di un pomeriggio.
I registri, con precisione
Holding, Input, Coil e Discrete; interi, virgola mobile e stringhe; ordine di parole e byte; maschere di bit; moltiplicatore e scostamento. Qualsiasi singolo registro si disattiva da solo, senza toccare gli altri.
Un cruscotto vivo
Riquadri dei dispositivi con valori che cambiano sul posto, interruttori, cursori e campi di immissione. Spostare un riquadro cambia anche l'ordine di interrogazione, perché l'ordine sullo schermo è l'ordine sul bus.
Un terminale di protocollo
Lo scambio grezzo in esadecimale, con la durata e l'errore di ogni richiesta. È la schermata che trasforma un dispositivo sconosciuto in uno che funziona.
Un pacchetto, nessuna dipendenza
Un unico .deb installa un servizio systemd su Debian, Ubuntu e Raspberry Pi OS. Build per amd64, arm64 e armhf; non c'è altro da installare.
Schermate
Quale problema risolve
Le apparecchiature industriali parlano Modbus — un protocollo del 1979 diventato lo standard di fatto per sensori, relè, contatori e azionamenti. La domotica e la gestione degli edifici parlano MQTT. I due non si incontrano da soli, e il rimedio abituale è un mucchio di script, uno per dispositivo, ciascuno dei quali smette di funzionare appena qualcuno cambia un indirizzo di registro.
ELX-MODBUS è proprio quel mucchio sostituito da un solo servizio. Interroga il bus, converte i registri grezzi in valori con un nome, li pubblica verso il vostro broker e accetta i comandi di ritorno. Tutto si configura in un browser.
Dispositivi Modbus
Sensori, relè, azionamenti, contatori — su RS-485 o Ethernet
ELX-MODBUS
Interrogazione, decodifica, pubblicazione, riscrittura
Broker MQTT
Home Assistant, Node-RED, OpenHAB, il vostro codice
Tre passi fino ai dati nel broker
- Aggiungete un gateway. Descrivete il collegamento al bus: l'indirizzo di un convertitore RTU su TCP, oppure la porta seriale con velocità e parità.
- Aggiungete un dispositivo. Scegliete un modello dalla biblioteca o costruite la vostra mappa dei registri, poi indicate l'indirizzo sul bus e il prefisso MQTT.
- Indicate il broker. Inserite l'indirizzo e attivate la pubblicazione. I valori partono subito verso gli argomenti, e i comandi tornano indietro.
Come i valori diventano argomenti
Un registro grezzo diventa un valore con valore = grezzo × moltiplicatore + scostamento, tenendo conto del tipo di dato, dell'ordine di parole e byte e di un'eventuale maschera di bit. Il risultato viene pubblicato su {base}/{prefisso}/{chiave}.
home/livingroom/ac/temp → 24.5 (pubblicato a ogni interrogazione)
home/livingroom/ac/set_temp ← 22.0 (argomento di comando, scritto nel registro)
home/livingroom/ac/mode → cooling
I canali in lettura e scrittura ricevono un argomento di comando — {argomento}/set in modo predefinito. Un valore mandato lì passa in testa alla coda di interrogazione e viene scritto subito: il comando risulta immediato invece di essere rinviato di un ciclo.
La biblioteca dei dispositivi
Nei modelli mappa dei registri, scala ed elemento di comando sono già impostati secondo la scheda tecnica. Fra questi:
| Gruppo | Dispositivi |
|---|---|
| Clima | Adattatori Modbus per condizionatori, regolatori di caldaia con OpenTherm ed eBus, unità di ventilazione |
| Relè | Moduli relè a sei e sedici canali con registri di comando di apertura e chiusura |
| Sensori | Sonde di temperatura e umidità, sensori multipli, sonde 1-Wire |
| Luce | Dimmer, controllori LED, gateway DALI |
| Analogico | Moduli di uscita 0–10 V e 4–20 mA |
| Tutto il resto | Un dispositivo vuoto in cui inserite voi stessi i registri |
In breve
- Trasporti
- Modbus TCP, RTU su TCP, RTU su porta seriale
- Tipi di registro
- Holding, Input, Coil, Discrete
- Tipi di dato
- int, float, stringa, maschere di bit, ordine di parole e byte
- Sistemi operativi
- Debian, Ubuntu, Raspberry Pi OS
- Architetture
- amd64, arm64, armhf
- Configurazione
- Interfaccia web; stato in SQLite, esportabile in JSON
- Porta dell'interfaccia
- 8080 in modo predefinito
- Dipendenze esterne
- Nessuna