Comunicare con Thingsboard: MQTT

Dopo aver trattato HTTP nel precedente articolo, eccoci alla seconda modalità di interazione: tramite MQTT.

Diamo per scontato che abbiate una conoscenza di base di questo protocollo, ma volendo rivedere o approfondire i concetti si rimanda a questo post.

TB integra un broker MQTT e tutti i messaggi devono essere indirizzati al topic

v1/devices/me/telemetry

Sarà l’ACCESS TOKEN, utilizzato come username, a consentire la loro corretta gestione.

In particolare questi sono i parametri che dovranno essere utilizzati dal client per la comunicazione

  • username=ACCESS TOKEN del device
  • password=”” # non utilizzata
  • broker=indirizzo-ip:porta del server
  • topic=v1/devices/me/telemetry

mentre i dati dovranno essere disponibili in formato JSON.

Passiamo alla pratica “simulando” anche in questo caso la presenza di un dispositivo fisico.

In primo luogo ci serve un client MQTT. Sono disponibili un gran numero di alternative per tutti i gusti e le esigenze. Per ulteriori dettagli si può visionare la documentazione ufficiale.

Noi utilizziamo mosquitto su Linux Ubuntu.

Installiamo il pacchetto con

sudo apt-get install mosquitto-clients

Predisponiamo un semplicissimo script, chiamato mosquitto.sh, indicando i dati di accesso al server TB, l’ACCESS TOKEN del dispositivo e il topic su cui pubblicare i dati.

Si tratta di pochissime righe

#!/bin/sh
THINGSBOARD_HOST="localhost"
ACCESS_TOKEN="A1_TEST_TOKEN"
mosquitto_pub -d -h "$THINGSBOARD_HOST" -t "v1/devices/me/telemetry" -u "$ACCESS_TOKEN" -f "telemetry-data.json"

I dati da pubblicare sono contenuti nel file telemetry-data.json che non contiene altro se non un semplice oggetto JSON

{"temperature":21, "humidity":55.0, "active": false}

Rendiamo lo script eseguibile con

chmod +x mosquitto.sh

ed avviamolo con

./mosquitto.sh

Una serie di messaggi di log ci informano delle operazioni in corso.

mosquitto

Verifichiamo che i dati siano disponibili su TB accedendo alla telemetria del dispositivo.

tb-mqtt-telemetria

Ancora una volta l’operazione si è dimostrata davvero semplice e alla portata di tutti.

 

Lascia una risposta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Utilizzando il sito, accetti l'invio dei cookies da parte nostra. Maggiori informazioni

Questo sito utilizza i cookies per fornire la migliore esperienza di navigazione possibile. Continuando ad utilizzarlo senza modificare le impostazioni o cliccando su "Accetta" acconsenti al loro utilizzo.

Chiudi