Sommario:

Tracker GPS Arduino LTE + Dashboard IoT (parte 2): 6 passaggi (con immagini)
Tracker GPS Arduino LTE + Dashboard IoT (parte 2): 6 passaggi (con immagini)

Video: Tracker GPS Arduino LTE + Dashboard IoT (parte 2): 6 passaggi (con immagini)

Video: Tracker GPS Arduino LTE + Dashboard IoT (parte 2): 6 passaggi (con immagini)
Video: NEO 6M GPS Module with Arduino : Introduction Video 2024, Dicembre
Anonim
Image
Image
ThingsBoard Setup
ThingsBoard Setup

Introduzione e riassunto della prima parte

Sì, è ora di un altro Instructable sul localizzatore GPS SIM7000 con Arduino e LTE! Se non l'hai già fatto, consulta il tutorial iniziale per lo shield Botletics SIM7000 CAT-M/NB-IoT, quindi leggi la Parte 1 del tutorial sul tracciamento GPS. Pertanto, presumo che tu abbia tutto l'hardware configurato e pronto per pubblicare i dati nel cloud, tutto ciò di cui abbiamo veramente bisogno in questo tutorial è familiarizzare con ThingsBoard e fare un altro test su strada per vedere i dati sorprendenti che Spettacoli!

Nella parte 1 abbiamo ottenuto con successo il nostro ingegnoso localizzatore GPS per inviare dati a dweet.io e recuperato i dati su freeboard.io per visualizzare i dati. Tuttavia, mi sono presto reso conto che la funzionalità della mappa era piuttosto scadente a bordo libero poiché non ti consente di spostare il cursore o persino di ridimensionare la finestra del widget. Questo mi ha portato a una soluzione migliore: ThingsBoard.io che è una dashboard IoT super fantastica (e gratuita!) Che ti consente di archiviare, visualizzare e personalizzare i tuoi dati! Puoi trascinare per riorganizzare i widget (e funziona in Chrome a differenza di Freeboard) e la qualità complessiva è la crema del raccolto. Ancora più importante, il widget della mappa di Google ti consente di muoverti liberamente, ingrandire e rimpicciolire e selezionare diversi stili (satellite, vista stradale, ecc.) E ti consente persino di trascinare e rilasciare il piccolo ragazzo giallo sulla strada per le viste stradali !

Passaggio 1: configurazione di ThingsBoard

ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup

Account ThingsBoard e configurazione del dispositivo

La prima cosa che dovresti fare è andare alla home page di ThingsBoard, quindi creare un account facendo clic sul pulsante del menu in alto a destra e selezionando "Live Demo". Crea un account, verifica il tuo account in un'e-mail che ti inviano, quindi accedi di nuovo alla schermata iniziale della demo live. Questo dovrebbe portarti a una schermata in cui puoi gestire tutti i tuoi dispositivi, modificare le dashboard, ecc.

Quindi, seleziona la scheda "Dispositivi" sul lato sinistro. Questo dovrebbe far apparire una serie di dispositivi demo come demo ESP8266, DHT22, Arduino e Pi, ecc. Crea un nuovo dispositivo facendo clic sul pulsante rosso "+" in basso a destra e inserisci un nome e scegli "predefinito" per il tipo di dispositivo. Dopo aver fatto clic su "AGGIUNGI" dovresti vedere il tuo nuovo dispositivo nella scheda Dispositivi. Fai clic su "Gestisci credenziali" e dovresti vedere una piccola finestra pop-up che mostra il token di accesso del dispositivo. Questo è essenzialmente l'ID del dispositivo ed è analogo all'ID del dispositivo utilizzato per la pubblicazione dei dati su dweet.io. Se lo desideri, puoi modificare questo ID dispositivo con il numero IMEI del tuo scudo, ma puoi anche utilizzare semplicemente il token generato automaticamente. Copia questo token perché ti servirà nello sketch di Arduino.

Configurazione di esempio Arduino

In questo tutorial useremo lo stesso identico sketch Arduino di esempio del primo tutorial, ma questa volta ho aggiornato lo sketch per includere il codice per inviare i dati direttamente a ThingsBoard.io invece che a dweet.io nella Parte 1. Come sempre, puoi trovare il codice di esempio qui su Github.

La prima cosa che devi fare è commentare le linee che rendono lo shield post su dweet.io:

// GET request /* // Puoi modificare il contenuto della richiesta se non hai bisogno di determinate cose come velocità, altitudine, ecc. sprintf(URL, "https://dweet.io/dweet/for/%s ?lat=%s&long=%s&speed=%s&head=%s&alt=%s&temp=%s&batt=%s", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

contatore int = 0; // Questo conta il numero di tentativi falliti

// Prova un totale di tre volte se il post non ha avuto successo (prova altre 2 volte) while (counter < 3 && !fona.postData("GET", URL, "")) { // Aggiungi le virgolette "" come terzo input perché per la richiesta GET non c'è "body" Serial.println(F("Failed to post data, retrying…")); contatore++; // Incrementa il ritardo del contatore (1000); } */

Quindi, decommenta le righe che pubblicano su thingsboard.io:

// Proviamo una richiesta POST a thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Dal dispositivo thingsboard.io sprintf(URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf(body, "{"latitude\":%s, \"longitude\":%s, \"speed\":%s, \"head\":%s, \"alt\":%s, \"temp\":%s, \"batt\":%s}", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf(body, "{"lat\":%s, \"long\":%s}", latBuff, longBuff); // Se tutto ciò che vuoi è lat/long

contatore int = 0;

while (!fona.postData("POST", URL, body)) { Serial.println(F("Impossibile completare HTTP POST…")); contatore++; ritardo(1000); }

Carica il codice sul tuo Arduino, assicurati di avere la scheda SIM e l'antenna collegate e verifica che lo shield stia inviando il codice al cloud prima di procedere!

NOTA: Arduino Uno ha pochissima memoria (RAM) e la pubblicazione su Thingsboard può causare l'arresto anomalo di Arduino. Se si verifica il riavvio dello schizzo approssimativamente nella posizione della funzione postData() o altri comportamenti strani, è molto probabile che stia accadendo. La soluzione semplice è sostituire Uno con un Arduino Mega o una scheda con più RAM. Puoi anche provare a ridurre al minimo le dimensioni degli array e suddividere i dati in più post.

Passaggio 2: verifica la ricezione dei dati

Verifica la ricezione dei dati
Verifica la ricezione dei dati

Per verificare effettivamente che i dati vengano inviati correttamente a ThingsBoard, vai alla stessa pagina dei dettagli del dispositivo (fai clic sul riquadro del dispositivo GPS Tracker nella pagina "Dispositivi"), quindi fai clic sulla scheda "Ultima telemetria". Se il tuo localizzatore GPS sta inviando valori a ThingsBoard dovresti vedere gli ultimi valori qui e si aggiorneranno in tempo reale non appena arrivano.

Ora che hai verificato che ThingsBoard sta effettivamente ricevendo i dati, è ora di impostare la dashboard in modo che possiamo visualizzare i nostri dati quando li raccogliamo! (O dopo il fatto)

Passaggio 3: configurazione della dashboard

Configurazione della dashboard
Configurazione della dashboard
Configurazione della dashboard
Configurazione della dashboard
Configurazione della dashboard
Configurazione della dashboard

Ora è il momento per la parte divertente! Ora fai clic sulla scheda "Dashboard" a sinistra e seleziona il tuo dispositivo di localizzazione GPS. Questo dovrebbe far apparire una nuova pagina che ti chiede di aggiungere widget. Fare clic sul pulsante "+" in basso a destra e "crea nuovo widget" per visualizzare un menu a discesa di widget tra cui scegliere. Per ora aggiungiamo un "indicatore digitale". La selezione di questo dovrebbe caricare una serie di anteprime per tutti i diversi tipi di indicatori digitali tra cui è possibile scegliere. Quando fai clic su uno, verrà visualizzata un'altra schermata per impostare i parametri del widget. La prima cosa che devi aggiungere è l'origine dati (il tuo dispositivo di localizzazione GPS che invia i dati a ThingsBoard). Premi il pulsante "+ AGGIUNGI" e seleziona il tuo dispositivo "Tracciatore GPS" e seleziona la variabile appropriata che desideri venga visualizzata dal widget. In questo caso scegliamo la variabile "temp" (temperatura).

Ora se vuoi aggiungere cose come un titolo per il widget, vai nella scheda "Impostazioni", seleziona "Titolo visualizzato" e inserisci un titolo. Ci sono molte altre cose che puoi fare nella scheda "Avanzate", ma ti permetterò di indagare su quelle da solo! Divertiti a modificare gli intervalli di valori, il testo dell'etichetta, i colori e altro! Dopo aver aggiunto il widget, apparirà in basso a sinistra della tua dashboard (potresti dover scorrere verso il basso se hai più widget che riempiono lo schermo). Puoi modificare il widget in qualsiasi momento premendo il pulsante sul widget se sei già nella modalità di modifica della dashboard, oppure entrare nella modalità di modifica premendo prima il pulsante matita in basso a destra dell'intero schermo per consentirti di modificare i widget. Abbastanza diretto!

Passaggio 4: aggiunta di una mappa

Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!
Aggiunta di una mappa!

Ora per un localizzatore GPS una mappa è un must! Aggiungiamone uno creando un nuovo widget (di nuovo il pulsante "+" in basso a destra) e questa volta scorriamo verso il basso e selezioniamo "Mappe". Vai avanti e fai clic su uno e verranno visualizzate le opzioni per esso. Aggiungi l'origine dati come al solito, ma questa volta seleziona entrambe le variabili "lat" e "long" poiché saranno necessarie entrambe per ottenere la posizione. Successivamente, vai alla scheda "Impostazioni" e qui puoi impostare la finestra temporale dei dati da visualizzare sulla mappa. Ad esempio, potresti voler visualizzare solo gli ultimi 2 minuti di dati, o potresti volere tutti i dati da ieri, o forse vuoi solo una finestra temporale fissa (come dalle 14:00 di ieri alle 10:00 di oggi).

Se lo desideri, puoi quindi andare alla scheda "Avanzate" e selezionare il tipo di mappa (roadmap, satellite, ibrida o terreno). Forse la parte più importante di tutto questo è controllare i nomi delle chiavi di latitudine e longitudine. Assicurati che questi nomi corrispondano esattamente ai nomi delle variabili che stai effettivamente inviando a ThingsBoard. Ad esempio, se il tuo schizzo Arduino dice che sta inviando variabili "lat" e "long" (che è per impostazione predefinita), allora devi cambiare i nomi delle chiavi in "lat" e "long" e usare "latitude" e "longitude" non recupererà i tuoi dati!

Ancora una volta, dopo aver aggiunto la mappa, apparirà nella parte inferiore della dashboard. Basta trascinarlo per riposizionarlo sulla dashboard e fare clic e trascinare i bordi per ridimensionarlo. Se la tua finestra temporale è stata impostata correttamente dovresti vedere la tua posizione attuale apparire sulla mappa. Super pulito eh? Ora siamo pronti per un vero test!

Passaggio 5: prova su strada

Prova su strada
Prova su strada
Prova su strada
Prova su strada

Testare il localizzatore GPS è semplicissimo! Basta collegare Arduino a un adattatore USB per auto per alimentarlo, assicurarsi che il LED verde si accenda e dovrebbe iniziare a inviare dati! Per modificare la frequenza di campionamento del localizzatore GPS, assicurati di trovare questa riga di codice nello schizzo di esempio:

#define samplingRate 10 // Il tempo tra i post, in secondi

e impostalo su quello che vuoi. Ho scoperto che i 10 funzionano abbastanza bene per un piacevole test su strada, ma se sei veloce e furioso forse potresti volere una frequenza di campionamento ancora più alta!

Passaggio 6: risultati

Risultati
Risultati
Risultati
Risultati
Risultati
Risultati

Nelle immagini sopra puoi vedere la mia configurazione della dashboard. Ho aggiunto grafici per rappresentare graficamente i dati storici per cose come velocità, altitudine e temperatura, e ho anche incluso indicatori in tempo reale nel caso in cui volessi vederli in tempo reale su un altro viaggio su strada (immagina questo in un camper!).

La mappa era fantastica e sono riuscito a raccogliere alcuni dati davvero accurati di un percorso che ho preso. Inoltre, i dati sulla velocità erano estremamente precisi perché non abbiamo mai superato i 40 mph (il grafico è in km/h) sulle strade cittadine. Le numerose fluttuazioni di velocità possono essere spiegate dai semafori. Nel complesso, ottimi risultati e immagina per cos'altro potremmo usare questo! Puoi installarlo su un camper, una moto, un'auto, ecc. E tenerlo sempre traccia e visualizzare i risultati su ThingsBoard!

Per riassumere, in questo tutorial abbiamo programmato il nostro localizzatore GPS per inviare dati direttamente a ThingsBoard tramite richieste HTTP POST e gestito i dati su una dashboard. Puoi aggiungere più dispositivi e dashboard, ciascuno contenente più widget dall'aspetto fantastico e con molte opzioni di personalizzazione! ThingsBoard ha dimostrato di essere uno strumento molto potente (e gratuito!) per visualizzare i dati IoT e ci sono anche altre funzionalità che non ho nemmeno graffiato. Sentiti libero di giocarci un po' e vedi cosa trovi.

  • Se ti è piaciuto questo tutorial, se ne hai creato uno tuo o se hai domande, lascia un commento qui sotto!
  • Assicurati di dare un cuore a questo Instructable e iscriviti qui e sul mio canale YouTube per altri fantastici tutorial relativi ad Arduino!
  • Se desideri supportare ciò che faccio, considera l'acquisto del tuo scudo Botletics SIM7000 su Amazon.com!

Con questo, ci vediamo la prossima volta!

Consigliato: