INHOUDSOPGAWE:

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

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

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

Inleiding

Wat gaan aan ouens! Hierdie Instructable is 'n opvolg van my eerste Instructable oor die gebruik van die Botletics LTE/NB-IoT-skild vir Arduino, dus as u dit nog nie gedoen het nie, lees dit om 'n goeie oorsig te kry van hoe u die skild moet gebruik en waaroor dit gaan. In hierdie tutoriaal fokus ek op IoT -datalogging, en spesifiek GPS en temperatuuropsporing, en ek gee u al die kode en leiding wat u nodig het om die pad te begin en dit te toets!

Hierdie Instructable fokus veral op die LTE -skild wat ek persoonlik ontwerp en gebou het, maar alles hier (insluitend die Github Arduino -biblioteek) behoort ook te werk op SIMCom se 2G- en 3G -modules, soos die SIM800/808/900/5320, aangesien dit net 'n bygewerkte weergawe van die Adafruit FONA -biblioteek. Ongeag die hardeware, die konsep is presies dieselfde, en u kan baie goeie dinge hiermee doen, insluitend registrasie van sensordata, eksterne weermonitering, outomatiese diefstal -karma GPS -opsporing, ens … lees verder!

Stap 1: Versamel onderdele

Versamel onderdele
Versamel onderdele
Versamel onderdele
Versamel onderdele
Versamel onderdele
Versamel onderdele

Die lys is dieselfde as in my eerste tutoriaal en is regtig eenvoudig!

  • Arduino Uno, Mega of Leonardo. U kan ook 'n ander 3.3V- of 5V -mikrobeheerder gebruik, maar u moet die penne ekstern opdraai.
  • Botletics SIM7000 Shield Kit (kom met die skild, dubbele LTE/GPS uFL -antenne en stapel vroulike headers). Maak seker dat u deur hierdie tutoriaal gaan om 'n geskikte weergawe te kies!
  • Hologram simkaart. Die eerste SIM -kaart (die 'ontwikkelaar' SIM -kaart genoem) is heeltemal gratis en bevat 1 MB data per maand! In die VSA sal u heel waarskynlik op die Verizon -netwerk wees as u die Hologram -SIM -kaart gebruik. U kan dit ook langs die Botletics -skild optel as dit geriefliker is.
  • 3.7V LiPo -battery (1000mAH of groter kapasiteit word aanbeveel).
  • USB -kabel om u Arduino te programmeer of om dit aan te dryf.

Vir die GPS -opsporingstoets!

  • U kan 'n USB -adapter vir 'n motor gebruik om u Arduino aan te dryf terwyl u die skild op die pad toets.
  • Alternatiewelik kan u 'n battery (7-12V) gebruik om die Arduino via die VIN- en GND-penne aan te dryf.

Stap 2: Fisiese samestelling

Fisiese vergadering
Fisiese vergadering
Fisiese vergadering
Fisiese vergadering
Fisiese vergadering
Fisiese vergadering

Noudat u al u onderdele het, gee ons 'n vinnige opsomming van wat u moet doen om u hardeware op te stel:

  • Soldeer die stapelende vroulike koppe op die skild. Sien hierdie handleiding oor hoe u dit kan doen.
  • Steek die skild in die Arduino, en sorg dat u al die penne in lyn bring sodat u dit nie beskadig nie!
  • Plaas die SIM -kaart soos op die foto getoon. Die metaalkontakte wys afwaarts en let op die ligging van die kerf in die hoek.
  • Steek die LiPo -battery in die JST -aansluiting op die skerm
  • Koppel u Arduino aan u rekenaar met 'n USB -kabel. U sal dalk sien dat die groen krag -LED van die skerm nie brand nie. Dit is heeltemal normaal, want die PWRKEY -pen van die skild moet 'n bietjie laag wees om dit aan te skakel. Die voorbeeld Arduino -skets in die volgende afdeling sorg daarvoor!
  • Koppel die dubbele LTE/GPS -antenna aan die uFL -verbindings aan die regterkant van die skerm. Let daarop dat die drade kruis, dus moenie die verkeerde aansluit nie!
  • U is gereed vir die sagteware!

Stap 3: Arduino -opstelling en toesteltoetsing

Arduino -opstelling en toesteltoetsing
Arduino -opstelling en toesteltoetsing

Opstel van Arduino IDE

As u dit nog nie gedoen het nie, raadpleeg die stappe "Arduino IDE Setup" en "Arduino Voorbeeld" in die hoofproduk Instructable om seker te maak dat u bord behoorlik funksioneer. In hierdie instruksies moet u die biblioteek op die Github -bladsy aflaai en die voorbeeldkode "LTE_Demo" oopmaak. Nadat u hierdie instruksies gevolg het, moes u die netwerkverbinding, GPS en die plaas van data op dweet.io getoets het.

IoT -voorbeeldskets

Noudat u die kernkenmerke van u skild getoets het, laai u die "IoT_Example" -skets in Arduino IDE. U kan dit ook hier op Github vind. Laai hierdie kode op na u Arduino en maak die seriële monitor oop, en u moet sien dat die Arduino die SIM7000 -module vind, met die selnetwerk inskakel, GPS aktiveer en aanhou probeer totdat dit 'n oplossing vir die plek kry, en die data op dweet.io plaas. Dit moet alles verloop sonder om die reël van die kode te verander, as u die LTE -skild en die Hologram -SIM -kaart gebruik.

Standaard sien u die volgende reël wat die bemonsteringstempo definieer (wel, eintlik die vertraging tussen poste).

#define samplingRate 30 // Die tyd tussen plasings, in sekondes

As hierdie reël onkommenteer gelaat word, plaas die Arduino data, vertraag 30's, plaas data weer, herhaal, ens. Tydens die 30s vertraging kan u dinge doen soos om die Arduino in lae-spoedmodus te plaas en sulke goed te hou, maar om dit te behou dinge eenvoudig Ek sal net die delay () -funksie gebruik om die operasie te onderbreek. As u op hierdie reël kommentaar lewer, sal die Arduino data plaas, en dan onbepaald na die lae-modus slaapmodus gaan totdat u op die reset-knoppie op u Arduino druk. Dit is handig as u iets toets en nie u kosbare gratis data wil verbrand nie (alhoewel elke pos feitlik niks gebruik nie) of as u 'n eksterne stroombaan het om die Arduino terug te stel (555 timer? RTC -onderbreking? Versnellingsmeteronderbreking? Temperatuursensor) onderbreek? Dink buite die boks!). Eintlik wys ek in die Burgalert 7000 -tutoriaal hoe u 'n PIR -bewegingsdetektor kan gebruik om die mikrobeheerder wakker te maak.

Die volgende reël bepaal of die skerm sal uitskakel na die plasing van data of aan bly. U kan die vorige keuse kies deur die reël nie in te vul nie, maar as u af en toe 'n monsterneming neem, maar as u 'n relatief hoë monsterneming het, moet u die reël laat kommentaar lewer sodat die skild nie aanhou nie om te herinitialiseer, heraktiveer GPRS en GPS, ens. As die skild aan is, kan dit baie vinnig plaas!

//#definieer turnOffShield // Skakel skild af nadat data geplaas is

Hou ook in gedagte dat hierdie voorbeeld outomaties die module-spesifieke en wêreldwye unieke IMEI-nommer van die SIM7000 haal en dit as die toestel-ID gebruik (of 'naam' as u dit verkies) om die toestel te identifiseer wanneer dit data op dweet.io plaas. U kan dit verander as u wil, so ek het gedink ek sal u net laat weet:)

Om te kyk of u data werklik na dweet.io gestuur word, vul die toepaslike inligting in en kopieer/plak die URL in enige blaaier:

dweet.io/get/latest/dweet/for/{deviceID}

waar {deviceID} vervang moet word met die IMEI -nommer wat aan die begin in die seriële monitor gedruk is, direk nadat die Arduino dit gevind het. Nadat u die URL in u blaaier ingevoer het, behoort u 'n JSON -antwoord soos die volgende te sien:

As u na die 'inhoud' kyk, moet u die breedtegraad, lengte van u ligging, u spoed (in kilometer per uur), rigtingopskrif (grade sien, met 0 grade noord), hoogte (meter), temperatuur (*C, maar voel vry om in die kode om te skakel), en die toevoerspanning in milli-volt (wat VBAT is, die spanning van die battery). Vir meer inligting oor die NMEA -datastring, kan u na bladsy 149 van die opdraghandleiding van die SIM7000 AT kyk.

Sodra u seker gemaak het dat u opset data suksesvol na dweet stuur, laat ons die paneelbord opstel om al ons data op 'n mooi koppelvlak te sien!

Stap 4: Freeboard.io -opstelling

Opstel van Freeboard.io
Opstel van Freeboard.io
Opstel van Freeboard.io
Opstel van Freeboard.io
Opstel van Freeboard.io
Opstel van Freeboard.io

Vir hierdie tutoriaal gebruik ons freeboard.io, 'n baie cool IoT -dashboard wat met talle wolkplatforms soos PubNub en dweet kan skakel, asook ander funksies soos JSON en MQTT. Soos u waarskynlik geraai het, gebruik ons ook dweet.io, wat gebruik word in die voorbeeldkode uit die vorige afdeling. As 'n belangrike opmerking lyk dit asof skyfies in freeboard.io nie in Chrome werk nie, dus gebruik eerder Firebox of Microsoft Edge. As u dit nie doen nie, kan dit 'n regte "ruit" wees om die items op u skerm weer te rangskik!

Rekening- en toestelopstelling

  • Die eerste ding wat u moet doen, is om 'n rekening te skep deur op die rooi knoppie "BEGIN NOU" op die tuisblad van freeboard.io te klik, u geloofsbriewe in te voer en op "Skep my rekening" te klik. U sal dan 'n e -poskennisgewing ontvang wat u nuwe rekening bevestig.
  • Klik nou op 'Aanmelding' regs bo op die tuisblad, en nadat u aangemeld het, moet u u 'freeboards' sien, wat slegs dashboards is wat u vir u projekte opgestel het. As die rekening nuut is, sal u niks hier sien nie, tik net 'n nuwe projeknaam in en klik op 'Skep nuut' regs bo. Dit bring u dan na 'n leë paneelbord waar u die koppelvlak kan instel soos u dit wil. In die vryboord kan u verskillende "vensters" opstel, en elke paneel kan 'n enkele of veelvuldige "widgets" hê, soos grafieke, kaarte, meters, ens., Wat u data op een of ander manier vertoon.
  • Die eerste ding wat ons nou moet doen, is om die werklike bron van data op te stel, wat u Arduino + LTE -skild is. Om dit te doen, klik op "VOEG" regs bo onder "Gegewensbronne". Kies dan 'Dweet.io' en voer die gewenste naam in die veld 'Naam' in. Maak egter seker dat u onder die veld 'Thing Name' die IMEI -nommer van die skild invoer in plaas van 'n willekeurige naam, want dit is wat die vryboord sal gebruik om data uit dweet te haal.
  • Nadat u op 'Stoor' geklik het, moet u toestel onder 'Databronne' verskyn, asook die laaste keer dat dit data na die tweets gestuur het. U kan ook op die herlaai -knoppie klik om na die nuutste waardes te kyk, maar die vryboord word vanself bygewerk, sodat u gewoonlik nie die knoppie hoef te gebruik nie.

Opstel van paneelbord

Kom ons kyk nou hoe u die werklike klokke en fluitjies wat u op u skerm wil sien, opstel!

  • Om 'n paneel by te voeg, klik op die "ADD PANE" knoppie links bo, en u sien 'n klein venster op u skerm. Daar is egter nog niks hier nie, want ons het geen widgets bygevoeg nie!
  • Om 'n widget by te voeg, klik op die klein "+" knoppie in die venster. Dit sal 'n keuselys met verskillende widget -opsies oopmaak. Aangesien ons 'n bietjie GPS -opsporing gaan doen, kies ons die 'Google Map' -widget. U moet dan twee velde sien, die breedtegraad en lengtegraad. Om dit behoorlik in te vul, moet u toestel al op dweet geplaas het. As dit aanvaar word, moet u op "+ Databron" kan klik, op die databron (die "SIM7000 GPS Tracker") klik en dan op "lat" klik, wat die veranderlike naam is wat die skild gebruik wanneer dit na 'n tweets geplaas word. Herhaal die prosedure vir die lengtegraadveld en klik op die skuifbalk onderaan as u wil hê dat die kaart lyne tussen datapunte moet trek om aan te dui waar u was.
  • Nou moet u 'n klein kaart van u benaderde ligging sien! Om te toets of die kaart werk, probeer om u huidige GPS lat/long na iets effens anders te verander deur byvoorbeeld die eerste syfer na die desimale punt van die lat/long -waardes in die dweet -URL wat in die seriële monitor gedruk is, te verander. Arduino IDE toe die skild data geplaas het. Nadat u dit aangepas het, kopieer en plak die URL en voer dit in u blaaier uit.

dweet.io/dweet/for/112233445566778?lat=11.223344&long=-55.667788&speed=0&head=10&alt=324.8&temp=22.88&batt=3629

Skakel nou terug na vryboord, en u moet sien dat dit 'n grafiek van u aangepaste ligging het en 'n oranje lyn tussen die punte getrek het! Cool dinge, nè? Ek dink u kry die prentjie dat ons GPS -spoorsnyer liggingdata na tweets sal stuur sodat u dit intyds op die vryboord kan sien of nadat u avontuur verby is

Ekstras

Aangesien ons klein GPS -spoorsnyer nie net lat/lang data stuur nie, maar ook hoogte, spoed, koers en temperatuur, laat ons nog 'n paar widgets ingooi om ons dashboard meer kleurvol te maak!

  • Kom ons begin deur 'n nuwe ruit by te voeg, en dan 'n meter in die nuwe ruit te voeg, klik op die "+" - knoppie in die ruit en kies "Gauge". Net soos voorheen, gebruik die databron en kies 'snelheid' as die data wat ons vir hierdie meter wil haal. U moet dan 'n mooi meter op u paneelbord sien!
  • Herhaal dit vir die hoogte- en temperatuurwaardes.
  • Nou, vir die opskrif, laat ons eerder 'n "wyser" byvoeg. Dit is in wese 'n kompas omdat dit begin wys (noord) op 0 grade en met die kloksgewys draai vir positiewe opskrifte.. Perfecto!
  • Om die grootte van die ruit te verander, hou die muis oor die paneel wat die kaart bevat, en u sal 'n klein moersleutelsimbool regs bo sien. Klik daarop en voer 'n titel vir die venster in en voer "2" in onder "Kolomme" om die breedte van die paneel te vergroot.
  • Sleep die ruitjies om die ligging van die ruite te verander! U kan ook eksperimenteer met die toevoeging van 'n 'Sparkline', wat basies slegs 'n lyngrafiek is, sodat u nie net die nuutste data kan sien nie, maar ook historiese data.

Om pret te hê en stel alles in vir u hoe u daarvan hou, want ons is gereed om op 'n uitstappie te gaan!

Stap 5: Toets

Image
Image
Toets
Toets

Om u opstelling te toets, raai ek u aan om die monstertyd op 'n laer waarde te stel, soos 10-20s, sodat u u reis met 'n hoër resolusie kan vaslê. Ek sou ook die veranderlike van 'turnOffShield' laat kommentaar lewer sodat die skild nie gaan slaap nie. Dit stel dit in staat om data vinnig opeenvolgend te plaas.

Nadat u die kode na u Arduino opgelaai het, moet u 'n battery (7-12V) kry om die Arduino aan te dryf, of u kan die Arduino met 'n USB-adapter in die motor aansluit. U benodig ook 'n 3.7V LiPo -battery wat in die skerm ingeprop is, soos vroeër genoem; die skerm wat op die foto hierbo getoon word, is 'n ou weergawe en het geen LiPo -batteryondersteuning nie, maar dit is nou nodig vir alle nuwer weergawes.

Maak dan die vryboord iewers oop, sodat u die resultate kan sien as u terugkeer! As u eers die Arduino inskakel, is u gereed! Begin rondry, drink koffie, keer terug huis toe, en u moet die data op die vryboord sien. As u regtig wil (ek beveel dit nie aan terwyl u bestuur nie …), kan u die vryboorddata op u telefoon intyds sien terwyl u vriend die voertuig bestuur. Prettige goed!

Stap 6: Resultate

Resultate
Resultate

Vir hierdie toets het ek en my pa hoendertromme gaan haal by Trader Joe's (omnomnomnom …) en ons het redelik akkurate data versamel. Ek het die toestel elke 10 sekondes laat stuur, en die maksimum spoed van die rit was ongeveer 92khm (ongeveer 57mph), wat baie akkuraat is, want ons het die snelheidsmeter die hele tyd dopgehou. Die LTE -skild doen beslis sy werk redelik goed en stuur baie vinnig data na die wolk. So ver so goed!

Die nie-so-goeie nuus is egter dat die kaart-widget op die vryboord nie so groot is as wat ek aanvanklik gedink het nie. Dit laat u nie toe om die ligging van u muis te skuif nie en dit bly op die laaste plek gesentreer, dus dit is ideaal vir dinge soos 'n GPS -spoorsnyer vir motors, maar nie as u 'n voltooide rit met al die datapunte wil ontleed nie, veral as dit was 'n lang reis.

In hierdie handleiding het ons geleer hoe u die LTE -skild as 'n GPS -spoorsnyer en datalogger kan gebruik en hoe u die data vinnig op freeboard.io kan sien. Gebruik nou u verbeelding en pas dit toe in u eie projek. U kan selfs meer skilde byvoeg en hierdie ding omskep in 'n lae-krag sondatalogger! (Ek is eintlik van plan om in die toekoms 'n handleiding daaroor te doen!). As gevolg van die beperkings op die vryboordkaart, is ek ook van plan om 'n splinternuwe handleiding te maak oor hoe om u eie Android -app te maak wat die data van dweet af haal en u die ligging van die spoorsnyer op Google Maps met begin kan teken, wag, en stop funksies vir u reis! Bly ingeskakel!

  • As jy van hierdie projek gehou het, gee dit gerus!
  • As u vrae, kommentaar, voorstelle oor 'n nuwe tutoriaal het, of self hierdie projek probeer het, lewer beslis 'n opmerking hieronder!
  • Volg my hier op Instructables, teken in op my YouTube -kanaal, of volg my op Twitter om op hoogte te bly van my nuutste Arduino -projekte! Ek is 'n jong ingenieur met 'n passie om te deel wat ek geleer het, so daar sal beslis binnekort meer tutoriale wees!
  • As u wil ondersteun wat ek doen om open source -hardeware te deel en deeglik te dokumenteer vir opvoedkundige doeleindes, oorweeg dit om u eie skild op Amazon.com te koop om mee te speel!

Aanbeveel: