Innehållsförteckning:

LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 steg (med bilder)
LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 steg (med bilder)

Video: LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 steg (med bilder)

Video: LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 steg (med bilder)
Video: #10 Real-Time LTE Arduino GPS Tracker (Part 1) 2024, Juli
Anonim
Image
Image
ThingsBoard Setup
ThingsBoard Setup

Intro & Del 1 Sammanfattning

Japp, det är dags för ännu en instruerbar på SIM7000 GPS -tracker med Arduino och LTE! Om du inte redan har gjort det kan du gå igenom instruktionerna för att komma igång för Botletics SIM7000 CAT-M/NB-IoT-skölden och läs sedan upp del 1 i guiden för GPS-spårning. Som sådan kommer jag att anta att du har all hårdvara installerad och redo att lägga upp data i molnet, allt vi verkligen behöver göra i den här självstudien är att bekanta oss med ThingsBoard och göra ett annat vägprov för att se de fantastiska data det visar!

I del 1 fick vi framgångsrikt vår fiffiga GPS -tracker för att skicka data till dweet.io och hämtade data på freeboard.io för att visualisera data. Men jag insåg snart att kartfunktionen var ganska halt på fribord eftersom det inte tillåter dig att flytta markören eller till och med ändra storlek på widgetfönstret. Detta ledde mig till en bättre lösning: ThingsBoard.io som är en super-fantastisk IoT-instrumentpanel (och gratis!) Som låter dig lagra, visualisera och anpassa fan din data! Du kan dra för att omorganisera widgets (och det fungerar i Chrome till skillnad från fribord), och den övergripande kvaliteten är grädden av grödan. Viktigast av allt, med Google -kartwidgeten kan du röra dig fritt, zooma in och ut och välja olika stilar (satellit, vägvy, etc.) och till och med låta dig dra och släppa den lilla gula killen på vägen för gatuvyer !

Steg 1: Installation av ThingsBoard

ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup

ThingsBoard -konto och enhetsinställning

Det första du bör göra är att gå till ThingsBoard -hemsidan och sedan skapa ett konto genom att klicka på menyknappen längst upp till höger och välja "Live Demo". Skapa ett konto, verifiera ditt konto i ett e -postmeddelande som de skickar dig och logga sedan in igen på Live Demo -startskärmen. Detta bör ta dig till en skärm där du kan hantera alla dina enheter, redigera instrumentpaneler, etc.

Välj sedan fliken "Enheter" till vänster. Detta bör ta upp ett gäng demoenheter som ESP8266, DHT22, Arduino och Pi demos, etc. Skapa en ny enhet genom att klicka på den röda "+" knappen längst ner till höger och ange ett namn och välj "standard" för enhetstyp. Efter att ha klickat på "ADD" bör du se din nya enhet på fliken Enheter. Klicka på "Hantera autentiseringsuppgifter" och du bör se ett litet fönster som visar enhetens åtkomsttoken. Detta är i huvudsak enhets -ID och är analogt med enhets -ID som används för att posta data till dweet.io. Du kan ändra detta enhets-ID till IMEI-numret på din sköld om du vill, men du kan också bara använda den automatiskt genererade token. Kopiera denna token eftersom du kommer att behöva den i Arduino -skissen.

Arduino Exempel installation

I denna handledning använder vi exakt samma exempel Arduino -skiss som i den första självstudien men den här gången har jag uppdaterat skissen för att inkludera kod för att skicka data direkt till ThingsBoard.io istället för dweet.io i del 1. Som alltid, kan du hitta exempelkoden här på Github.

Det första du behöver göra är att kommentera raderna som gör att skärmen postar till dweet.io:

// Hämta begäran/* // Du kan justera innehållet i begäran om du inte behöver vissa saker som hastighet, höjd, etc. 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);

int räknare = 0; // Detta räknar antalet misslyckade försök

// Försök totalt tre gånger om inlägget misslyckades (försök ytterligare 2 gånger) medan (räknare <3 &&! Fona.postData ("GET", URL, "")) {// Lägg till citaten "" som tredje input eftersom för GET -begäran finns det ingen "body" Serial.println (F ("Det gick inte att posta data, försöker igen …")); räknare ++; // Fördröjning av inkrementräknare (1000); } */

Avmarkera sedan raderna som skickas till thingsboard.io:

// Låt oss prova en POST -begäran till thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Från thingsboard.io -enhet sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (kropp, "{" latitud / ":%s, \" longitud / ":%s, \" hastighet / ":%s, \" huvud / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // Om allt du vill är lat/långt

int räknare = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Det gick inte att slutföra HTTP POST …")); räknare ++; fördröjning (1000); }

Ladda upp koden till din Arduino, se till att du har SIM -kortet och antennen ansluten och kontrollera att skölden skickar kod till molnet innan du fortsätter!

OBS: Arduino Uno har väldigt lite minne (RAM) och postning på Thingsboard kan orsaka att Arduino kraschar. Om du upplever omstart av skissen på ungefär platsen för postData () -funktionen eller annat konstigt beteende, är det troligtvis vad som händer. Den enkla lösningen på det är att byta ut Uno med en Arduino Mega eller ett kort med mer RAM. Du kan också försöka minimera storleken på matriserna och dela upp data i flera inlägg.

Steg 2: Verifiera datamottagning

Verifiera datamottagning
Verifiera datamottagning

För att faktiskt verifiera att data skickas till ThingsBoard korrekt, gå till samma enhetsinformationssida (klicka på GPS Tracker -enhetens sida på "Enheter" -sidan) och klicka sedan på "Senaste telemetri" -fliken. Om din GPS -tracker skickar värden till ThingsBoard bör du se de senaste värdena här och de kommer att uppdateras i realtid när de kommer in.

Nu när du har verifierat att ThingsBoard faktiskt får data är det dags att konfigurera instrumentpanelen så att vi kan visualisera vår data när vi samlar in den! (Eller efter det faktum)

Steg 3: Konfigurera instrumentpanelen

Installera instrumentpanelen
Installera instrumentpanelen
Installera instrumentpanelen
Installera instrumentpanelen
Installera instrumentpanelen
Installera instrumentpanelen

Nu är det dags för den roliga delen! Klicka nu på "Dashboards" -fliken till vänster och välj din GPS -tracker -enhet. Detta bör ta upp en ny sida som ber dig att lägga till widgets. Klicka på knappen "+" längst ner till höger och "skapa ny widget" för att öppna en rullgardinsmeny med widgetar att välja mellan. Låt oss tills vidare lägga till en "digital mätare". Om du väljer detta bör du ladda en massa förhandsvisningar för alla de olika typerna av digitala mätare du kan välja mellan. När du klickar på en visas en annan skärm där du kan ställa in widgetparametrarna. Det första du behöver lägga till är datakällan (din GPS -tracker -enhet som skickar data till ThingsBoard). Tryck på "+ ADD" -knappen och välj din "GPS Tracker" -enhet och välj lämplig variabel som du vill att widgeten ska visa. I det här fallet, låt oss välja variabeln "temp" (temperatur).

Om du nu vill lägga till saker som en titel för widgeten går du till fliken "Inställningar", markerar "Visa titel" och anger en titel. Det finns många andra saker du kan göra under fliken "Avancerat" men jag låter dig undersöka dem själv! Ha kul att ändra värdeintervall, etiketttext, färger och mer! När du har lagt till widgeten visas den längst ned till vänster på instrumentpanelen (du kan behöva rulla nedåt om du har flera widgets som fyller skärmen). Du kan när som helst redigera widgeten genom att trycka på knappen på widgeten om du redan är i redigeringsläget för instrumentpanelen, eller gå in i redigeringsläget genom att trycka på pennknappen längst ned till höger på hela skärmen för att du ska kunna redigera widgetarna. Ganska okomplicerat!

Steg 4: Lägga till en karta

Lägger till en karta!
Lägger till en karta!
Lägger till en karta!
Lägger till en karta!
Lägger till en karta!
Lägger till en karta!
Lägger till en karta!
Lägger till en karta!

Nu för en GPS-tracker är en karta ett måste! Låt oss lägga till en genom att skapa en ny widget (nedre högra "+" -knappen igen) och den här gången bläddra ner och välj "Kartor". Fortsätt och klicka på en så visas alternativen för den. Lägg till datakällan som vanligt men den här gången väljer du både "lat" och "lång" variabler eftersom det kommer att behöva båda dessa för att få platsen. Gå sedan till fliken "Inställningar" och här kan du ställa in tidsfönstret för data som ska visas på kartan. Till exempel kanske du bara vill att de sista två minuterna med data ska visas, eller så vill du ha all data sedan igår, eller kanske vill du bara ha ett fast fönster i tid (som 14.00 igår till 10 idag).

Om du vill kan du gå till fliken "Avancerat" och välja karttyp (färdplan, satellit, hybrid eller terräng). Den kanske viktigaste delen av allt detta är att kontrollera nyckelnamnen för latitud och longitud. Se till att dessa namn exakt motsvarar de variabelnamn du faktiskt skickar till ThingsBoard. Till exempel, om din Arduino -skiss säger att den skickar "lat" och "långa" variabler (som det är som standard) måste du ändra nyckelnamnen till "lat" och "long" och använda "latitude" och "longitude" hämtar inte dina data!

Återigen, efter att ha lagt till kartan kommer den att visas längst ner på instrumentpanelen. Dra helt enkelt den för att placera den igen på instrumentpanelen och klicka och dra kanterna för att ändra storlek på den. Om ditt tidsfönster var rätt inställt borde du se din nuvarande plats visas på kartan. Super snyggt va? Nu är vi redo för ett riktigt test!

Steg 5: Vägprov

Väg test
Väg test
Väg test
Väg test

Att testa GPS -spåraren är superenkelt! Anslut bara Arduino till en bil -USB -adapter för att driva den, se till att den gröna lysdioden tänds och den ska börja skicka data! För att ändra samplingshastigheten för GPS -spåraren, se till att du hittar den här kodraden i exempelskissen:

#define samplingRate 10 // Tiden mellan inlägg, i sekunder

och ställ in det du vill. Jag tyckte att 10 -talet fungerar ganska bra för ett lugnt vägprov, men om du är snabb och rasande kanske du vill ha en ännu högre provtagningshastighet!

Steg 6: Resultat

Resultat
Resultat
Resultat
Resultat
Resultat
Resultat

På bilderna ovan kan du se min instrumentpanelsinställning. Jag lade till diagram för att grafera historiska data för saker som hastighet, höjd och temperatur, och inkluderade också realtidsmätare om jag vill se dem i realtid på en annan bilresa (bild detta i en husbil!).

Kartan var jättebra och jag lyckades samla några riktigt exakta data om en rutt jag tog. Hastighetsdata var också extremt exakt eftersom vi aldrig överskred cirka 40 mph (grafen är i km / h) på stadsvägarna. De många fluktuationerna i hastighet kan förklaras av trafikljusen. Sammantaget bra resultat och tänk vad mer vi kan använda detta till! Du kan installera detta på en husbil, motorcykel, bil, etc. och låta det spåra hela tiden och dra upp resultaten på ThingsBoard!

För att sammanfatta, i denna handledning programmerade vi vår GPS -tracker för att skicka data direkt till ThingsBoard via HTTP POST -förfrågningar och hanterade data på en instrumentpanel. Du kan lägga till flera enheter och instrumentpaneler, som alla innehåller flera widgets som ser superkul ut och har många anpassningsalternativ! ThingsBoard har visat sig vara ett mycket kraftfullt (och gratis!) Verktyg för att se IoT -data och det finns även andra funktioner som jag inte ens har repat. Lek gärna med det och se vad du hittar.

  • Om du gillade denna handledning, gjorde din egen eller har några frågor, vänligen kommentera nedan!
  • Var noga med att ge denna Instructable ett hjärta och prenumerera här och på min YouTube-kanal för fler fantastiska Arduino-relaterade handledning!
  • Om du vill stödja det jag gör, överväg att köpa din egen Botletics SIM7000 -sköld på Amazon.com!

Med det, vi ses nästa gång!

Rekommenderad: