Innholdsfortegnelse:

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

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

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

Introduksjon og del 1 Oppsummering

Ja, det er på tide med nok en instruerbar på SIM7000 GPS -trackeren med Arduino og LTE! Hvis du ikke allerede har gjort det, kan du gå igjennom opplæringen for å starte Botletics SIM7000 CAT-M/NB-IoT-skjoldet, og les deretter opp del 1 i opplæringen for GPS-sporing. Som sådan kommer jeg til å anta at du har all maskinvaren satt opp og klar til å legge ut data i skyen alt vi egentlig trenger å gjøre i denne opplæringen er å gjøre oss kjent med ThingsBoard og gjøre en annen veitest for å se de fantastiske dataene det viser!

I del 1 fikk vi vår smarte GPS -tracker til å sende data til dweet.io og hentet dataene på freeboard.io for å visualisere dataene. Imidlertid innså jeg snart at kartfunksjonaliteten var ganske halt på fribord siden den ikke lar deg flytte markøren eller til og med endre størrelsen på widgetvinduet. Dette førte meg til en bedre løsning: ThingsBoard.io som er et super-fantastisk IoT-dashbord (og gratis!) Som lar deg lagre, visualisere og tilpasse pokker av dataene dine! Du kan dra for å omorganisere widgets (og det fungerer i Chrome i motsetning til fribord), og den generelle kvaliteten er kremen av avlingen. Det viktigste er at Google -kart -widgeten lar deg bevege deg fritt, zoome inn og ut og velge forskjellige stiler (satellitt, veivisning, etc.) og til og med la deg dra og slippe den lille gule fyren på veien for gatevisninger. !

Trinn 1: Oppsett av ThingsBoard

Oppsett av ThingsBoard
Oppsett av ThingsBoard
Oppsett av ThingsBoard
Oppsett av ThingsBoard

ThingsBoard -konto og enhetsoppsett

Det første du bør gjøre er å gå til ThingsBoard -hjemmesiden, deretter opprette en konto ved å klikke på menyknappen øverst til høyre og velge "Live Demo". Opprett en konto, bekreft kontoen din i en e -post de sender deg, og logg deretter på startskjermen på Live Demo igjen. Dette bør bringe deg til en skjerm der du kan administrere alle enhetene dine, redigere dashbord, etc.

Velg deretter kategorien "Enheter" på venstre side. Dette bør bringe opp en haug med demoenheter som ESP8266, DHT22, Arduino og Pi -demoer, etc. Lag en ny enhet ved å klikke på den røde "+" -knappen nederst til høyre og skriv inn et navn og velg "standard" for enhetstype. Etter å ha klikket "ADD" bør du se den nye enheten din på kategorien Enheter. Klikk på "Administrer legitimasjon", og du skal se et lite vindu som viser enhetens tilgangstoken. Dette er i hovedsak enhets -ID -en og er analog med enhets -ID -en som brukes for å legge ut data på dweet.io. Du kan endre denne enhets-ID-en til IMEI-nummeret til skjoldet ditt hvis du vil, men du kan også bare bruke det automatisk genererte tokenet. Kopier dette tokenet som du trenger det i Arduino -skissen.

Oppsett av Arduino -eksempel

I denne opplæringen bruker vi nøyaktig samme eksempel Arduino -skisse som i den første opplæringen, men denne gangen har jeg oppdatert skissen for å inkludere kode for å sende data direkte til ThingsBoard.io i stedet for dweet.io i del 1. Som alltid, kan du finne eksempelkoden her på Github.

Det første du må gjøre er å kommentere linjene som gjør at skjoldet legger inn til dweet.io:

// GET forespørsel/* // Du kan justere innholdet i forespørselen hvis du ikke trenger visse ting som hastighet, høyde, 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 teller = 0; // Dette teller antall mislykkede forsøk

// Prøv totalt tre ganger hvis innlegget mislyktes (prøv ytterligere 2 ganger) mens (teller <3 &&! Fona.postData ("GET", URL, "")) {// Legg til sitater "" som tredje input fordi for GET -forespørsel er det ingen "body" Serial.println (F ("Kunne ikke legge ut data, prøver på nytt …")); teller ++; // Økningstellerforsinkelse (1000); } */

Fjern deretter kommentaren til linjene som legges ut til thingsboard.io:

// La oss prøve en POST -forespørsel til thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Fra thingsboard.io enhet sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (kropp, "{" breddegrad / ":%s, \" lengdegrad / ":%s, \" hastighet / ":%s, \" hode / ":%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 vil ha er lat/lang

int teller = 0;

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

Last opp koden til Arduino, sørg for at du har SIM -kortet og antennen festet, og bekreft at skjoldet sender kode til skyen før du fortsetter!

MERK: Arduino Uno har svært lite minne (RAM) og postering på Thingsboard kan føre til at Arduino krasjer. Hvis du opplever omstart av skissen på omtrent plasseringen av postData () -funksjonen eller annen merkelig oppførsel, er det mest sannsynlig det som skjer. Den enkle løsningen på det er å bytte ut Uno med en Arduino Mega eller et brett med mer RAM. Du kan også prøve å minimere størrelsen på matrisene og dele dataene i flere innlegg.

Trinn 2: Bekreft datamottak

Bekreft datamottak
Bekreft datamottak

For å faktisk bekrefte at data sendes til ThingsBoard riktig, går du til siden med samme enhetsdetaljer (klikk på GPS Tracker -enhetens flis på "Enheter" -siden) og klikk deretter på "Siste telemetri" -fanen. Hvis GPS -trackeren din sender verdier til ThingsBoard, bør du se de siste verdiene her, og de vil oppdatere i sanntid når de kommer inn.

Nå som du har bekreftet at ThingsBoard faktisk får dataene, er det på tide å sette opp oversikten slik at vi kan visualisere dataene våre når vi samler dem! (Eller etter det faktum)

Trinn 3: Sette opp dashbord

Sette opp dashbord
Sette opp dashbord
Sette opp dashbord
Sette opp dashbord
Sette opp dashbord
Sette opp dashbord

Nå er det tid for den morsomme delen! Klikk nå på "Dashboards" -fanen til venstre og velg din GPS -tracker. Dette bør bringe opp en ny side som ber deg legge til widgets. Klikk på "+" -knappen nederst til høyre og "opprett ny widget" for å åpne en rullegardinmeny med widgets å velge mellom. La oss legge til en "digital måler". Hvis du velger dette, bør du laste ned en haug med forhåndsvisninger for alle de forskjellige typene digitale målere du kan velge mellom. Når du klikker på en, vil den få opp en annen skjerm for deg å konfigurere widgetparametrene. Det første du må legge til er datakilden (din GPS -tracker -enhet som sender dataene til ThingsBoard). Trykk på "+ ADD" -knappen, velg "GPS Tracker" -enheten og velg den aktuelle variabelen du vil at widgeten skal vise. I dette tilfellet, la oss velge variabelen "temp" (temperatur).

Hvis du vil legge til ting som en tittel for widgeten, går du til kategorien "Innstillinger", sjekker "Vis tittel" og skriver inn en tittel. Det er mange andre ting du kan gjøre under fanen "Avansert", men jeg lar deg undersøke dem selv! Ha det gøy å endre verdiområdene, etikettteksten, farger og mer! Etter at du har lagt til widgeten, vil den vises nederst til venstre på dashbordet (du må kanskje rulle ned hvis du har flere widgets som fyller skjermen). Du kan når som helst redigere widgeten ved å trykke på knappen på widgeten hvis du allerede er i redigeringsmodus i dashbordet, eller gå inn i redigeringsmodus ved å trykke på blyantknappen nederst til høyre på hele skjermen for å la deg redigere widgets. Ganske rett fram!

Trinn 4: Legge til et kart

Legger til et kart!
Legger til et kart!
Legger til et kart!
Legger til et kart!
Legger til et kart!
Legger til et kart!
Legger til et kart!
Legger til et kart!

Nå for en GPS-tracker er et kart et must-have! La oss legge til en ved å opprette en ny widget ("+" -knappen nederst til høyre igjen) og denne gangen bla ned og velge "Kart". Fortsett og klikk på en, så får du opp alternativene for den. Legg til datakilden som vanlig, men denne gangen velger du både "lat" og "lange" variabler siden det vil trenge begge disse for å få posisjonen. Gå deretter til kategorien "Innstillinger", og her kan du stille inn tidsvinduet til dataene som skal vises på kartet. For eksempel vil du kanskje bare at de siste 2 minuttene med data skal vises, eller du vil at alle data siden i går, eller kanskje du bare vil ha et fast vindu i tide (som 14.00 i går til 10 i dag).

Hvis du vil, kan du gå til kategorien "Avansert" og velge karttype (veikart, satellitt, hybrid eller terreng). Den kanskje viktigste delen av alt dette er å sjekke navn på breddegrad og lengdegrad. Sørg for at disse navnene samsvarer nøyaktig med variabelnavnene du faktisk sender til ThingsBoard. For eksempel, hvis din Arduino -skisse sier at den sender "lat" og "lange" variabler (som den er som standard), må du endre nøkkelnavnene til "lat" og "long" og bruke "breddegrad" og "lengdegrad" vil ikke hente dataene dine!

Igjen, etter å ha lagt til kartet, vil det vises nederst på dashbordet. Bare dra den for å plassere den på dashbordet igjen, og klikk og dra kantene for å endre størrelsen. Hvis tidsvinduet ditt var riktig angitt, bør du se din nåværende posisjon vises på kartet. Super pen eller? Nå er vi klare for en skikkelig test!

Trinn 5: Veitest

Veitest
Veitest
Veitest
Veitest

Å teste GPS -trackeren er superenkelt! Bare koble Arduino til en bil -USB -adapter for å drive den, sørg for at den grønne lysdioden tennes, og den skal begynne å sende data! For å endre samplingshastigheten til GPS -trackeren, må du finne denne kodelinjen i eksempelskissen:

#define samplingRate 10 // Tiden mellom innleggene, i sekunder

og sett det til hva du vil. Jeg fant ut at 10 -tallet fungerer ganske bra for en rolig veitest, men hvis du er rask og rasende, vil du kanskje ha en enda høyere samplingsfrekvens!

Trinn 6: Resultater

Resultater
Resultater
Resultater
Resultater
Resultater
Resultater

På bildene ovenfor kan du se mitt dashbordoppsett. Jeg la til diagrammer for å tegne historiske data for ting som hastighet, høyde og temperatur, og inkluderte også sanntidsmålere i tilfelle jeg vil se dem i sanntid på en annen biltur (bilde dette i en RV!).

Kartet var fantastisk, og jeg klarte å samle noen virkelig nøyaktige data om en rute jeg tok. Hastighetsdataene var også ekstremt nøyaktige fordi vi aldri oversteg omtrent 40 km / t (grafen er i km / t) på byveiene. De mange svingningene i hastigheten kan forklares med trafikklysene. Totalt sett flotte resultater, og tenk hva annet vi kan bruke dette til! Du kan installere dette på en bobil, motorsykkel, bil, etc. og få det til å spore hele tiden og trekke opp resultatene på ThingsBoard!

For å oppsummere, i denne opplæringen programmerte vi vår GPS -tracker til å sende data direkte til ThingsBoard via HTTP POST -forespørsler og administrerte dataene på et dashbord. Du kan legge til flere enheter og dashbord, som hver inneholder flere widgets som ser superkule ut og har mange tilpasningsmuligheter! ThingsBoard har vist seg å være et veldig kraftig (og gratis!) Verktøy for å se IoT -data, og det er til og med andre funksjoner som jeg ikke engang har klø. Lek gjerne med det og se hva du finner.

  • Hvis du likte denne opplæringen, laget din egen eller har spørsmål, vennligst kommenter nedenfor!
  • Sørg for å gi denne Instructable et hjerte og abonner her og på YouTube-kanalen min for flere fantastiske Arduino-relaterte opplæringsprogrammer!
  • Hvis du vil støtte det jeg gjør, kan du vurdere å kjøpe ditt eget Botletics SIM7000 -skjold på Amazon.com!

Med det, så sees vi neste gang!

Anbefalt: