Cuprins:

The Map Mapper: 6 pași
The Map Mapper: 6 pași

Video: The Map Mapper: 6 pași

Video: The Map Mapper: 6 pași
Video: 1 મિનિટમાં જમીન માપો મોબાઇલથી વીઘા, હેક્ટર,એકર | jamin mapani app | area measure app | #khedutbhai 2024, Noiembrie
Anonim
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper
The Map Mapper

În acest proiect IoT, conectăm un NEO-6M (modul GPS) pentru a livra date de localizare prin Arduino într-o foaie Excel care va fi salvată pe computer. Ulterior, cu Tableau Public, creăm o vizualizare a datelor pentru a identifica calea pe care am luat-o. Deși aceasta este o modalitate de colectare și prezentare a datelor în timp real într-o date foarte corelată și anume, acest proces poate fi aplicat și altor proiecte bazate pe date.

Pasul 1: Achiziționarea de materiale

Achiziționarea de materiale
Achiziționarea de materiale

Pentru acest proiect, veți avea nevoie de următoarele:

  • Modul GPS NEO-6M
  • Arduino Uno
  • Fire jumper masculin / masculin (veți avea nevoie de 4 fire)
  • Cablu USB 2.0 de tip A la B.
  • Computer cu aceste programe: Tableau Public, Arduino IDE (cu TinyGPS ++) și Procesare

Pasul 2: Configurarea dispozitivelor

Configurarea dispozitivelor
Configurarea dispozitivelor
Configurarea dispozitivelor
Configurarea dispozitivelor

Mai întâi trebuie să configurăm modulul GPS cu Arduino UNO pentru ca Arduino să ne ofere o interfață pentru a afișa datele. Fiecare dintre cele patru fire conectate la NEO-6M corespunde unor porturi specifice. Dacă NEO-6M nu vine cu fire, va trebui să-l conectați direct cu fire jumper. În diagrama de mai sus, roșu corespunde puterii (VCC), negru la sol (GND), galben pentru a transmite date (TxD) și alb pentru a primi date (RxD). Conectăm aceste fire la firele jumper masculin / masculin, astfel încât să le putem conecta la Arduino. Urmând diagrama de mai sus, conectăm firul de masă la pinul digital GND de pe Arduino, firul TxD la 4, firul RxD la ~ 3 și firul VCC la 5V pentru tensiune. Într-un pas viitor, va trebui să definim TxD și RxD cu numerele corecte în SoftwareSerial.

Odată ce cele două dispozitive sunt conectate unul la altul, trebuie să furnizăm o sursă de alimentare. Conectați cablul USB 2.0 la laptop și lumina de pe NEO-6M ar trebui să se aprindă.

Pasul 3: Codificarea Arduino pentru a extrage date

Codificarea Arduino pentru a extrage date
Codificarea Arduino pentru a extrage date

Acum că avem dispozitivele configurate pentru a colecta date GPS de la sateliți, vom scrie cod pentru a analiza datele GPS dorite. Presupunând că ați luat un semnal (modulul meu GPS ar clipi în albastru), NEO-6M imprimă în mod implicit date brute pe monitorul serial sub formă de mesaje NMEA, care arată ca $ GP urmat de mai multe litere și o serie de numere. Imaginea de mai sus oferă o idee generală despre ceea ce ar trebui să fie afișat pe monitorul dvs. serial după introducerea codului de bază Arduino.

Pentru a explica codul pe care l-am atașat (sau dacă doriți să încercați să îl codificați singur), trebuie mai întâi să includeți atât bibliotecile SoftwareSerial, cât și TinyGPS ++ (pentru aceasta din urmă, Schiță> Includeți> Adăugați o bibliotecă. ZIP). SoftwareSerial ne permite să avem o conexiune serială; TinyGPS ++ ne oferă un instrument ușor de imprimare a informațiilor vizate într-o formă lizibilă. Asigurați-vă că inițializați obiectul SoftwareSerial la pinii corespunzători de pe Arduino. În funcția de configurare, folosim 9600 ca viteză de transmisie.

În scopul acestei instrucțiuni, vom imprima doar șapte tipuri de date în funcția de buclă: latitudine (grade), longitudine (grade), viteză (km), curs (grade), altitudine (km), numărul de sateliți din utilizați și hdop. Puteți căuta sintaxa pentru imprimarea acestor informații în biblioteca Arduiniana. Forma generală este Serial.print (). De exemplu, pentru a imprima longitudinea, am tasta Serial.print (gps.location.lng (), 6). 6 reprezintă câte cifre dorim în dreapta punctului zecimal.

Codul meu are caractere suplimentare tipărite de dragul unei regexuri ușor de formatat în pasul următor. Cu toate acestea, dacă doriți să vă opriți la acest pas, nu ezitați să formatați datele în mod diferit pentru a fi ușor de vizualizat pe monitorul serial.

Pasul 4: Utilizarea procesării pentru a asculta

Utilizarea procesării pentru a asculta
Utilizarea procesării pentru a asculta

Deși avem cod pentru configurarea IDE Arduino, avem o problemă de salvare a acestor date. În prezent, putem vizualiza datele doar pe monitorul serial pe măsură ce le colectăm. Există multe modalități de a înregistra aceste date, dar am ales Procesarea în primul rând deoarece interfața sa imită Arduino IDE și folosește Java, un limbaj pe care îl cunosc (rețineți că ați putea controla placa Arduino cu Procesarea dacă descărcați Firmata). Procesarea ascultă în portul conectat la Arduino și are capacitatea de a manipula datele care sunt citite pe monitorul serial. Pentru a găsi numele acestui port, consultați înapoi fișierul IDE Arduino și verificați în Instrumente> Port.

Am furnizat codul de procesare, dar iată o prezentare generală rapidă a modului în care funcționează codul.

Înainte de funcția de configurare, asigurați-vă că aveți variabile pentru port, tabelul rezultat, rândul cu care vom lucra și numele fișierului. Apoi, în funcția de configurare, există parametri pentru a seta dimensiunea ferestrei de rulare, dar aceste numere nu afectează funcționalitatea noastră (de exemplu, setați-le la (500, 500)). Când inițializați portul, utilizați numele portului sub formă de șir și o rată de transmisie de 9600. În cele din urmă, creați cele nouă coloane (pentru cele șapte categorii GPS, ora și data) pentru a inițializa tabelul.

În funcția de extragere, folosim funcțiile de dată și oră încorporate pentru a urmări momentul extragerii fiecărui set de date GPS. Acum, pentru a citi fluxul de date din Arduino și a le pune sub anteturile corespunzătoare cu ora și data corecte, folosim expresii regulate.

Folosesc regex pentru a analiza datele exacte cu funcția matchAll care caută orice expresie între semnul egal și punct și virgulă (delimitatorii pe care i-am pus în codul meu Arduino). Aceasta plasează ulterior toate etichetele potrivite, datele numerice, într-un tablou bidimensional. Putem apoi apela la acești indici matrice pentru a le pune sub antetele foii Excel.

Pentru a salva noul fișier.csv, folosim o tastă pentru a închide fereastra Run. Cu cât așteptați mai mult să apăsați o tastă, cu atât veți colecta mai multe date. Urmând maniera unui alt ghid, am decis, de asemenea, să salvez fișierul în folderul de date cu data și ora ca nume de fișier.

Pasul 5: Afișarea datelor pe Tableau Public

Afișarea datelor pe Tableau Public
Afișarea datelor pe Tableau Public
Afișarea datelor pe Tableau Public
Afișarea datelor pe Tableau Public
Afișarea datelor pe Tableau Public
Afișarea datelor pe Tableau Public

Pasul final implică o anumită vizualizare a datelor. Există multe programe pentru a crea și afișa vizualizări de date, adică Plotly, dar pentru acest proiect vom folosi Tableau. Deschideți Tableau Public și deschideți fișierul Excel salvat ca fișier text. Pentru a crea o foaie de lucru, faceți clic pe Foaia 1 din partea stângă jos.

Deoarece lucrăm cu date GPS, vom folosi o hartă pentru a descrie informațiile noastre. În coloana din stânga unde scrie Măsuri, vom trage longitudinea în coloane și latitudinea în rânduri în partea de sus. Tabloul implicit ambele măsuri la AVG, deci faceți clic pe meniul derulant de lângă termeni și schimbați-le pe ambele în Dimensiune. Acum harta ar trebui să aibă o cale afișată folosind valorile de latitudine și longitudine colectate.

Pentru a curăța datele pentru erori (ceea ce se poate face și înainte de a deschide Tableau), puteți alege să excludeți unele cercuri de locație făcând clic pe ele și selectând opțiunea. Modulul meu GPS nu este 100% precis, deoarece unele părți ale traseului meu nu au fost localizate, dar traseul general a fost înregistrat.

Pasul 6: Rafinarea viz

Rafinarea Viz
Rafinarea Viz

Ultima parte este de a face aceste date și anume mai lizibile. Dacă doriți contextul străzii, puteți accesa Harta> Stratul de hartă> Străzile și autostrăzile. Simțiți-vă liber să experimentați cu alte mărci. Am tras viteza peste culoare pentru a arăta cum crește intensitatea culorii atunci când viteza crește. De asemenea, am folosit Detalii în loc de Etichetă pentru curs, deoarece Etichetă ar afișa numerele pe hartă, în timp ce am vrut să apară informații doar atunci când treceți peste punctele de locație.

Acum că ați experimentat întregul proces de colectare a datelor și afișarea a ceea ce aveți pe o vizualizare a datelor, puteți aplica acest lucru și altor proiecte!

de Pingdi Huang, vara 2018

Recomandat: