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, Srpanj
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

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

Ovaj Instructable je uglavnom fokusiran na LTE štit koji sam osobno dizajnirao i izgradio, ali sve bi ovdje (uključujući knjižnicu Github Arduino) trebalo raditi i na 2C i 3G modulima SIMComa, poput SIM800/808/900/5320, budući da je samo ažurirano verzija biblioteke Adafruit FONA. Bez obzira na hardver, koncept je potpuno isti i s tim 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: Skupite dijelove

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

Popis je isti kao u mom prvom vodiču i stvarno je jednostavan!

  • Arduino Uno, Mega ili Leonardo. Alternativno, možete upotrijebiti bilo koji drugi mikrokontroler od 3,3 V ili 5 V, ali morate priključiti pinove izvana.
  • Botletics SIM7000 Shield Kit (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. Također ga možete podić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 za postavljanje hardvera:

  • Zalemite naslage ženskih zaglavlja na štit. Pogledajte ovaj vodič o tome kako to učiniti.
  • Uključite štit u Arduino, pazeći da sve igle 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 mjesto zareza u kutu.
  • Priključite LiPo bateriju u JST konektor na štitu
  • Priključite svoj Arduino na računalo pomoću USB kabela. Možda ćete primijetiti da zelena LED dioda napajanja štita ne svijetli. To je sasvim normalno jer PWRKEY pin oklopa treba malo pritisnuti nisko kako 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 desnom rubu štita. Imajte na umu da će se žice ukrstiti pa nemojte priključivati pogrešne!
  • Sve ste spremni 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 te upute, trebali ste testirati mrežnu vezu, GPS i objaviti podatke na dweet.io.

Primjer skice IoT -a

Sada kada ste testirali osnovne značajke vašeg štita, učitajte skicu "IoT_Example" u Arduino IDE. Također ga možete pronaći ovdje na Githubu. Prenesite ovaj kôd na svoj Arduino i otvorite serijski monitor i trebali biste vidjeti kako Arduino pronalazi modul SIM7000, povezuje se na staničnu mrežu, omogućuje GPS i nastavlja pokušavati dok ne dobije ispravku na lokaciji, te objavi podatke na dweet.io. Sve bi se ovo trebalo izvoditi bez promjene bilo koje linije koda, pod pretpostavkom da koristite LTE štit i hologramsku SIM karticu.

Prema zadanim postavkama vidjet ćete sljedeći redak koji 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 učiniti stvari poput stavljanja Arduina u način rada niske potrošnje i slične stvari, ali da zadržite jednostavne stvari samo ću upotrijebiti funkciju delay () za pauziranje operacije. Ako komentirate ovaj redak, 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 redak 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 na liniju ako povremeno uzorkujete, ali ako imate relativno visoku stopu uzorkovanja, htjet ćete ostaviti redak komentiran 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 objaviti izuzetno brzo!

//#define turnOffShield // Isključivanje štita nakon objavljivanja podataka

Također imajte na umu da ovaj primjer automatski dohvaća specifičan za modul i globalno jedinstven IMEI broj SIM7000 te ga koristi kao ID uređaja (ili "naziv" 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 svoje lokacije, svoju brzinu (u kilometrima na sat), smjer smjera (stupnjevi, pri čemu je 0 stupnjeva 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 naredbenog priručnika SIM7000 AT.

Nakon što potvrdite da vaše postavke uspješno šalju podatke na dweet, postavimo nadzornu ploču za pregled svih naših podataka 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 super IoT nadzornu ploču koja se može povezati s brojnim oblačnim platformama poput PubNub -a i dweeta, kao i s drugim značajkama poput JSON -a i MQTT -a. Kao što ste vjerojatno pretpostavili, također ćemo koristiti 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, može biti pravi "okno" za preuređivanje stavki na vašem zaslonu!

Račun i postavljanje uređaja

  • Prvo što trebate učiniti je stvoriti račun klikom na crveni gumb "POČNI ODMAH" na početnoj stranici freeboard.io, unesite vjerodajnice i kliknite "Stvori moj račun". Tada ćete putem e -pošte primiti obavijest koja potvrđuje vaš novi račun.
  • 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 odvesti na praznu nadzornu ploču na kojoj možete postaviti sučelje onako kako vam se sviđa. U nadmorskoj visini možete postaviti različite "okna", a svako okno može imati jedan ili više "widgeta", 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 pod "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 naziva, 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 u dweet. Također možete kliknuti gumb za osvježavanje kako biste provjerili ima li najnovijih vrijednosti, ali će se nadvodnik sam ažurirati pa obično ne biste morali koristiti taj gumb.

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 vaš zaslon. Međutim, ovdje još nema ništa jer nismo dodali nijedan widget!
  • Za dodavanje widgeta kliknite mali gumb "+" na oknu. To će otvoriti padajući izbornik s različitim opcijama widgeta. Budući 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 ispunili, vaš uređaj mora već objaviti objavu na Twitteru. Pod pretpostavkom da postoji, trebali biste moći kliknuti "+ Izvor podataka", kliknuti na izvor podataka ("SIM7000 GPS praćenje"), zatim kliknite na "lat", koji je naziv varijable koji štit koristi pri objavljivanju na tweetu. Ponovite postupak za polje zemljopisne dužine i kliknite klizač pri dnu ako želite da karta povuče linije između podatkovnih točaka kako bi označila gdje ste bili.
  • Sada biste trebali vidjeti malu kartu svoje približne lokacije! Da biste provjerili radi li karta, pokušajte promijeniti trenutnu GPS širinu/dužinu na nešto malo drugačije mijenjanjem, na primjer, prve znamenke nakon decimalne točke vrijednosti zemljopisne širine/duljine u dweet URL -u koja je ispisana na serijskom monitoru u Arduino IDE kada je štit objavio podatke. Nakon što ste ih dotjerali, 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 dotjeranu 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 lijepi mjerač!
  • Ponovite ovo za vrijednosti nadmorske visine i temperature.
  • Sada za naslov dodajmo "Pointer" umjesto toga. Ovo je u biti 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. Pritisnite to i unesite naslov za okno te unesite "2" pod "Stupci" da biste povećali širinu okna.
  • Za promjenu položaja okna jednostavno ih povucite unaokolo! Također možete eksperimentirati dodavanjem "Sparklinea" 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 razlučivošću. Također bih ostavio varijantu "turnOffShield" komentiranu 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. Također će vam trebati 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 sada je potreban na svim novijim verzijama.

Zatim otvorite negdje nadmorsku ploču pa kad se vratite možete vidjeti rezultate! Jednom 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 to tijekom vožnje …), možete vidjeti podatke s nadmorske visine na svom telefonu u stvarnom vremenu dok vaš prijatelj vozi vozilom. Zabavne stvari!

Korak 6: Rezultati

Rezultati
Rezultati

Za ovaj smo test moj tata i ja otišli nabaviti bubnjeve za piletinu kod trgovaca Joea (omnomnomnom …) i prikupili smo prilično točne podatke. Uređaj je slao podatke svakih 10 sekundi, a najveća brzina putovanja iznosila 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 nije baš 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 usredotočeno na posljednju lokaciju pa je izvrsno za stvari poput GPS -a za automobil, ali ne i ako želite analizirati završeno putovanje sa svim podatkovnim točkama, posebno ako bio dug put.

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 i više štitova i pretvoriti ovu stvar u solarni zapisnik male snage! (Možda ću u budućnosti planirati napraviti tutorial o tome!). Zbog ograničenja karte na slobodnoj ploči također planiram napraviti potpuno novi vodič o tome kako napraviti vlastitu aplikaciju za Android 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 značajke za svoje putovanje! Ostanite uz nas!

  • Ako vam se svidio ovaj projekt, dajte mu 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 s mojim najnovijim Arduino projektima! Ja sam mladi inženjer sa strašću za dijeljenjem naučenog, pa će zasigurno uskoro biti još tutoriala!
  • Ako želite podržati ono što ja činim dijeljenjem hardvera otvorenog koda i njihovo temeljito dokumentiranje u obrazovne svrhe, razmislite o kupnji vlastitog štita na Amazon.com za igranje!

Preporučeni: