MQTT (ordini)

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
Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.