Sadržaj:

LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)

Video: LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)

Video: LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio): 6 koraka (sa slikama)
Video: Веб-программирование – информатика для руководителей бизнеса 2016 2024, Decembar
Anonim
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)
LTE Arduino GPS praćenje + IoT nadzorna ploča (1. dio)

Uvod

Šta ima raja! Ovaj Instructable nastavak je mog prvog Instructable-a o korištenju Botletics LTE/NB-IoT štita za Arduino, pa ako već niste, pročitajte ga da biste dobili dobar pregled o tome kako koristiti štit i o čemu se radi. U ovom vodiču fokusirat ću se na evidentiranje IoT podataka, a posebno na GPS i praćenje temperature, te ću vam pružiti sav kôd i smjernice koje su vam potrebne da krenete na put i isprobate ga!

Ovaj Instructable je uglavnom fokusiran na LTE štit koji sam lično dizajnirao i izgradio, ali sve ovdje (uključujući biblioteku Github Arduino) bi trebalo raditi i na 2G i 3G modulima SIMComa, poput SIM800/808/900/5320, jer je to samo ažurirano verzija biblioteke Adafruit FONA. Bez obzira na hardver, koncept je potpuno isti i s ovim možete raditi puno zanimljivih stvari, uključujući bilježenje podataka senzora, daljinsko praćenje vremena, GPS praćenje karme od krađe automobila, itd … pa čitajte dalje!

Korak 1: Prikupite dijelove

Skupite dijelove
Skupite dijelove
Skupite dijelove
Skupite dijelove
Skupite dijelove
Skupite dijelove

Lista je ista kao u mom prvom vodiču i zaista je jednostavna!

  • Arduino Uno, Mega ili Leonardo. Alternativno, možete koristiti bilo koji drugi 3,3V ili 5V mikrokontroler, ali biste morali priključiti pinove izvana.
  • Botletics SIM7000 štitni komplet (dolazi sa štitnikom, dvostrukom LTE/GPS uFL antenom i ženskim zaglavljima za slaganje). Prođite kroz ovaj vodič kako biste odabrali odgovarajuću verziju!
  • Hologramska SIM kartica. Prva SIM kartica (nazvana SIM kartica "za programere") potpuno je besplatna i dolazi s 1 MB podataka mjesečno! U SAD -u ćete najvjerojatnije biti na mreži Verizon ako koristite hologramsku SIM karticu. Možete ga podići i uz Botletics štitnik, ako je to prikladnije.
  • 3.7V LiPo baterija (preporučuje se kapacitet 1000mAH ili veći).
  • USB kabel za programiranje ili napajanje vašeg Arduina.

Za test GPS praćenja!

  • Za napajanje svog Arduina možete koristiti USB adapter za automobil dok testirate štitnik na cesti.
  • Alternativno, možete koristiti bateriju (7-12V) za napajanje Arduina putem VIN i GND pinova.

Korak 2: Fizičko sklapanje

Fizički sklop
Fizički sklop
Fizički sklop
Fizički sklop
Fizički sklop
Fizički sklop

Sada kada imate sve svoje dijelove, evo kratkog pregleda onoga što trebate učiniti da postavite svoj hardver:

  • Lepite naslažene ženske glave na štit. Pogledajte ovaj vodič o tome kako to učiniti.
  • Uključite štit u Arduino, pazeći da sve pinove poravnate kako ih ne biste oštetili!
  • Umetnite SIM karticu kao što je prikazano na slici. Metalni kontakti okrenuti su prema dolje i bilježe lokaciju zareza u kutu.
  • Priključite LiPo bateriju u JST konektor na štitu
  • Priključite svoj Arduino na računar pomoću USB kabla. Možda ćete primijetiti da zelena LED dioda napajanja štita ne svijetli. To je sasvim normalno jer PWRKEY pin štita treba malo pulsirati da bi se uključio. Primjer Arduino skice u sljedećem odjeljku pobrinut će se za to!
  • Priključite dvostruku LTE/GPS antenu na uFL konektore na desnoj ivici štitnika. Imajte na umu da će se žice ukrstiti pa nemojte priključivati pogrešne!
  • Spremni ste za softver!

Korak 3: Arduino postavljanje i testiranje uređaja

Arduino postavljanje i testiranje uređaja
Arduino postavljanje i testiranje uređaja

Arduino IDE postavljanje

Ako već niste, pogledajte korake "Arduino IDE Setup" i "Arduino Example" korake u glavnom proizvodu Instructable kako biste bili sigurni da vaša ploča radi ispravno. U tim uputama morate preuzeti biblioteku na stranici Github i otvoriti primjer koda "LTE_Demo". Nakon što ste slijedili ta uputstva, trebali ste testirati mrežnu vezu, GPS i objaviti podatke na dweet.io.

Primjer skice IoT -a

Sada kada ste testirali osnovne karakteristike vašeg štita, učitajte skicu "IoT_Example" u Arduino IDE. Možete ga pronaći i ovdje na Githubu. Otpremite ovaj kôd na svoj Arduino i otvorite serijski monitor i trebali biste vidjeti kako Arduino pronalazi modul SIM7000, povezuje se na mobilnu mrežu, omogućava GPS i nastavlja pokušavati dok ne dobije ispravku lokacije, te objavljuje podatke na dweet.io. Sve bi ovo trebalo raditi bez promjene bilo koje linije koda, pod pretpostavkom da koristite LTE štit i hologramsku SIM karticu.

Podrazumevano ćete vidjeti da sljedeći red definira brzinu uzorkovanja (pa, zapravo kašnjenje između postova).

#define samplingRate 30 // Vrijeme između postova, u sekundama

Ako se ovaj redak ne komentira, Arduino će objaviti podatke, odgoditi 30 sekundi, ponovno objaviti podatke, ponoviti itd. Tijekom odgode od 30 sekundi možete raditi stvari poput stavljanja Arduina u način rada niske potrošnje i slične stvari, ali da zadržite stvari jednostavne Koristit ću funkciju delay () da pauziram operaciju. Ako komentirate ovu liniju, Arduino će objaviti podatke, a zatim idite izravno u stanje mirovanja male snage na neodređeno vrijeme dok ne pritisnete gumb za poništavanje na vašem Arduinu. Ovo je korisno ako nešto testirate i ne želite snimiti svoje dragocjene besplatne podatke (iako iskreno, svaki post ne koristi praktički ništa) ili možda imate vanjsko kolo za resetiranje Arduina (555 mjerač vremena? RTC prekid? Prekid akcelerometra? Senzor temperature prekinuti? Razmislite izvan okvira!). Zapravo u vodiču Burgalert 7000 pokazujem kako možete koristiti PIR detektor pokreta za buđenje mikrokontrolera.

Sljedeći red postavlja hoće li se štit isključiti nakon objavljivanja podataka ili će ostati uključen. Možete se odlučiti za prethodni izbor tako što ćete ukloniti komentare iz linije ako povremeno uzorkujete, ali ako imate relativno visoku stopu uzorkovanja, htjet ćete ostaviti red komentiranom tako da štit ostane uključen i nema za ponovnu inicijalizaciju, ponovno omogućavanje GPRS-a i GPS-a, itd. Kad je štitnik ostavljen, može se postaviti izuzetno brzo!

//#definirati turnOffShield // Isključiti štit nakon objavljivanja podataka

Također imajte na umu da ovaj primjer automatski dohvaća IMEI broj specifičan za modul i globalno jedinstven IMEI za SIM7000 te ga koristi kao ID uređaja (ili "ime" ako želite) za identifikaciju uređaja kada objavljuje podatke na dweet.io. Ovo možete promijeniti ako želite, pa sam mislio da vas obavijestim:)

Da biste provjerili šalju li se vaši podaci na dweet.io, jednostavno unesite odgovarajuće podatke i kopirajte/zalijepite URL u bilo koji preglednik:

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

gdje {deviceID} treba zamijeniti IMEI brojem koji se ispisuje na serijskom monitoru na početku, odmah nakon što ga Arduino pronađe. Nakon što unesete taj URL u svoj preglednik, trebali biste vidjeti JSON odgovor poput sljedećeg:

Gledajući "sadržaj" trebali biste vidjeti zemljopisnu širinu, dužinu vaše lokacije, vašu brzinu (u kilometrima na sat), smjer smjera (stupnjevi, pri čemu je 0 stepeni sjeverno), nadmorsku visinu (metri), temperaturu (*C, ali osjetite slobodan za pretvaranje u kôd), a napon napajanja u milivoltima (što je VBAT, napon baterije). Za više informacija o nizu podataka NMEA možete pogledati stranicu 149 komandnog priručnika SIM7000 AT.

Nakon što potvrdite da vaše postavke uspješno šalju podatke na dweet, postavimo nadzornu ploču da pregleda sve naše podatke na lijepom sučelju!

Korak 4: Postavljanje Freeboard.io

Postavljanje Freeboard.io
Postavljanje Freeboard.io
Postavljanje Freeboard.io
Postavljanje Freeboard.io
Postavljanje Freeboard.io
Postavljanje Freeboard.io

Za ovaj vodič koristit ćemo freeboard.io, zaista cool IoT nadzornu ploču koja se može povezati s brojnim oblačnim platformama poput PubNub -a i dweet -a, kao i s drugim značajkama poput JSON -a i MQTT -a. Kao što ste vjerojatno pretpostavili, koristit ćemo i dweet.io koji se koristi u primjeru koda iz prethodnog odjeljka. Kao važnu napomenu, čini se da povlačenje okna u freeboard.io ne radi u Chromeu, pa umjesto toga upotrijebite Firebox ili Microsoft Edge. Ako to ne učinite, to može biti pravi "okno" za preuređivanje stavki na ekranu!

Račun i postavljanje uređaja

  • Prvo što trebate učiniti je stvoriti račun klikom na crveno dugme "POČNI ODMAH" na početnoj stranici freeboard.io, unesite vjerodajnice i kliknite "Kreiraj moj račun". Tada ćete putem e -pošte primiti obavijest o potvrdi vašeg novog računa.
  • Sada kliknite "Prijava" u gornjem desnom kutu početne stranice i nakon prijave trebali biste vidjeti svoje "slobodne ploče", koje su samo nadzorne ploče koje postavljate za svoje projekte. Očigledno, ako je račun nov, ovdje nećete vidjeti ništa, pa samo unesite novi naziv projekta i kliknite "Kreiraj novi" u gornjem desnom kutu. Ovo će vas zatim odvesti na praznu nadzornu ploču na kojoj možete postaviti sučelje onako kako vam se sviđa. U slobodnom dijelu možete postaviti različite "okna", a svako okno može imati jedan ili više "widgeta" koji su stvari poput grafikona, karata, mjerača itd. Koji na neki način prikazuju vaše podatke.
  • Prvo što sada moramo učiniti je postaviti stvarni izvor podataka, a to je vaš Arduino + LTE štit. Da biste to učinili, kliknite "DODAJ" u gornjem desnom kutu ispod "Izvori podataka". Zatim odaberite "Dweet.io" i unesite bilo koje ime u polje "Ime". Međutim, pobrinite se da ispod polja "Ime stvari" unesete IMEI broj štita umjesto bilo kojeg proizvoljnog imena, jer će to slobodni bok koristiti za izvlačenje podataka iz dweeta.
  • Nakon što kliknete "Spremi", vaš bi se uređaj trebao pojaviti pod "Izvori podataka", kao i zadnji put kada je slao podatke na dweet. Također možete kliknuti na gumb za osvježavanje kako biste provjerili ima li najnovijih vrijednosti, ali će se freeboard sam ažurirati pa obično ne biste morali koristiti to dugme.

Postavljanje nadzorne ploče

Pogledajmo sada kako postaviti stvarna zvona i zvižduke koje želite vidjeti na ekranu!

  • Da biste dodali okno, kliknite gumb "DODAJ PANU" u gornjem lijevom kutu i vidjet ćete da dodaje mali prozor na ekranu. Međutim, ovdje još nema ništa jer nismo dodali nijedan widget!
  • Za dodavanje widgeta kliknite malo dugme "+" na oknu. Ovo će otvoriti padajući izbornik s različitim opcijama widgeta. S obzirom da ćemo raditi GPS praćenje, odaberite widget "Google Map". Tada biste trebali vidjeti dva polja, zemljopisnu širinu i dužinu. Da biste ih ispravno popunili, vaš uređaj mora već objaviti objavu na Twitteru. Pod pretpostavkom da postoji, trebali biste moći kliknuti na "+ Izvor podataka", kliknite na izvor podataka ("SIM7000 GPS praćenje"), a zatim kliknite na "lat", naziv varijable koji štit koristi prilikom objavljivanja na tweetu. Ponovite postupak za polje geografske dužine i kliknite klizač pri dnu ako želite da mapa povuče linije između tačaka podataka kako bi označila gdje ste bili.
  • Sada biste trebali vidjeti malu kartu vaše približne lokacije! Da biste provjerili funkcionira li karta, pokušajte promijeniti trenutnu GPS širinu/dužinu na nešto malo drugačije mijenjanjem, na primjer, prve znamenke nakon decimalnog zareza vrijednosti zemljopisne širine/duljine u dweet URL -u koji je ispisan na serijskom monitoru u Arduino IDE kada je štit objavio podatke. Nakon što ih prilagodite, kopirajte i zalijepite URL i izvršite ga u svom pregledniku.

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

Sada se vratite na desni bok i trebali biste vidjeti da je iscrtao vašu prilagođenu lokaciju i povukao narančastu liniju između točaka! Kul stvari ha? Tako da mislim da ste shvatili da će naš GPS uređaj za praćenje poslati podatke o lokaciji kako biste ih vidjeli u slobodnom vremenu u stvarnom vremenu ili nakon što vaša avantura završi

Dodaci

Budući da naš mali GPS uređaj za praćenje ne šalje samo podatke o širini/dužini, već i o nadmorskoj visini, brzini, smjeru i temperaturi, ubacimo još nekoliko widgeta kako bismo našu nadzornu ploču učinili šarenijom!

  • Počnimo dodavanjem novog okna, a zatim za dodavanje mjerača u novo okno kliknite gumb "+" u oknu i odaberite "Mjerač". Kao i prije, upotrijebite izvor podataka i odaberite "brzina" kao podatke koje želimo dohvatiti za ovaj mjerač. Tada biste na nadzornoj ploči trebali vidjeti lijep mjerač!
  • Ponovite ovo za vrijednosti nadmorske visine i temperature.
  • Sada za naslov dodajmo "Pointer" umjesto toga. Ovo je u suštini kompas jer počinje usmjeravati prema gore (sjever) na 0 stupnjeva i rotira se u smjeru kazaljke na satu za pozitivne smjerove. Savršeno!
  • Da biste promijenili veličinu okna, zadržite pokazivač iznad okna koje sadrži kartu i trebali biste vidjeti mali simbol ključa u gornjem desnom kutu. Kliknite na to i unesite naslov za okno te unesite "2" pod "Kolone" da biste povećali širinu okna.
  • Da biste promijenili lokaciju prozora, jednostavno ih povucite unaokolo! Također možete eksperimentirati dodavanjem "Sparkline -a" koji je u osnovi samo linijski grafikon tako da možete vidjeti ne samo najnovije podatke već i povijesne podatke.

Zabavite se i namjestite sve kako vam se sviđa jer spremni smo za izlet!

Korak 5: Testiranje

Image
Image
Testiranje
Testiranje

Za testiranje vašeg postavljanja preporučio bih da vrijeme uzorkovanja postavite na nižu vrijednost, na primjer 10-20s, tako da možete snimiti svoje putovanje s većom rezolucijom. Ostavio bih i varijantu "turnOffShield" komentarisanu kako štit ne bi zaspao. To mu omogućuje brzo objavljivanje podataka.

Nakon što učitate kôd na svoj Arduino, nabavite bateriju (7-12V) za napajanje Arduina ili jednostavno priključite Arduino pomoću USB adaptera za automobil. Trebat će vam i 3,7 V LiPo baterija priključena u štit kao što je ranije spomenuto; štit prikazan na gornjoj slici stara je verzija i nije imao podršku za LiPo bateriju, ali je sada potreban na svim novijim verzijama.

Zatim otvorite negdje slobodni bok, pa kad se vratite, možete vidjeti rezultate! Kad priključite Arduino, spremni ste! Počnite se voziti, popiti kavu, vratiti se kući i trebali biste vidjeti podatke iscrtane na nadmorskoj visini. Ako zaista želite (ne preporučujem ovo dok vozite …), možete vidjeti podatke sa nadmorske visine na svom telefonu u stvarnom vremenu dok vaš prijatelj vozi vozilo. Zabavne stvari!

Korak 6: Rezultati

Rezultati
Rezultati

Za ovaj test, moj tata i ja smo otišli po pileće bubnjeve u Trader Joe's (omnomnomnom …) i prikupili smo prilično tačne podatke. Uređaj je slao podatke svakih 10 sekundi, a maksimalna brzina s putovanja bila je oko 92 km / h, što je prilično točno jer smo cijelo vrijeme pazili na brzinomjer. LTE štit definitivno dobro radi svoj posao i vrlo brzo šalje podatke u oblak. Zasada je dobro!

Međutim, možda i nije tako dobra vijest da widget za kartu na nadmorskoj visini nije tako sjajan kao što sam prvotno mislio. Ne dopušta vam pomicanje lokacije miša i ostaje centriran na posljednjoj lokaciji pa je odličan za stvari poput GPS -a za praćenje automobila, ali ne i ako želite analizirati završeno putovanje sa svim podatkovnim točkama, posebno ako bilo je to dugo putovanje.

U ovom smo vodiču naučili kako koristiti LTE štit kao GPS praćenje i zapisnik podataka te kako brzo pregledati podatke na freeboard.io. Sada upotrijebite maštu i primijenite je u vlastitom projektu. Možete čak dodati još štitova i pretvoriti ovu stvar u solarni zapisnik male snage! (Možda zapravo planiram da u budućnosti napravim tutorijal o tome!). Zbog ograničenja karte na slobodnoj ploči, također planiram napraviti potpuno novo uputstvo o tome kako napraviti vlastitu Android aplikaciju koja preuzima podatke s dweeta i koja će vam omogućiti da zacrtate lokaciju tragača na Google kartama od početka, pauzirajte i zaustavite funkcije za svoje putovanje! Ostanite s nama!

  • Ako vam se svidio ovaj projekat, molimo vas da mu date srca!
  • Ako imate pitanja, komentare, prijedloge o novom vodiču ili ste sami isprobali ovaj projekt, svakako komentirajte ispod!
  • Pratite me ovdje na Instructables, pretplatite se na moj YouTube kanal ili me pratite na Twitteru kako biste bili u toku sa mojim najnovijim Arduino projektima! Ja sam mladi inženjer sa strašću da podijelim ono što sam naučio, pa će definitivno uskoro biti još tutorijala!
  • Ako želite podržati ono što radim u dijeljenju hardvera otvorenog koda i temeljnom dokumentovanju u obrazovne svrhe, razmislite o kupovini vlastitog štita na Amazon.com za igru!

Preporučuje se: