INHOUDSOPGAWE:

LTE Arduino GPS Tracker + IoT Dashboard (Deel 2): 6 stappe (met foto's)
LTE Arduino GPS Tracker + IoT Dashboard (Deel 2): 6 stappe (met foto's)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Deel 2): 6 stappe (met foto's)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Deel 2): 6 stappe (met foto's)
Video: Make Your Own GPS Tracker Using the AVR-IoT Cellular Mini 2024, Julie
Anonim
Image
Image
Opstel van ThingsBoard
Opstel van ThingsBoard

Inleiding en opsomming van deel 1

Yup, dit is tyd vir nog 'n Instructable op die SIM7000 GPS tracker met Arduino en LTE! As u dit nog nie gedoen het nie, gaan dan na die handleiding om aan die gang te kom vir die Botletics SIM7000 CAT-M/NB-IoT-skild, en lees dan deel 1 van die GPS-opsporingstudie. As sodanig gaan ek aanneem dat u al die hardeware opgestel het en gereed is om data in die wolk te plaas. Al wat ons regtig in hierdie tutoriaal moet doen, is om vertroud te raak met ThingsBoard en 'n ander padtoets te doen om die wonderlike data te sien vertonings!

In deel 1 het ons ons slim GPS -spoorsnyer suksesvol gekry om data na dweet.io te stuur en die data op freeboard.io gaan haal om die data te visualiseer. Ek het egter gou besef dat die kaartfunksionaliteit redelik lam is op die vryboord, aangesien dit u nie toelaat om die wyser rond te skuif of selfs die grootte van die widgetvenster te verander nie. Dit het my gelei tot 'n beter oplossing: ThingsBoard.io, 'n super-awesome IoT-dashboard (en gratis!) Waarmee u u data kan stoor, visualiseer en aanpas! U kan sleep om widgets te herrangskik (en dit werk in Chrome, anders as vryboord), en die algehele kwaliteit is die room van die gewas. Die belangrikste is dat met die Google -kaart -widget u kan rondbeweeg, in- en uitzoom en verskillende style kan kies (satelliet, paduitsig, ens.) !

Stap 1: Opstel van ThingsBoard

Opstel van ThingsBoard
Opstel van ThingsBoard
Opstel van ThingsBoard
Opstel van ThingsBoard

ThingsBoard -rekening en toestelopstelling

Die eerste ding wat u moet doen, is om na die ThingsBoard -tuisblad te gaan, en dan 'n rekening te skep deur op die menu -knoppie regs bo te klik en 'Live Demo' te kies. Skep 'n rekening, verifieer u rekening in 'n e -pos wat hulle vir u stuur, en meld dan weer aan by die tuisskerm van die Live Demo. Dit sal u na 'n skerm bring waar u al u toestelle kan bestuur, panele kan verander, ens.

Kies dan die oortjie "Toestelle" aan die linkerkant. Dit behoort 'n klomp demo -toestelle soos ESP8266, DHT22, Arduino en Pi demo's, ens. Te skep. Skep 'n nuwe toestel deur op die rooi "+" knoppie regs onder te klik, voer 'n naam in en kies 'standaard' vir toesteltipe. Nadat u op "VOEG" geklik het, moet u u nuwe toestel op die blad Toestelle sien. Klik op "Beheer geloofsbriewe", en 'n klein venster verskyn wat die toegangsteken van die toestel wys. Dit is in wese die apparaat -ID en is analoog aan die apparaat -ID wat gebruik word om data op dweet.io te plaas. U kan hierdie toestel-ID na die IMEI-nommer van u skild verander as u wil, maar u kan ook die outomaties gegenereerde teken gebruik. Kopieer hierdie teken, aangesien u dit in die Arduino -skets benodig.

Opstel van Arduino -voorbeeld

In hierdie handleiding gebruik ons presies dieselfde voorbeeld Arduino -skets as in die eerste tutoriaal, maar hierdie keer het ek die skets opgedateer om kode in te sluit om data direk na ThingsBoard.io te stuur in plaas van dweet.io in deel 1. Soos altyd, kan u die voorbeeldkode hier op Github vind.

Die eerste ding wat u moet doen, is om kommentaar te lewer op die reëls wat die skild na dweet.io stuur:

// KRY versoek/* // U kan die inhoud van die versoek aanpas as u nie sekere dinge soos snelheid, hoogte, ens nodig het nie 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; // Dit tel die aantal mislukte pogings

// Probeer altesaam drie keer as die plasing onsuksesvol was (probeer nog 2 keer) terwyl (toonbank <3 &&! Fona.postData ("GET", URL, "")) {// Voeg die aanhalings "" as derde invoer, want vir GET -versoek is daar geen "body" Serial.println (F ("Kon nie data plaas nie, probeer weer …")); toonbank ++; // Vertraging van inkrementteller (1000); } */

Maak dan geen kommentaar op die reëls wat op thingsboard.io geplaas word nie:

// Kom ons probeer 'n POST -versoek na thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Van thingsboard.io -toestel sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", teken); sprintf (liggaam, "{" breedtegraad / ":%s, \" lengtegraad / ":%s, \" spoed / ":%s, \" kop / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // As alles wat jy wil, lat/lank is

int teller = 0;

while (! fona.postData ("POST", URL, body)) {Serial.println (F ("Kon nie HTTP POST voltooi nie")); toonbank ++; vertraging (1000); }

Laai die kode op na u Arduino, maak seker dat u die SIM -kaart en antenna aangeheg het, en verifieer dat die skild kode na die wolk stuur voordat u verder gaan!

OPMERKING: Die Arduino Uno het baie min geheue (RAM) en die plasing op Thingsboard kan veroorsaak dat die Arduino ineenstort. As u ervaar dat die skets op ongeveer die plek van die postData () -funksie of ander vreemde gedrag herbegin word, is dit waarskynlik wat gebeur. Die maklike oplossing hiervoor is om die Uno uit te ruil met 'n Arduino Mega of 'n bord met meer RAM. U kan ook probeer om die grootte van die skikkings te verminder en die data in verskeie poste te verdeel.

Stap 2: Verifieer data -ontvangs

Verifieer data -ontvangs
Verifieer data -ontvangs

Om werklik te verifieer dat data korrek na ThingsBoard gestuur word, gaan na dieselfde apparaatbesonderhede -bladsy (klik op die GPS Tracker -teël in die "Toestelle" -bladsy) en klik dan op die blad "Laaste telemetrie". As u GPS -spoorsnyer waardes na ThingsBoard stuur, moet u die nuutste waardes hier sien en dit sal intyds bygewerk word soos dit inkom.

Noudat u geverifieer het dat ThingsBoard eintlik die data kry, is dit tyd om die paneelbord op te stel sodat ons ons data kan visualiseer wanneer ons dit versamel! (Of agterna)

Stap 3: Stel 'n dashboard op

Stel dashboard op
Stel dashboard op
Stel dashboard op
Stel dashboard op
Stel dashboard op
Stel dashboard op

Nou is dit tyd vir die lekker deel! Klik nou op die oortjie "Dashboards" aan die linkerkant en kies u GPS -opsporingstoestel. Dit sal 'n nuwe bladsy oopmaak waarin u gevra word om widgets by te voeg. Klik op die "+" knoppie regs onder en "skep 'n nuwe widget" om 'n keuselys met widgets oop te maak. Laat ons nou 'n 'digitale meter' byvoeg. As u dit kies, moet u 'n klomp voorskoue laai vir al die verskillende tipes digitale meters waaruit u kan kies. As u op een klik, sal 'n ander skerm verskyn om die widget -parameters op te stel. Die eerste ding wat u moet byvoeg, is die databron (u GPS -opsporingstoestel wat die data na ThingsBoard stuur). Druk die "+ ADD" knoppie en kies u "GPS Tracker" toestel en kies die toepaslike veranderlike wat u wil hê dat die widget moet vertoon. In hierdie geval, laat ons die veranderlike "temp" (temperatuur) kies.

As u dinge soos 'n titel vir die widget wil byvoeg, gaan dan onder die blad 'Instellings', merk 'Display title' en voer 'n titel in. Daar is baie ander dinge wat u onder die oortjie "Gevorderd" kan doen, maar ek sal u dit self laat ondersoek! Om pret te hê, verander die waardes, etiketteks, kleure en meer! Nadat u die widget bygevoeg het, verskyn dit links onder in u paneelbord (u moet moontlik afrol as u verskeie widgets op die skerm invul). U kan die widget te eniger tyd wysig deur op die knoppie op die widget te druk as u reeds in die wysigingsmodus van die paneelbord is, of die redigeermodus betree deur eers op die potloodknoppie regs onder op die hele skerm te druk sodat u kan wysig die widgets. Redelik eenvoudig!

Stap 4: Voeg 'n kaart by

Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!
Voeg 'n kaart by!

Nou vir 'n GPS-spoorsnyer is 'n kaart 'n moet-hê! Laat ons een byvoeg deur 'n nuwe widget te skep (weer regs onder "+" knoppie) en blaai hierdie keer af en kies "Maps". Klik op een, en dit sal die opsies daarvoor wys. Voeg die databron soos gewoonlik by, maar hierdie keer moet u beide 'lat' en 'lang' veranderlikes kies, aangesien dit albei nodig is om die ligging te kry. Gaan dan na die oortjie "Instellings" en hier kan u die tydvenster van die data instel wat op die kaart vertoon moet word. U wil byvoorbeeld net hê dat die laaste 2 minute se data verskyn, of dat u alle data sedert gister wil hê, of dat u net betyds 'n vaste venster wil hê (soos 14:00 tot 10 uur vandag).

As u wil, kan u na die oortjie "Gevorderd" gaan en die tipe kaart kies (padkaart, satelliet, hibried of terrein). Miskien is die belangrikste deel hiervan om die sleutel- en breedte -sleutels te kontroleer. Maak seker dat hierdie name presies ooreenstem met die veranderlike name wat u eintlik na ThingsBoard stuur. As u Arduino -skets byvoorbeeld sê dat dit 'lat' en 'lang' veranderlikes stuur (wat standaard is), moet u die sleutelname verander na 'lat' en 'lank' en 'breedtegraad' en 'lengtegraad' gebruik sal u data nie haal nie!

Nadat die kaart bygevoeg is, verskyn dit onderaan die paneelbord. Sleep dit eenvoudig om dit weer op die paneelbord te plaas, en klik en sleep die rande om dit te verander. As u tydvenster korrek ingestel is, behoort u huidige ligging op die kaart te verskyn. Super netjies nè? Nou is ons gereed vir 'n regte toets!

Stap 5: Padtoets

Padtoets
Padtoets
Padtoets
Padtoets

Die toets van die GPS -spoorsnyer is super eenvoudig! Sluit die Arduino aan op 'n USB -adapter vir 'n motor om dit aan te skakel, maak seker dat die groen LED aanskakel en dat dit data moet begin stuur! Om die monsterneming van die GPS -spoorsnyer te verander, moet u hierdie kodereël in die voorbeeldskets vind:

#define samplingRate 10 // Die tyd tussen poste, in sekondes

en stel dit in op wat u wil. Ek het gevind dat 10's baie goed werk vir 'n rustige padtoets, maar as u vinnig en woedend is, wil u miskien 'n nog hoër monsterneming hê!

Stap 6: Resultate

Resultate
Resultate
Resultate
Resultate
Resultate
Resultate

Op die foto's hierbo kan u die opstelling van my paneelbord sien. Ek het kaarte bygevoeg om historiese gegewens te grafiseer vir dinge soos spoed, hoogte en temperatuur, en het ook intydse meters ingesluit as ek dit intyds op 'n ander reis wil sien (beeld dit in 'n RV!).

Die kaart was fantasties, en ek kon baie akkurate data versamel van 'n roete wat ek geneem het. Die snelheidsdata was ook uiters akkuraat, want ons het nooit meer as 40 km / h (die grafiek in km / h) op die stad se paaie oorskry nie. Die vele skommelinge in spoed kan deur die verkeersligte verklaar word. Algehele goeie resultate en dink net waarvoor kan ons dit nog meer gebruik! U kan dit op 'n motorfiets, motorfiets, motor, ens. Installeer en dit altyd laat opspoor en die resultate op ThingsBoard haal!

Om op te som, in hierdie tutoriaal het ons ons GPS -spoorsnyer geprogrammeer om data direk via HTTP POST -versoeke na ThingsBoard te stuur en die data op 'n dashboard te bestuur. U kan verskeie toestelle en dashboards byvoeg, elk met verskeie widgets wat super cool lyk en baie aanpassingsopsies het! ThingsBoard het bewys dat dit 'n baie kragtige (en gratis!) Instrument is om IoT -data te sien, en daar is selfs ander funksies wat ek nog nie eens gekrap het nie. Speel gerus daarmee en kyk wat jy vind.

  • As u van hierdie tutoriaal gehou het, u eie gemaak het of vrae het, lewer dan 'n opmerking hieronder!
  • Gee hierdie instruksies 'n goeie hart en teken hier en op my YouTube-kanaal in vir meer wonderlike tutoriale wat met Arduino verband hou!
  • As u wil ondersteun wat ek doen, oorweeg dit om u eie Botletics SIM7000 -skild op Amazon.com aan te skaf!

Daarmee sien ek jou volgende keer!

Aanbeveel: