Template MQTT

Configurazione template MQTT

Selezionando il tipo di dispositivo MQTT vengono visualizzati i campi necessari per la comunicazione e la creazione di dispositivi.

I campi Progetti, Topic sul quale pubblicare per inviare dati e Topic sul quale si ricevono informazioni da Databoom possono essere compilati arbitrariamente per la formazione dei topic da utilizzare nella configurazione del proprio client MQTT.

Si considerino, ad esempio, MQTT come progetto, data come topic di pubblicazione e info come topic di sottoscrizione, verranno visualizzati nella sezione sottostante i topic così formati:

  • MQTT/<valore unico arbitrario>/data
  • MQTT/<valore unico arbitrario>/info

Il <valore unico arbitrario> è un valore scelto dall'utente che dev'essere univoco nella piattaforma in quanto verrà utilizzato per comporre, insieme all'ambito utente visualizzabile nel profilo personale, l'id da impostare nel proprio client MQTT (ClientId).  Il <valore unico arbitrario> verrà inoltre utilizzato, insieme al token del template, come token del dispositivo generato seguendo la struttura <token template>-<valore unico arbitrario>

E' possibile associare più topic ad un template variando la parte di Progetto, mantenendo invariato il resto dell'indirizzo. 

 Considerando l'esempio precedente, nello stesso template è possibile inserire altri topic quali 

  • Test/<valore unico arbitrario>/data
  • Test/<valore unico arbitrario>/info

Da notare la variazione nel Progetto, data e info sono invece comuni a tutti i progetti.

 

Trasmettere ad un template

Una volta configurati tutti i campi di un template, è possibile iniziare la comunicazione e quindi la generazione di dispositivi.

Il formato dei dati da inoltrare al topic di pubblicazione (nell'esempio MQTT/<valore unico arbitrario>/data) è il seguente:

{
    "type": "data",
    "message":  [
      {
        "template": "<token template MQTT>",
        "date": "2018-04-12T15:00:00.000Z",
        "signals": [
          {
            "name": "<token segnale 1>",
            "value": <valore segnale 1>
          },
          {
            "name": "<token segnale 2>",
            "value": <valore segnale 2>
          }
        ]
      }
    ]
}

La pubblicazione di questi dati comporta:

  • Se precedentemente non è avvenuta alcuna comunicazione, la generazione di un dispositivo con token <token template>-<valore unico arbitrario> dove:
    • <token template> è all'interno del messaggio e corrisponde al token del template di riferimento;
    • <valore unico arbitrario> è estratto dal ClientId.
    Il dispositivo verrà popolato con gli stessi segnali associati al template (nuovi segnali con lo stesso token), indipendentemente dal fatto che vengano inviati o meno loro valori. I segnali saranno già validati e pronti a comunicare. Se in signals vengono inseriti segnali non previsti dal template, vengono creati nel nuovo dispositivo in attesa di validazione;
  • Se precedentemente sono già avvenute comunicazioni, l'aggiornamento del dispositivo <token template>-<valore unico arbitrario> con i valori in signals. Se al template è stato associato un nuovo segnale, viene creato anche nel dispositivo;
  •  message è un array, è pertanto possibile creare/comunicare con più dispositivi a pubblicazione, a patto che facciano riferimento a template diversi.
Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.