Sadržaj:

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

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

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

Intro & Part 1 Recap

Da, vrijeme je za još jedan Instructable na SIM7000 GPS tracker s Arduinom i LTE -om! Ako već niste, pročitajte vodič za početak rada za Botletics SIM7000 CAT-M/NB-IoT štit, a zatim pročitajte u 1. dijelu vodiča za praćenje GPS-a. Kao takav, pretpostavit ću da imate sav hardver postavljen i spreman za postavljanje podataka u oblak. Sve što zaista trebamo učiniti u ovom vodiču je upoznati se sa ThingsBoard -om i napraviti još jedan test na cesti kako bismo vidjeli nevjerojatne podatke. emisije!

U prvom dijelu uspješno smo dobili naš vrhunski GPS tracker za slanje podataka na dweet.io i dohvatili podatke na freeboard.io radi vizualizacije podataka. Međutim, ubrzo sam shvatio da je funkcionalnost karte prilično uzvišena jer ne dopušta vam pomicanje kursora ili promjenu veličine prozora widgeta. Ovo me je dovelo do boljeg rješenja: ThingsBoard.io koji je super-super IoT nadzorna ploča (i besplatna!) Koja vam omogućuje pohranu, vizualizaciju i prilagođavanje vaših podataka! Možete prevući da biste preuredili widgete (i radi u Chromeu za razliku od freeboarda), a ukupna kvaliteta je vrh usjeva. Ono što je najvažnije, Google widget za karte omogućuje vam slobodno kretanje, zumiranje i smanjivanje te odabir različitih stilova (satelit, pogled na cestu itd.), Pa čak vam omogućuje i povlačenje i ispuštanje malog žutog momka na cestu radi pogleda ulice !

Korak 1: Postavljanje ThingsBoard -a

ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup
ThingsBoard Setup

ThingsBoard račun i postavljanje uređaja

Prvo što trebate učiniti je otići na početnu stranicu ThingsBoarda, a zatim stvoriti račun klikom na gornji desni gumb izbornika i odabirom "Live Demo". Napravite račun, potvrdite svoj račun u e -pošti koju vam šalju, a zatim se ponovo prijavite na početni ekran Demo Demo. Ovo bi vas trebalo dovesti do ekrana na kojem možete upravljati svim svojim uređajima, uređivati nadzorne ploče itd.

Zatim odaberite karticu "Uređaji" s lijeve strane. Ovo bi trebalo prikazati hrpu demo uređaja poput ESP8266, DHT22, Arduino i Pi demonstracija itd. Kreirajte novi uređaj klikom na crveno dugme "+" u donjem desnom kutu i unesite naziv te odaberite "default" za vrstu uređaja. Nakon što kliknete "DODAJ", trebali biste vidjeti svoj novi uređaj na kartici Uređaji. Kliknite na "Upravljanje vjerodajnicama" i trebali biste vidjeti mali prozor koji prikazuje pristupni token uređaja. Ovo je u osnovi ID uređaja i analogan je ID -u uređaja koji se koristi za objavljivanje podataka na dweet.io. Ako želite, ovaj ID uređaja možete promijeniti u IMEI broj vašeg štita, ali možete koristiti i automatski generirani token. Kopirajte ovaj žeton jer će vam trebati na Arduino skici.

Arduino primjer postavljanja

U ovom vodiču koristit ćemo potpuno isti primjer Arduino skice kao u prvom vodiču, ali ovaj put sam skicu ažurirao tako da uključuje kôd za slanje podataka izravno na ThingsBoard.io umjesto dweet.io u 1. dijelu. Kao i uvijek, primjer koda možete pronaći ovdje na Githubu.

Prvo što trebate učiniti je komentirati redove koji štit objavljuju na dweet.io:

// GET zahtjev/* // Možete prilagoditi sadržaj zahtjeva ako vam nisu potrebne određene stvari poput brzine, nadmorske visine itd. 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 brojač = 0; // Ovo broji broj neuspjelih pokušaja

// Pokušajte ukupno tri puta ako je post bio neuspješan (pokušajte još 2 puta) while (brojač <3 &&! Fona.postData ("GET", URL, "")) {// Dodajte navodnike "" kao treće ulaz jer za GET zahtjev ne postoji "body" Serial.println (F ("Nije uspjelo objavljivanje podataka, pokušaj ponovo …")); counter ++; // Povećanje kašnjenja brojača (1000); } */

Zatim uklonite komentar iz redova koji se objavljuju na thingsboard.io:

// Pokušajmo POST zahtjev za thingsboard.io const char* token = "YOUR_DEVICE_TOKEN"; // Sa thingsboard.io uređaja sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (body, "{" latitude / ":%s, \" longitude / ":%s, \" speed / ":%s, \" head / ":%s, \" alt / ":%s, / "temp \":%s, / "batt \":%s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (body, "{" lat / ":%s, \" long / ":%s}", latBuff, longBuff); // Ako sve što želite je lat/long

int brojač = 0;

while (! fona.postData ("POST", URL, tijelo)) {Serial.println (F ("Nije uspjelo dovršenje HTTP POST …")); counter ++; kašnjenje (1000); }

Prenesite kôd na svoj Arduino, provjerite jeste li priključili SIM karticu i antenu i provjerite da li štit šalje kôd u oblak prije nego nastavite!

NAPOMENA: Arduino Uno ima vrlo malo memorije (RAM), a objavljivanje na Thingsboard -u može uzrokovati pad Arduina. Ako doživite ponovno pokretanje skice približno na lokaciji funkcije postData () ili neko drugo čudno ponašanje, to se najvjerojatnije događa. Lako rješenje za to je zamjena Uno -a s Arduino Mega ili pločom s više RAM -a. Također možete pokušati smanjiti veličinu niza i podijeliti podatke na više postova.

Korak 2: Provjerite prijem podataka

Provjerite prijem podataka
Provjerite prijem podataka

Da biste zapravo provjerili da se podaci šalju na ThingsBoard ispravno, idite na istu stranicu s detaljima o uređaju (kliknite pločicu uređaja GPS Tracker na stranici "Uređaji"), a zatim kliknite karticu "Najnovija telemetrija". Ako vaš GPS tracker šalje vrijednosti na ThingsBoard, trebali biste vidjeti najnovije vrijednosti ovdje i one će se ažurirati u stvarnom vremenu kad uđu.

Sada kada ste provjerili da ThingsBoard zapravo prikuplja podatke, vrijeme je za postavljanje nadzorne ploče kako bismo mogli vizualizirati naše podatke dok ih prikupljamo! (Ili nakon činjenice)

Korak 3: Postavljanje nadzorne ploče

Postavljanje nadzorne ploče
Postavljanje nadzorne ploče
Postavljanje nadzorne ploče
Postavljanje nadzorne ploče
Postavljanje nadzorne ploče
Postavljanje nadzorne ploče

Sada je vrijeme za zabavni dio! Sada kliknite karticu "Nadzorne ploče" s lijeve strane i odaberite svoj GPS uređaj za praćenje. Ovo bi trebalo otvoriti novu stranicu koja traži od vas da dodate widgete. Pritisnite donji desni gumb "+" i "kreiraj novi widget" da biste otvorili padajući izbornik widgeta za odabir. Za sada dodajmo "digitalni mjerač". Odabirom ovoga trebalo bi učitati hrpu pregleda za sve različite vrste digitalnih mjerača koje možete izabrati. Kada kliknete na jedan, otvorit će se drugi zaslon za postavljanje parametara widgeta. Prvo što trebate dodati je izvor podataka (vaš GPS uređaj za praćenje koji šalje podatke na ThingsBoard). Pritisnite dugme "+ DODAJ", odaberite svoj uređaj "GPS Tracker" i odaberite odgovarajuću varijablu koju želite da vidžet prikaže. U ovom slučaju, odaberite varijablu "temp" (temperatura).

Sada, ako želite dodati stvari poput naslova za widget, idite na karticu "Postavke", označite "Prikaži naslov" i unesite naslov. Postoji mnogo drugih stvari koje možete učiniti na kartici "Napredno", ali dopustit ću vam da to sami istražite! Zabavite se mijenjajući raspone vrijednosti, tekst naljepnice, boje i još mnogo toga! Nakon dodavanja widgeta, pojavit će se u donjem lijevom kutu vaše nadzorne ploče (možda ćete se morati pomaknuti prema dolje ako na ekranu ima više widgeta). Widget možete urediti u bilo kojem trenutku pritiskom na gumb na widgetu ako ste već u načinu uređivanja nadzorne ploče, ili ući u način uređivanja tako da prvo pritisnete gumb olovke u donjem desnom kutu cijelog ekrana kako biste mogli uređivati widgete. Prilično jednostavno!

Korak 4: Dodavanje karte

Dodavanje mape!
Dodavanje mape!
Dodavanje mape!
Dodavanje mape!
Dodavanje mape!
Dodavanje mape!
Dodavanje mape!
Dodavanje mape!

Sada za GPS tracker mapu morate imati! Dodajmo jedan stvaranjem novog widgeta (dolje desno dugme "+") i ovaj put se pomaknite prema dolje i odaberite "Karte". Idite naprijed i kliknite na jedan i on će vam otvoriti mogućnosti. Dodajte izvor podataka kao i obično, ali ovaj put odaberite i "lat" i "long" varijable jer će im trebati obje za dobivanje lokacije. Zatim idite na karticu "Postavke" i ovdje možete postaviti vremenski prozor podataka koji će se prikazivati na karti. Na primjer, možda ćete htjeti da se pojave samo posljednje 2 minute podataka, ili možda želite sve podatke od jučer, ili možda samo želite fiksni prozor na vrijeme (poput 14:00 jučer do 10:00 danas).

Ako želite, tada možete otići na karticu "Napredno" i odabrati vrstu karte (putokaz, satelit, hibrid ili teren). Možda je najvažniji dio svega ovoga provjera imena ključeva za zemljopisnu širinu i dužinu. Provjerite odgovaraju li ta imena točno nazivima varijabli koje zapravo šaljete na ThingsBoard. Na primjer, ako vaša Arduino skica kaže da šalje "lat" i "long" varijable (što je zadano), tada morate promijeniti nazive ključeva u "lat" i "long" i koristeći "geografsku širinu" i "dužinu" neće dohvatiti vaše podatke!

Opet, nakon dodavanja karte, pojavit će se pri dnu nadzorne ploče. Jednostavno ga povucite da biste ga ponovo postavili na nadzornu ploču i kliknite i povucite rubove da biste mu promijenili veličinu. Ako je vaš vremenski prozor ispravno postavljen, trebali biste vidjeti svoju trenutnu lokaciju na karti. Super uredno ha? Sada smo spremni za pravi test!

Korak 5: Test na cesti

Road Test
Road Test
Road Test
Road Test

Testiranje GPS trackera je super jednostavno! Samo priključite Arduino u USB adapter za automobil kako biste ga napajali, provjerite da li se zelena LED lampica uključuje i trebao bi početi slati podatke! Da biste promijenili brzinu uzorkovanja GPS tragača, pronađite ovaj red koda u primjeru skice:

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

i podesite ga na šta god želite. Otkrio sam da 10s radi prilično dobro za lagani test na cesti, ali ako ste brzi i bijesni, možda biste htjeli još veću stopu uzorkovanja!

Korak 6: Rezultati

Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati

Na gornjim slikama možete vidjeti postavke moje nadzorne ploče. Dodao sam grafikone za grafičke podatke o stvarima kao što su brzina, nadmorska visina i temperatura, a uključio sam i mjerače u stvarnom vremenu u slučaju da ih želim vidjeti u stvarnom vremenu na drugom putovanju (slikajte ovo u kamionu!).

Karta je bila strava i uspio sam prikupiti neke zaista točne podatke o ruti kojom sam krenuo. Takođe, podaci o brzini bili su izuzetno precizni jer nikada nismo prelazili oko 40 km / h (grafikon je u km / h) na gradskim putevima. Mnoge fluktuacije brzine mogu se objasniti semaforima. Sve u svemu, odlični rezultati i zamislite za što bismo ovo još mogli koristiti! Mogli biste ovo instalirati na auto prikolicu, motocikl, automobil itd. I stalno pratiti i izvlačiti rezultate na ThingsBoardu!

Ukratko, u ovom smo vodiču programirali naš GPS tracker za slanje podataka izravno na ThingsBoard putem HTTP POST zahtjeva i upravljali podacima na nadzornoj ploči. Možete dodati više uređaja i nadzornih ploča, a svaka sadrži više widgeta koji izgledaju super i imaju puno mogućnosti prilagođavanja! ThingsBoard se pokazao kao vrlo moćan (i besplatan!) Alat za pregled IoT podataka, a postoje čak i druge značajke koje nisam ni ogrebao. Slobodno se poigrajte s tim i pogledajte što ćete pronaći.

  • Ako vam se svidio ovaj vodič, sami ste ga napravili ili imate bilo kakvih pitanja, ostavite komentar ispod!
  • Dajte ovom Instructableu srce i pretplatite se ovdje i na mom YouTube kanalu za još sjajnih vodiča vezanih uz Arduino!
  • Ako želite podržati ono što radim, razmislite o kupovini vlastitog Botletics SIM7000 štita na Amazon.com!

Uz to, vidimo se sljedeći put!

Preporučuje se: