Indholdsfortegnelse:

LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 trin (med billeder)
LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 trin (med billeder)

Video: LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 trin (med billeder)

Video: LTE Arduino GPS Tracker + IoT Dashboard (del 2): 6 trin (med billeder)
Video: 4G GPS Tracker using Blynk 2.0 🔥🔥 | No WiFi Required 🚫 2024, Juli
Anonim
Image
Image
Opsætning af ting
Opsætning af ting

Introduktion og del 1 Resumé

Yup, det er tid til endnu en instruerbar på SIM7000 GPS -trackeren med Arduino og LTE! Hvis du ikke allerede har gjort det, skal du gå igang med selvstudiet til at komme i gang for Botletics SIM7000 CAT-M/NB-IoT-skærmen, og læs derefter del 1 i GPS-sporingsvejledningen. Som sådan vil jeg antage, at du har al hardware installeret og klar til at sende data til skyen, alt hvad vi virkelig skal gøre i denne vejledning, er at gøre os bekendt med ThingsBoard og lave en anden vejtest for at se de fantastiske data det viser sig!

I del 1 fik vi med succes vores fiks GPS -tracker til at sende data til dweet.io og hentede dataene på freeboard.io for at visualisere dataene. Imidlertid indså jeg hurtigt, at kortfunktionen var ret halt på fribord, da det ikke tillader dig at flytte markøren rundt eller endda ændre størrelsen på widgetvinduet. Dette førte mig til en bedre løsning: ThingsBoard.io, som er et super-fantastisk IoT-dashboard (og gratis!), Der giver dig mulighed for at gemme, visualisere og tilpasse pokker i dine data! Du kan trække for at omarrangere widgets (og det fungerer i Chrome i modsætning til fribord), og den overordnede kvalitet er cremen af afgrøden. Vigtigst er det, at Google map -widget'en giver dig mulighed for frit at bevæge dig rundt, zoome ind og ud og vælge forskellige stilarter (satellit, vejvisning osv.) Og endda give dig mulighed for at trække og slippe den lille gule fyr på vejen for gadevisninger !

Trin 1: Opsætning af ThingsBoard

Opsætning af ting
Opsætning af ting
Opsætning af ting
Opsætning af ting

ThingsBoard -konto og enhedsopsætning

Den første ting du skal gøre er at gå til ThingsBoard -startsiden, og derefter oprette en konto ved at klikke på menuen øverst til højre og vælge "Live Demo". Opret en konto, bekræft din konto i en e -mail, de sender dig, og log derefter ind på Live Demo -startskærmen igen. Dette skulle bringe dig til en skærm, hvor du kan administrere alle dine enheder, redigere dashboards osv.

Vælg derefter fanen "Enheder" i venstre side. Dette skulle bringe en flok demoenheder frem som ESP8266, DHT22, Arduino og Pi demoer osv. Opret en ny enhed ved at klikke på den røde "+" knap nederst til højre og indtast et navn og vælg "standard" for enhedstype. Efter at have klikket på "TILFØJ" skal du se din nye enhed på fanen Enheder. Klik på "Administrer legitimationsoplysninger", og du skal se et lille vindue, der viser enhedens adgangstoken. Dette er i det væsentlige enheds -id'et og er analogt med det enheds -id, der bruges til at sende data til dweet.io. Du kan ændre dette enheds-ID til IMEI-nummeret på dit skjold, hvis du vil, men du kan også bare bruge det automatisk genererede token. Kopiér dette token, da du får brug for det i Arduino -skitsen.

Opsætning af Arduino -eksempel

I denne vejledning bruger vi nøjagtig samme eksempel Arduino -skitse som i den første selvstudie, men denne gang har jeg opdateret skitsen til at inkludere kode til at sende data direkte til ThingsBoard.io i stedet for dweet.io i del 1. Som altid, kan du finde eksempelkoden her på Github.

Den første ting du skal gøre er at kommentere de linjer, der gør skjoldet til dweet.io:

// HENT anmodning/* // Du kan justere indholdet af anmodningen, hvis du ikke har brug for bestemte ting som hastighed, højde osv. 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 tæller = 0; // Dette tæller antallet af mislykkede forsøg

// Prøv i alt tre gange, hvis indlægget mislykkedes (prøv yderligere 2 gange), mens (tæller <3 &&! Fona.postData ("GET", URL, "")) {// Tilføj citaterne "" som tredje input, fordi der for GET -anmodning ikke er nogen "body" Serial.println (F ("Kan ikke sende data, prøver igen …")); tæller ++; // Forsinkelse af stigningstæller (1000); } */

Fjern derefter en kommentar til de linjer, der sender til thingsboard.io:

// Lad os prøve en POST -anmodning til thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Fra thingsboard.io -enhed sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (krop, "{" breddegrad / ":%s, \" længdegrad / ":%s, \" hastighed / ":%s, \" hoved / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // Hvis alt du ønsker er lat/lang

int tæller = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Kunne ikke fuldføre HTTP POST …")); tæller ++; forsinkelse (1000); }

Upload koden til din Arduino, sørg for at have SIM -kortet og antennen tilsluttet, og kontroller, at skjoldet sender kode til skyen, inden du fortsætter!

BEMÆRK: Arduino Uno har meget lidt hukommelse (RAM), og opslag på Thingsboard kan få Arduino til at gå ned. Hvis du oplever genstart af skitsen på omtrent placeringen af postData () -funktionen eller anden underlig adfærd, er det højst sandsynligt, hvad der sker. Den nemme løsning på det er at skifte Uno ud med en Arduino Mega eller et bræt med mere RAM. Du kan også prøve at minimere størrelsen på arrays og opdele dataene i flere indlæg.

Trin 2: Bekræft datamodtagelse

Bekræft datamodtagelse
Bekræft datamodtagelse

For faktisk at bekræfte, at data sendes korrekt til ThingsBoard, skal du gå til den samme enhedsdetaljeside (klik på GPS Tracker -enhedsflisen på siden "Enheder"), og klik derefter på fanen "Seneste telemetri". Hvis din GPS -tracker sender værdier til ThingsBoard, skal du se de nyeste værdier her, og de opdateres i realtid, når de kommer ind.

Nu hvor du har verificeret, at ThingsBoard faktisk får dataene, er det tid til at opsætte instrumentbrættet, så vi kan visualisere vores data, når vi samler dem! (Eller efter det faktum)

Trin 3: Opsætning af instrumentbræt

Opsætning af instrumentbræt
Opsætning af instrumentbræt
Opsætning af instrumentbræt
Opsætning af instrumentbræt
Opsætning af instrumentbræt
Opsætning af instrumentbræt

Nu er det tid til den sjove del! Klik nu på fanen "Dashboards" til venstre, og vælg din GPS -tracker -enhed. Dette skulle vise en ny side, der beder dig om at tilføje widgets. Klik på knappen "+" nederst til højre og "opret ny widget" for at få vist en rullemenu med widgets at vælge imellem. Lad os foreløbig tilføje en "digital måler". Hvis du vælger dette, skal du indlæse en masse forhåndsvisninger for alle de forskellige typer digitale målere, du kan vælge imellem. Når du klikker på en, vises en anden skærm, hvor du kan konfigurere widgetparametrene. Den første ting, du skal tilføje, er datakilden (din GPS -tracker -enhed, der sender dataene til ThingsBoard). Tryk på knappen "+ TILFØJ", og vælg din "GPS Tracker" -enhed, og vælg den relevante variabel, som widgeten skal vise. I dette tilfælde, lad os vælge variablen "temp" (temperatur).

Hvis du nu vil tilføje ting som en titel til widgeten, skal du gå under fanen "Indstillinger", kontrollere "Vis titel" og indtaste en titel. Der er masser af andre ting, du kan gøre under fanen "Avanceret", men jeg vil lade dig undersøge dem selv! Hav det sjovt med at ændre værdiområderne, etikettekst, farver og mere! Efter tilføjelse af widgeten vises den nederst til venstre på dit dashboard (du skal muligvis rulle ned, hvis du har flere widgets, der fylder skærmen). Du kan når som helst redigere widgeten ved at trykke på knappen på widgeten, hvis du allerede er i redigeringsfunktionen i instrumentbrættet, eller gå ind i redigeringstilstanden ved først at trykke på blyantknappen nederst til højre på hele skærmen, så du kan redigere widgets. Ret ligetil!

Trin 4: Tilføjelse af et kort

Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!
Tilføjelse af et kort!

Nu for en GPS-tracker er et kort et must-have! Lad os tilføje en ved at oprette en ny widget (nederste højre "+" knap igen) og denne gang rulle ned og vælge "Kort". Fortsæt og klik på en, så får du vist mulighederne for det. Tilføj datakilden som normalt, men denne gang skal du vælge både "lat" og "lange" variabler, da det skal bruge begge disse for at få placeringen. Gå derefter til fanen "Indstillinger", og her kan du indstille tidsvinduet for dataene, der skal vises på kortet. For eksempel vil du muligvis kun have de sidste 2 minutter med data vist, eller du vil måske have alle data siden i går, eller måske vil du bare have et fast vindue i tide (som kl. 14 i går til kl. 10 i dag).

Hvis du vil, kan du gå til fanen "Avanceret" og vælge korttypen (køreplan, satellit, hybrid eller terræn). Måske er den vigtigste del af alt dette at kontrollere bredde- og længdegradens nøglenavne. Sørg for, at disse navne nøjagtigt svarer til de variabelnavne, du rent faktisk sender til ThingsBoard. For eksempel, hvis din Arduino -skitse siger, at den sender "lat" og "lange" variabler (som den er som standard), skal du ændre nøglenavne til "lat" og "long" og bruge "latitude" og "longitude" vil ikke hente dine data!

Igen, efter tilføjelse af kortet, vises det i bunden af instrumentbrættet. Bare træk det for at placere det igen på instrumentbrættet, og klik og træk i kanterne for at ændre størrelsen. Hvis dit tidsvindue var indstillet korrekt, skulle din aktuelle placering blive vist på kortet. Super pæn he? Nu er vi klar til en rigtig test!

Trin 5: Vejprøve

Road Test
Road Test
Road Test
Road Test

At teste GPS -trackeren er superenkelt! Bare tilslut Arduino til en bil USB -adapter for at tænde den, sørg for at den grønne LED tænder, og den skal begynde at sende data! Hvis du vil ændre samplingshastigheden for GPS -trackeren, skal du sørge for at finde denne kodelinje i eksempelskitsen:

#define samplingRate 10 // Tiden mellem indlæg, i sekunder

og indstil det til hvad du vil. Jeg fandt ud af, at 10'er fungerer ganske godt til en afslappet vejtest, men hvis du er hurtig og rasende, vil du måske have en endnu højere prøveudtagningshastighed!

Trin 6: Resultater

Resultater
Resultater
Resultater
Resultater
Resultater
Resultater

På billederne ovenfor kan du se mit dashboard opsætning. Jeg tilføjede diagrammer til grafiske historiske data for ting som hastighed, højde og temperatur, og inkluderede også målere i realtid, hvis jeg vil se dem i realtid på en anden road trip (billede dette i en RV!).

Kortet var fantastisk, og det lykkedes mig at indsamle nogle virkelig nøjagtige data om en rute, jeg tog. Hastighedsdataene var også ekstremt nøjagtige, fordi vi aldrig oversteg ca. 40 km / t (grafen er i km / t) på byvejene. De mange udsving i hastigheden kan forklares med lyskrydsene. Samlet set gode resultater og forestil dig hvad vi ellers kunne bruge dette til! Du kan installere dette på en autocamper, motorcykel, bil osv. Og få det til at spore hele tiden og trække resultaterne frem på ThingsBoard!

For at opsummere, i denne vejledning programmerede vi vores GPS -tracker til at sende data direkte til ThingsBoard via HTTP POST -anmodninger og administrerede dataene på et dashboard. Du kan tilføje flere enheder og dashboards, der hver indeholder flere widgets, der ser super fede ud og har masser af tilpasningsmuligheder! ThingsBoard har vist sig at være et meget kraftfuldt (og gratis!) Værktøj til at se IoT -data, og der er endda andre funktioner, som jeg ikke engang har ridset. Du er velkommen til at lege med det og se, hvad du finder.

  • Hvis du kunne lide denne vejledning, lavede din egen eller har spørgsmål, kan du skrive en kommentar herunder!
  • Sørg for at give denne Instructable et hjerte og abonnere her og på min YouTube-kanal for flere fantastiske Arduino-relaterede tutorials!
  • Hvis du gerne vil støtte det, jeg gør, kan du overveje at købe dit eget Botletics SIM7000 -skjold på Amazon.com!

Med det, ses vi næste gang!

Anbefalede: