Antennino su dashboard THINGSBOARD

Costruiamo la Dashboard per gestire in maniera ottimale la nostra rete di dispositivi IoT Antennino connessa tramite il modulo Gateway dedicato.

Dopo avervi descritto il gateway hardware per i moduli Antennino ed averlo abbinato a una Dashboard basata sul software ThingsBoard, con la quale governare una rete per lโ€™IoT, in questo articolo entreremo nel vivo della gestione del Gateway Antennino realizzando una Dashboard personalizzata.

Ancora una volta passeremo da ThingsBoard, con il quale costruiremo passo dopo passo la Dashboard per gestire i dati telemetrici provenienti dai nodi sensore Antennino.

Visualizzeremo quindi temperatura, luminositร , tensione della batteria, livello del segnale su dei Widget analogici e su dei grafici.

Spiegheremo anche come controllare, tramite ThingsBoard, un LED presente sui moduli Antennino usando quella che viene indicato con lโ€™acronimo RPC (Remote Procedure Call). Realizzeremo delle Dashboard di test e vedremo anche come velocizzarne la realizzazione adottando un approccio piรน professionale.

Spiegheremo inoltre come implementare il backup delle configurazioni della nostra Dashboard.

Configuriamo il Gateway Antennino

Se stiamo utilizzando la versione live di ThingsBoard dovremo autenticarciย inserendo le credenziali che abbiamo fornito in fase di registrazione. Altrimenti dovremo accedere al nostro server ThingsBoard privato sulla porta 8080, raggiungibile allโ€™indirizzo: https://xxx.xxx.xxx.xxx:8080.

Vediamo quindi come aggiungere il nostro Gateway Antennino alla configurazione.

Andiamo nella voce di menu Dispositivi (Fig. 1), individuiamo il pulsante arancione con il simbolo + nellโ€™angolo inferiore destro del pannello, ed aggiungiamo un dispositivo nominandolo โ€œGateway Antenninoโ€. La cosa importante รจ spuntare lโ€™opzione: โ€œรˆ un Gatewayโ€.

 

Fig. 1 Aggiunta del modulo Gateway Antennino.

 

Gli altri dispositivi presenti li possiamo mantenere: potrebbero esserci utili per sperimentare con i tutorial forniti dal sito ThingsBoard.

Una volta inserito il Gateway, riapriamo la lista dei dispositivi e facciamo doppio clic su quello, tra i presenti in elenco, appena inserito, quindi clicchiamo sulla voce โ€œCopia Token di Accessoโ€.

Questo permette di salvare nel blocco note la chiave di accesso del dispositivo Gateway, un valore di esempio, potrebbe essere: eOlO3RjnhSBs6rrzkSOx.

Questo Token deve essere usato piรน avanti nella configurazione del nostro Gateway per autenticarsi su ThingsBoard; attenzione che si tratta di un dato riservato che non va assolutamente divulgato.

La successiva operazione da compiere รจ di assegnare allโ€™utente โ€œCustomer Aโ€ il dispositivo Gateway Antennino.

Per fare questo selezioniamo dal menu a sinistra la voce Clienti e una volta individuato il Cliente interessato andiamo a cliccare su โ€œGestisci dispositivi clientiโ€ (vedi Fig. 2) si aprirร  una nuova finestra che ci elencherร  i dispositivi presenti, clicchiamo sul pulsante inferiore destro con il segno + e selezioniamo dalla lista il dispositivo โ€œGateway Antenninoโ€ clicchiamo quindi su โ€œAssegnaโ€.

Questa operazione รจ molto importante perchรฉ permette di fare in modo che tutti i dispositivi RFM69 che saranno โ€œintercettatiโ€ dal Gateway verranno automaticamente, non solo caricati nei dispositivi visibili su ThingsBoard, ma assegnati automaticamente al Customer A in virtรน del fatto che il Customer A รจ assegnatario del Gateway Antennino (Fig. 2).

Se la lista dei clienti fosse vuota รจ sufficiente cliccare sul pulsante arancione in basso a destra ed aggiungere il cliente mancante.

Fig. 2 Assegnazione del Gateway al Customer A.

 

A questo punto, chiudiamo completamente eventuali browser aperti, poi alimentiamo il Gateway Antennino mentre ne teniamo premuto il pulsante (P1) allo scopo di resettare la configurazione WiFi presente a bordo della scheda. Attendiamo 30รท40 secondi, e verifichiamo se nella lista delle reti WiFi elencate sul nostro PC sia presente una rete che abbia il seguente SSID: TB-AntenninoGateway.

In caso affermativo possiamo procedere, altrimenti proviamo a togliere lโ€™alimentazione al Gateway, attendere 10 secondi ricollegare lโ€™alimentazione e verificare nuovamente la presenza del segnale AccessPoint del Gateway.

Nella fase di configurazione, il nostro Gateway si comporta a tutti gli effetti come Access Point. Facciamo doppio clic sulla dicitura TB-AntenninoGateway (come se ci dovessimo collegare ad una reale rete WiFi) dopo qualche secondo si aprirร , nel Browser, la pagina di Fig. 3.

 

Fig. 3 WiFi Manager.

 

Clicchiamo sul pulsante โ€œConfigure WiFiโ€, si aprirร  la pagina di configurazione del Gateway (Fig. 4).

Come prima cosa dobbiamo selezionare la rete WiFi alla quale il nostro gateway dovrร  collegarsi per acquisire la connettivitร  Internet; facciamo quindi clic sul nome della rete alla quale vogliamo collegarci, inseriamo la relativa password e poi dovremo immettere lโ€™indirizzo IP del server ThingsBoard sul quale ospiteremo la nostra Dashboard e il โ€œTB Tokenโ€ di accesso che abbiamo copiato precedentemente durante lโ€™impostazione del Gateway su ThingsBoard.

Nel caso venga utilizzato il server Demo Live http://demo.thingsboard.io, il suo IP = 104.196.24.70.

 

Fig. 4 Configurazioni Gateway.

 

Quindi potremmo usare questo indirizzo, ma รจ meglio lasciare vuoto il campo โ€œmqtt serverโ€ e valorizzare โ€œmqtt server nameโ€ con โ€œdemo.thingsboard.ioโ€; sarร  poi il nostro gateway a risolvere il valore in un indirizzo IP. In questo caso deve essere valorizzato il campo username con il Token di accesso e lasciare vuota la password.

Il valore del parametro โ€œMQTT portโ€ deve essere 1883 (valore canonico della porta di un Broker Mqtt).

รˆ necessario valorizzare anche il campo del โ€œtimezonedb_keyโ€ relativo al servizio TimeZonedB, per la sincronizzazione del RTC a bordo della scheda. Ricordiamo che per usufruire del servizio di sincronizzazione รจ necessario registrarsi sul sito: https://timezonedb.com.

Una volta registrati andare su Account Overview e copiare la propria API Key Terminata la configurazione possiamo cliccare su โ€œSalvaโ€.

La pagina verrร  sostituita con una pagina che confermerร  il corretto salvataggio dei dati.

Se tutto avrร  funzionato a dovere, il nostro Gateway dovrebbe aver acquisito la configurazione ed averla salvata sul Filesytem SPIFFS interno al modulo ESP32 ed al prossimo riavvio utilizzerร  tale configurazione per acquisire lโ€™accesso ad Internet ed i dati di accesso al nostro personale server ThingsBoard. Andiamo ora a verificare se i dispositivi Antennino vengono visualizzati.

Apriamo quindi dal menu di sinistra la voce โ€œDispositiviโ€.

Dopo qualche minuto dovremmo trovare dei nuovi dispositivi nella lista: RFM69_1 e RFM69_2 โ€ฆ RFM69_XX.

Per ulteriore conferma andiamo a vedere quali sono i dispositivi che sono attribuiti al nostro Customer A.

Per fare questo torniamo nella lista dei clienti e, trovato il โ€œCustomer Aโ€, andiamo ad ispezionare โ€œGestisci dispositivi Clienteโ€: dovremmo Trovare la lista dei dispositivi RFM69 Associati al Customer A.

Realizziamo la prima Dashboard

Ora che abbiamo i nostri due dispositivi RFM69 presenti su ThingsBoard, passiamo a visualizzare i dati telemetrici inviati dai dispositivi stessi; allo scopo facciamo doppio clic su uno dei due dispositivi RFM69 e poi apriamo il Tab (Fig. 5) con la dicitura โ€œLAST TELEMETRYโ€.

Se teniamo aperto questo Tab e lasciamo alimentati i dispositivi ed il gateway, vedremo avvicendarsi i valori dei dati telemetrici con una frequenza di aggiornamento circa 5 secondi.

 

Fig. 5 Dati telemetrici ricevuti dal Nodo RFM69_1.

 

Bene, ora che abbiamo i dati, cosa ci facciamo? Le risposte a questa domanda sono moltissime, quindi limitiamoci a ciรฒ che attiene i dati basilari: per esempio possiamo visualizzare i dati ricevuti dai nostri dispositivi in diversi modi, utilizzando quelli che vengono indicati come Widget, da posizionare su una specifica Dashboard.

Vediamo il modo piรน immediato di farlo: selezioniamo, per esempio, il checkbox relativo al dato telemetrico Luminositร  (L); appena selezionato appare la scritta โ€œSHOW ON WIDGETโ€ (Fig. 6) cliccando sulla quale abbiamo la possibilitร  di selezionare una certa famiglia di Widget (Fig. 7); selezioniamo quindi la Tipologia โ€œAnalog Widgetโ€ e poi sfogliamo quelli disponibili, soffermandoci su quello visibile nella Fig. 8.

A questo punto clicchiamo sul pulsante โ€œADD TO DASHBOARDโ€, inseriamo le eventuali opzioni e clicchiamo su โ€œADDโ€. Aprendo la Dashboard appena creata vedremo il risultato finale.

Se cambiamo la condizione di illuminazione del sensore LDR presente sul RFM69_1 vedremo che lโ€™indicatore analogico si adeguerร .

Fig. 6 Selezione del dato telematico.

 

Fig. 7 Selezione del Widget da usare.

 

ย Fig. 8 Widget Analogico.

 

Bene, abbiamo realizzato la nostra prima Dashboard! Ad essa possono essere aggiunti altri Widget, Widget che visualizzano dati provenienti da altri dispositivi oppure dati telemetrici relativi allo stesso dispositivo; per fare questo, รจ sufficiente cliccare sul pulsante arancione con lโ€™icona di una matita, presente in basso a destra.

Con tale azione avremo la possibilitร  di editare la dashboard, eliminare il Widget corrente, aggiungerne altri, oppure editare i singoli Widget.

รˆ possibile editare per esempio il Widget per modificarne la didascalia, i colori dei testi, le dimensioni e tanto altro.

Per il momento vediamo come aggiungere un Widget alla Dashboard: clicchiamo quindi sul pulsante con il simbolo + e poi sul pulsante con lโ€™icona di un foglio, ciรฒ ci permette appunto di creare ed aggiungere un nuovo Widget alla Dashboard corrente. Selezioniamo anche in questo caso un indicatore analogico ed in particolare quello che ha il simbolo dei ยฐC.

Appena clicchiamo sul Widget ci verrร  proposto di definire da quale sorgente dati (dispositivo) dobbiamo attingere per i dati da visualizzare; ci viene ricordato anche che รจ possibile usare una sola sorgente dati.

Digitiamo quindi il Nome โ€œRFM69_1โ€ nel campo โ€œAlias Entityโ€ poi clicchiamo su โ€œserie temporaleโ€ (Fig. 9 e Fig. 10) e ci apparirร  la lista di tutte le tipologie di dati telemetrici misurati dal Sensore RFM69_1; in questa sezione selezioniamo la serie temporale T.

Anche qui ci viene ricordato che รจ possibile utilizzare una sola serie temporale. Al termine clicchiamo su โ€œADDโ€ e il nuovo Widget andrร  ad aggiungersi alla nostra Dashboard (Fig. 11).

Possiamo ripetere la procedura per visualizzare nella Dashboard anche il livello del segnale RSS e la carica della batteria BAT. Naturalmente siamo liberi di usare altre tipologie di Widget.

 

Fig. 9 Assegnazione sorgente dati.

 

Fig. 10 Selezione della serie temporale.

 

Fig. 11 Dashboard che visualizza Luminositร  e Temperatura.

Semplifichiamo la gestione

La Dashboard che abbiamo abbozzato visualizzerร  i dati di un singolo dispositivo Antennino.

Immaginiamo di avere decine se non centinaia di sensori che inviano dati telemetrici verso la nostra dashboard ThingsBoard e di dover ripetere per ognuno dei dispositivi la procedura appena descritta; sarebbe veramente tedioso ripetere i vari step per ogni sensore. Inoltre, mantenere allineate tutte le Dashboard sarebbe un compito veramente ingrato e soggetto ad errori di editazione.

Supponiamo inoltre di aver sviluppato il sistema per un cliente, il quale ci chiede di voler cambiare il tipo di Widget usato per visualizzare i dati telemetrici della temperatura di tutti i sensori, invece di un indicatore circolare, ora desidera un indicatore lineare.

Bene, dovremmo editare la Dashboard di tutti i vari sensori uno ad uno. Un vero delirio! Ma ThingsBoard ha la soluzione adatta per noi.

รˆ possibile utilizzare una particolare tipologia di Widget che elenca in forma tabellare tutti i dispositivi. Quando aggiungeremo un nuovo dispositivo alla rete, questo si visualizzerร  automaticamente nella tabella.

Cliccando su una riga della tabella sarร  possibile aprire unโ€™altra Dashboard che potremo editare a nostro piacere, la quale visualizzerร  i dati telemetrici del dispositivo che abbiamo selezionato.

Quindi dovremo realizzare una sola Dashboard che visualizzerร  in modo uniforme i dati di tutti i dispositivi. Le eventuali richieste di modifica del nostro cliente ora potranno essere accolte ed esaudite con un paio di clic.

Vediamo come gestire questa tipologia di Dashboard: creiamo una nuova Dashboard, nominiamola per esempio โ€œDeviceListโ€ ed andiamo ad aggiungere degli Alias cliccando sul pulsante indicato dalla freccia in Fig. 12.

Apriamo ora una piccola parentesi sugli Alias, i quali sono dei โ€œSegnapostoโ€ per indicare degli aggregati di dispositivi: per esempio una serie di dispositivi che soddisfano un certo criterio e che possono essere usati per visualizzare dei dati. Il primo alias che andremo a creare lo indicheremo con โ€œAntenninoDevicesโ€; la creazione si effettua mediante la finestra di dialogo Add alias visibile nella Fig. 13.

รˆ quindi evidente che questo Alias in pratica rappresenta tutti i dispositivi RFM69 che fanno parte della nostra rete.

Poi andiamo a creare un altro Alias che indichiamo come โ€œCurrentDeviceโ€; questo Alias, invece, impersona il dispositivo corrente che andremo a selezionare quando cliccheremo su una riga della tabella.

 

Fig. 12 Configurazione lista dispositivi.

 

Fig. 13 Assegnazione Alias.

 

Al termine ci troveremo in una situazione come quella in Fig. 14.

Clicchiamo sul pulsane โ€œSAVEโ€; gli Alias visibili nella finestra li useremo nei Widget che andremo ad inserire; aggiungiamo un Widget della tipologia โ€œCardsโ€, selezioniamo il Tab โ€œLATEST VALUEโ€ e appena avremo cliccato sul Widget apparirร  la maschera riportante la richiesta di definire la sorgente dati.

Inseriamo come Entity alias โ€œAntenninoDevicesโ€, poi clicchiamo su Timeseries per selezionare i dati da visualizzare nella tabella. Sarebbe sufficiente uno solo dato, ma approfittiamo della vista tabellare per avere un quadro di insieme dei dati che provengono dai sensori.

Fig. 14 Gli Alias configurati.

 

Ora apriamo la Tab โ€œACTIONSโ€ nella quale, cliccando sul pulsante + per aggiungere unโ€™azione, si apre la scheda proposta nella Fig. 15 nella quale selezioniamo โ€œOn row clicโ€ su Action source, inseriremo โ€œgetDetailsโ€ in Name, selezioniamo โ€œNavigate to new dashboard stateโ€ in Type, e spuntiamo โ€œSet entity from Widgetโ€ per poi cliccare su โ€œADDโ€.

Ora clicchiamo sullโ€™icona โ€œManage Dashboard Stateโ€ e nella finestra di dialogo che si apre andiamo ad aggiungere le due righe presenti in Fig. 16, cliccando sul pulsante + e compilando la relativa maschera di inserimento; al termine clicchiamo su โ€œSAVEโ€.

 

Fig. 15 Assegnazione evento.

 

Fig. 16 Impostazione dei Dasboard states.

 

Ora andiamo a definire la Dashboard che verrร  visualizzata quando cliccheremo su una riga della tabella: allo scopo clicchiamo sul selettore indicato dalla freccia in Fig. 17, il che aprirร  una nuova Dashboard โ€œnodedetailโ€ dove andiamo ad inserire per esempio un indicatore analogico come fatto negli esempi precedenti.

Selezionato il Widget, dobbiamo definire la sorgente dati: come Entity alias selezioniamo โ€œCurrentDeviceโ€ e poi dobbiamo definire la TimeSeries.

Notate che nella relativa sezione non avremo il completamento automatico cliccando sulla dicitura; allora scriviamo T, verrร  visualizzata la scritta โ€˜Tโ€™ not found, create new one: clicchiamo su โ€˜create new onโ€™ oppure Invio, poi completiamo la definizione dei dati del Widget cliccando su โ€œADDโ€, al termine avremo la Dashboard di Fig. 18 contenente il Widget creato.

Facciamo quindi clic sul pulsante arancione in basso a destra riportante il segno di spunta โ€œApply changesโ€ per applicare le modifiche introdotte.

Ora possiamo saggiare la praticitร  di quello che abbiamo implementato: la finestra principale di ThingsBoard riporta la tabella con la lista di tutti i dispositivi RFM69 che abbiamo nella nostra rete e viene visualizzato lo stato live dei dati telemetrici corrispondenti.

Se clicchiamo in un qualunque punto di una riga, passeremo immediatamente a visualizzare la Dashboard relativa al dispositivo corrispondente. Da notare che cliccando sulla voce โ€œDeviceListโ€ ritorneremo alla visualizzazione tabellare.

 

Fig. 17 Avvio della creazione della Dashboard.

 

Fig. 18 Dashboard contenente un solo Widget del tipo strumento a lancetta.

 

Custom Widget

Abbiamo sviluppato dei Widget per interfacciarsi con i moduli Antennino, uno di questi รจ CUSTOM GPIO quindi apriamo la cartella dei Widget, clicchiamo sul pulsante con il + per aggiungere un Widget e poi sulla icona con la freccia verso lโ€™alto โ€œImport Widget Bundleโ€ e quando si apre la finestra di importazione selezioniamo il file custom_gpio.json dalla cartella che avrete scaricato del nostro repository Github.

Terminata lโ€™importazione avremo un nuovo Widget nel nostro โ€œArsenaleโ€ denominato โ€œCustom GPIOโ€. Lo scopo del Widget che abbiamo appena inserito รจ quello di permettere il controllo remoto di PIN GPIO sul nostro modulo Antennino.

Nel nostro caso andremo a controllare il pin del LED (PIN9) a bordo del modulo, ma nessuno vi vieta di modificare il codice per controllare un altro pin collegato per esempio ad un relรฉ.

Procediamo quindi nellโ€™inserimento del Widget nella Dashboard che abbiamo realizzato nellโ€™ultimo esempio.

Apriamo la sezione relativa alle Dashboard, facciamo doppio clic sulla Dashboard โ€œDeviceListโ€ ed entriamo in modalitร  editing. A questo punto clicchiamo sul selettore in alto a sinistra e selezioniamo la voce โ€œnodedetailโ€ in questo modo andremo ad editare la Dashboard di dettaglio.

Andremo quindi ad aggiungere un Widget del tipo โ€œCustom GPIOโ€ cliccando sul pulsante + e poi su โ€œcreate new Widgetโ€, al termine avremo una situazione del tipo di Fig. 19.

 

Fig. 19 Aggiunta del widget GPIO.

 

Facciamo doppio clic sul Widget proposto e ci verrร  richiesto (come di consueto) di specificare la fonte dati. Indichiamo โ€œCurrentDeviceโ€ come Fonte dati, poi spostiamoci sul Tab โ€œADVANCEDโ€ dove dovremo lasciare solo un pin GPIO ed il pin deve essere il 9. Clicchiamo su โ€œADDโ€ per aggiungere il Widget appena configurato alla Dashboard; al termine, la nostra Dasboard si sarร  arricchita del controllo GIO.

Andiamo ora a completare la Dashboard NodeDetail con altri Widget. Aggiungiamo la visualizzazione tramite โ€œAnalog Gaugeโ€ del livello della batteria, e della luminositร  e poi inseriremo anche dei grafici per visualizzare lโ€™andamento nel tempo dei parametri.

I Widget sono altamente personalizzabili, nel caso dellโ€™indicatore analogico del livello della batteria sarร  possibile a definire il valore minimo e massimo ed anche le didascalie con valore minimo, massimo e medio.

Dopo aver inserito i Widget, rimanendo in modalitร  editing spostiamo i Widget nel modo che piรน ci aggrada: nel nostro caso, li abbiamo posizionati tutti su una riga per motivi di spazio, come viene mostrato nella Fig. 20.

Fig. 20 Widget disposti su unโ€™unica riga.

 

Ultima cosa che ci rimane da fare รจ quella di aggiungere anche dei Widget per visualizzare dei grafici temporali dei dati; entriamo quindi in modalitร  editing della nostra Dashboard ed inseriamo tre Widget del tipo โ€œChartโ€ โ€“ โ€œTimeseries floatโ€ (Fig. 21).

Anche qui, una volta selezionato il grafico dovremo definire la sorgente dati, la legenda, i limiti dei valori degli assi y.

Infine la Dashboard, dopo aver ripetuto lโ€™inserimento per Temperatura, Luminositร  e Batteria, si presenta completa come in Fig. 22.

Fig. 21 Inserimento del Widget grafico.

 

Fig. 22 Dashboard di dettaglio completa con piรน Widget.

 

Benissimo, ora siamo pronti a sperimentare in modo professionale!

Ripristino di una Dashboard da file di backup Json

Quando avrete terminato la realizzazione della Dashboard e vi sentirete soddisfatti, oppure quando ritenete di dover apportare delle modifiche corpose che potrebbero compromettere il funzionamento di quello che avete fatto fino a quel momento, รจ il caso di fare una pausa per un caffรจ ed eseguire un backup del vostro lavoro.

La procedura di backup รจ molto semplice. รˆ sufficiente selezionare la lista delle Dashboard, individuare quella che deve essere salvata e poi cliccare sul pulsante con la freccia verso il basso โ€œExport Dashboardโ€.

Questo permette di salvare la dashboard completa sotto forma di un file Json nel nostro PC. Per facilitarvi il compito abbiamo effettuato il backup delle configurazioni dei Widget e delle Dashboard.

Accedete quindi al progetto su Github e scaricate lo zip contenente i file necessari.

Una volta scompattata la cartella sul vostro PC, tra le tante cartelle, ne troverete una denominata ThingsBoard in cui sono presenti altre sottocartelle: Widget e Dashboard. Allโ€™interno di Dashboard troverete il file devicelist.json.

Il nostro suggerimento รจ quello di provare a creare da soli la Dashboard seguendo le indicazioni riportate nel paragrafo precedente, ma se proprio incontrate delle difficoltร  potrete crearla ripristinandola dal vostro backup.

Anche in questo caso la procedura รจ molto semplice. Aprite la pagina relativa alle Dashboard e individuate il pulsante arancio con il simbolo del +: cliccandolo, si visualizzeranno altri due pulsanti; cliccate su quello superiore con la freccia verso lโ€™alto e apparirร  un box centrale (Fig. 23) dove vi verrร  proposto di trascinare sulla zona tratteggiata oppure di fare doppio clic sulla stessa per importare il file json di una Dashboard preventivamente salvata.

Fig. 23 Ripistino di una Dashboard da file Json.

 

Individuate quindi il file devicelist.json nel vostro PC e cliccate sul pulsante โ€œIMPORTAโ€. Se vi viene richiesto di configurare lโ€™alias del Gateway, cliccate sul pulsante con la matita, allorchรฉ si aprirร  la finestra proposta nella Fig. 24, nella quale andrete a compilare come indicato in figura e poi a salvare. Se tutto sarร  andato a buon fine avrete la vostra Dashboard pronta per lโ€™uso.

Fig. 24 Configurazione dellโ€™alias del gateway.

Conclusioni

Bene, per il momento abbiamo terminato.

Prendete confidenza con ThingsBoard e se non vi fate intimorire dallโ€™inglese, dedicate del tempo anche alla lettura delle guide presenti sul sito ufficiale.

Ci sono molte cose da imparare e sperimentare. Prossimamente spiegheremo come utilizzare ThingsBoard in un ambiente Multi-Tenant e Multi-Client; introdurremo gli attributi assegnabili agli oggetti di ThingsBoard e la gestione degli allarmi con un ulteriore Widget sviluppato da noi che ci permetterร  di gestire le soglie di allarme dei singoli dispositivi in maniera grafica, senza dover scrivere del codice.

Vedremo anche come inviare delle notifiche push verso un dispositivo Android, oppure come inviare delle e-mail al verificarsi di una condizione di allarme.

Lascia un commento

Il tuo indirizzo email non sarร  pubblicato.

Menu