Come comunicare con Databoom con un dispositivo INSYS icom come client MQTT

E' possibile configurare il proprio dispositivo INSYS come client MQTT e quindi collegarlo al broker MQTT di Databoom. 

 

Prima di iniziare

Per poter associare il proprio dispositivo INSYS a Databoom è necessario creare un device di tipo MQTT (da non confondere col tipo Broker MQTT esterno).

Per la configurazione di un dispositivo MQTT in Databoom leggi anche: MQTT

 

Per potersi quindi collegare al broker MQTT è necessario annotare da Databoom:

  • il proprio username;
    • nell'esempio verrà utilizzato lo username databoom
  • il proprio ambito utente (dal profilo personale);
    • nell'esempio verrà utilizzato l'ambito aFk1
  • un token OAuth (Impostazioni 🡺 Credenziali 🡺 Chiavi OAuth/Aggiungi OAuth);
    • nell'esempio verrà utilizzato un token fittizio kQHpPRPtiJcPa7FQCFaKUrnRABx2Fe/TnzzzkZD9R9M=
  • il token del proprio dispositivo (dalla pagina di dettaglio del dispositivo).
    • nell'esempio verrà utilizzato il token fittizio 0ewpu6ewmj
  • topic per la pubblicazione/sottoscrizione del proprio dispositivo (dalla pagina di dettaglio del dispositivo);
    • nell'esempio verranno utilizzati i topic fittizi:
    • MQTT/0ewpu6ewmj/data per la pubblicazione
    • MQTT/0ewpu6ewmj/info per la sottoscrizione

TIP! E' consigliabile generare un token OAuth diverso per ogni client utilizzato per una maggiore sicurezza.

 

Accedere all'interfaccia del dispositivo

Collegarsi all'interfaccia web del dispositivo. Le impostazioni di default sono:

  • Indirizzo, 192.168.1.1
  • Username, insys
  • Password, icom

Si procede quindi accedendo alla sezione "Monitoring".

Monitoring -> Setup application

Dopo aver aggiunto, in base alle proprie esigenze, i dispositivi collegati e i loro segnali (rispettivamente in "Devices" ed in "Elements"), è necessario impostare un timer ed una destinazione per l'invio dei datafeed contenenti le misurazioni rilevate.



Per aggiungere un timer, posizionarsi in "Elements", scegliere l'opzione "Add element" e quindi selezionare "Timer" in Device. Il tipo sarà "recurrent timer" ed andrà impostato con un intervallo non inferiore ad 1 minuto (Databoom considera solo un valore al minuto per segnale, in caso di più valori nello stesso minuto viene utilizzato l'ultimo in ordine di ricezione).



Posizionarsi ora in "Recipients", per aggiungere la destinazione dei dati.

Cliccare sul pulsante "Add recipient" e quindi selezionare il tipo "MQTT broker".

Le impostazioni da inserire saranno:

  • Server URL, l'indirizzo del broker Databoom, mqtt.databoom.com
  • Port, la porta 1883
  • User, lo Username dell'utente Databoom
    • Lo username di esempio è databoom
  • Password, un token OAuth generato dall'utente
    • il token di esempio è kQHpPRPtiJcPa7FQCFaKUrnRABx2Fe/TnzzzkZD9R9M=
  • Client ID, formato dall'ambito utente e dal token del dispositivo con la struttura <ambito utente>-<token dispositivo>
    • Il Client Id d'esempio è aFk1-0ewpu6ewmj

Monitoring -> Monitoring

Una volta impostato il timer è necessario creare un elemento che ne controlli la scadenza. Nella sezione Monitoring selezionare "Add monitorning".

Scelta l'opzione "Element" in Source, selezionare quindi il proprio timer e l'evento "finished". In questo modo il monitoring segnalerà ogni volta che il timer scadrà, e potrà essere utilizzato per eseguire azioni particolari.

Monitoring -> Actions

A questo punto si possono creare le azioni da eseguire alla scadenza del timer, ovvero l'invio di dati al broker di Databoom. In "Definitions" cliccare su "Add Action" e scegliere il target "Server feed".

 

I campi andranno compilati come segue:

  • Recipient, selezionare il recipient creato in precedenza
  • Topic, il topic per la pubblicazione costituito da <progetto>/<token dispositivo>/<topic>, visualizzato nella pagina di dettaglio del dispositivo
    • Con i dati dell'esempio il topic sarà: MQTT/0ewpu6ewmj/data
  • Message, le variabili da inoltrare a Databoom, utilizzando il seguente formato { "type": "data", "message": { "device": "<token dispositivo>", "date": $TIMESTAMP, "signals" : [ { "name": "<token segnale>", "value": $VARIABILE_DISPOSITIVO_INSYS } ] } }
    • Con i dati dell'esempio il topic sarà: { "type": "data", "message": { "device": "0ewpu6ewmj", "date": $TIMESTAMP, "signals" : [ { "name": "MQTTSignal", "value": $MQTTSignal } ] } }
    • TIP! name viene utilizzato come token del segnale su Databoom, value fa riferimento alla variabile sul dispositivo, il cui valore è referenziabile con la sua descrizione preceduta da $.

Terminata la creazione delle azioni da eseguire è finalmente possibile associar loro i monitoring, in modo da abilitare l'invio vero e proprio dei dati. Nella sezione "Assignments" cliccare su "Add assignment", selezionare quindi il monitoring e l'azione da associare.

Teriminata la procedura il datafeed contenente le misurazioni specificate nell'azione, verrà inoltrato al recipient Databooom ad ogni scadenza del timer.

Configurazione completata!

Una volta completata la procedura, Databoom inizierà a registrare i dati del dispositivo INSYS. Per poter consultare i dati e avere una rappresentazione corretta, seguire le indicazioni in Modifica/validazione di un segnale.

Altre domande? Invia una richiesta

0 Commenti

Accedi per aggiungere un commento.