Databoom permette il telecontrollo di dispositivi di tipo MQTT.
Un ordine MQTT consiste nella pubblicazione di un messaggio personalizzabile dall'utente sul topic di default <progetto>/<token dispositivo>/commands o su un topic personalizzato dall'utente.
Il client MQTT deve essere configurato opportunamente dall'utente in modo da poter interpretare i comandi ricevuti sul topic ed eseguirli.
Configurazione dispositivo
Per la corretta configurazione di un dispositivo MQTT fare riferimento all'articolo MQTT.
Un dispositivo MQTT è comandabile se tutti i campi
- Progetti
- Topic sul quale pubblicare per inviare dati
- Topic sul quale si ricevono informazioni da Databoom
sono compilati.
Configurazione segnale
All'interno della pagina di modifica dei singoli segnali è possibile inserire degli ordini che permettono di pubblicare un payload personalizzabile su uno o più topic.
Per ogni ordine è possibile impostare:
- Descrizione e Icona, permettono di identificare l'ordine
- Visibilità, per specificare i tipi di utenti che possono visualizzare l'ordine. Il tipo dell'utente viene impostato dagli amministratori in fase di creazione dell'utente oppure modificando l'utente già esistente nella sezione Gestione utenti. Il creatore e gli amministratori di un segnale possono sempre visualizzare tutti i suoi ordini indipendentemente dalle impostazioni di visibilità
- Dati in esadecimale, se selezionata, il valore passato in input all'ordine verrà convertito in esadecimale
- bits, permette di specificare il numero di bit da utilizzare nella conversioen in esadecimale in modo da avere 4 caratteri (16bit) o 8 caratteri (32bit)
- Applica la scalatura, per specificare se applicare la scalatura del segnale (se impostata) ai valori passati in input all'ordine
- Template, permette di personalizzare il formato dei dati da inoltrare
- Per indicare la posizione del valore nel payload, utilizzare la parola chiave $VALUE$ che verrà sostituita dal valore inserito nel widget. Si possono referenziare anche più valori, ad esempio $VAL1$, $VAL2$, ...
- E' possibile inserire nel template i token di segnale e dispositivo utilizzando le parole chiave $SIGNAL_TOKEN$ e $DEVICE_TOKEN$
- Topic di pubblicazione, per specificare il topic dove verrà pubblicato il payload dell'ordine
- Il topic di default è <progetto>/<token dispositivo>/commands,
- Selezionando la casella Topic personalizzato è possibile inserire manualmente un topic a piacere. Il topic personalizzato deve comunque contenere la parte iniziale relativa al dispositivo <progetto>/<token dispositivo>/<personalizzazione>
- E' possibile associare più topic ad un singolo ordine
Una volta inserito un ordine è possibile rimuoverlo dal segnale cliccando sul pulsante con l'icona del bidone, mentre è possibile accedere alla modalità di modifica cliccando sul pulsante con l'icona della matita.
Esecuzione di un ordine
E' possibile inviare comandi dai widget
- Lista segnali
- Dettaglio segnale
- Riquadri segnali
Una volta abilitata l'opzione Mostra comandi nel menù del widget, verranno visualizzati i pulsanti per l'invio degli ordini, ove il dispositivo corrispondente sia configurato correttamente e l'utente rispetti le condizioni di visibilità.
Nei widget vengono visualizzati fino a due pulsanti di ordini veloci, ovvero tutti quegli ordini che non richiedano l'inserimento di valori o di una sola variabile. Tutti gli altri ordini sono accessibili con il pulsante generico Invia ordine.
I pulsanti per l'invio di ordini vengono visualizzati anche nelle pagine di lista segnali e dettaglio dispositivo, nella cella di Ultimo valore del segnale corrispondete.
L'invio degli ordini consiste nella pubblicazione dei dati sul topic specificato, non è pertanto possibile avere un feedback sull'effettivo aggiornamento del valore. A seconda del tipo di dispositivo utilizzato come client MQTT, attendere il tempo adeguato prima di ricaricare il widget e visualizzare il valore aggiornato.
Note aggiuntive
- Il broker MQTT utilizza una cache per l'indicizzazione dei topic. Possono passare 15/20 minuti prima che un nuovo topic venga rilevato
- Se, dopo aver effettuato correttamente tutta la configurazione, all'invio del comando la finestra rimane in caricamento, può essere dovuto a dei blocchi firewall sulle porte utilizzate. Verificare che siano raggiungibili le seguenti porte:
- 1883 MQTT
- 8883 MQTT over TLS
- 8001 MQTT over web socket
0 Commenti