Kazalo:

Karta poti: 6 korakov
Karta poti: 6 korakov

Video: Karta poti: 6 korakov

Video: Karta poti: 6 korakov
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Karta poti
Karta poti
Karta poti
Karta poti
Karta poti
Karta poti

V tem projektu IoT povezujemo NEO-6M (modul GPS) za dostavo lokacijskih podatkov prek Arduina na Excelov list, ki bo shranjen v računalniku. Nato z Tableau Public ustvarimo vizualizacijo podatkov teh podatkov, da preslikamo pot, po kateri smo šli. Čeprav je to eden od načinov zbiranja in predstavitve podatkov v realnem času v zelo koreliranih podatkih, se lahko ta postopek uporabi tudi za druge projekte, ki temeljijo na podatkih.

1. korak: Pridobitev materialov

Pridobitev materialov
Pridobitev materialov

Za ta projekt boste potrebovali naslednje:

  • GPS-modul NEO-6M
  • Arduino Uno
  • Moški/moški mostički (potrebujete 4 žice)
  • Kabel USB 2.0 od A do B
  • Računalnik s temi programi: Tableau Public, Arduino IDE (s TinyGPS ++) in Processing

2. korak: Nastavitev naprav

Nastavitev naprav
Nastavitev naprav
Nastavitev naprav
Nastavitev naprav

Najprej moramo nastaviti modul GPS z Arduino UNO, da nam bo Arduino omogočil vmesnik za prikaz podatkov. Vsaka od štirih žic, povezanih z NEO-6M, ustreza določenim vhodom. Če vaš NEO-6M ni opremljen z žicami, ga boste morali priključiti neposredno z mostičnimi žicami. Na zgornjem diagramu rdeča ustreza moči (VCC), črna ozemljitvi (GND), rumena za prenos podatkov (TxD) in bela za sprejem podatkov (RxD). Te žice povežemo z moškimi/moškimi mostičnimi žicami, da jih lahko povežemo z Arduinom. Po zgornjem diagramu priključimo ozemljitveno žico na digitalni pin GND na Arduinu, žico TxD na 4, žico RxD na ~ 3 in žico VCC na 5V za napetost. V prihodnjem koraku bomo morali določiti TxD in RxD s pravilnimi številkami v SoftwareSerial.

Ko sta napravi povezani med seboj, moramo zagotoviti vir napajanja. Priključite kabel USB 2.0 na prenosni računalnik in lučka na NEO-6M naj zasveti.

3. korak: Kodiranje Arduina za pridobivanje podatkov

Kodiranje Arduina za ekstrakcijo podatkov
Kodiranje Arduina za ekstrakcijo podatkov

Zdaj, ko imamo nastavljene naprave za zbiranje podatkov GPS s satelitov, bomo napisali kodo za razčlenitev želenih podatkov GPS. Ob predpostavki, da ste sprejeli signal (moj modul GPS bi utripal modro), NEO-6M privzeto na serijski monitor natisne surove podatke v obliki sporočil NMEA, ki so videti kot $ GP, čemur sledijo še črke in niz številk. Zgornja slika daje splošno predstavo o tem, kaj bi moralo biti prikazano na vašem serijskem monitorju, ko vnesete osnovno kodo Arduino.

Če želite razložiti kodo, ki sem jo priložil (ali če jo želite poskusiti sami kodirati), morate najprej vključiti knjižnici SoftwareSerial in TinyGPS ++ (za slednjo Sketch> Include> Add. ZIP library). SoftwareSerial nam omogoča serijsko povezavo; TinyGPS ++ nam omogoča preprosto orodje za tiskanje ciljnih informacij v berljivi obliki. Inicializirajte objekt SoftwareSerial na ustrezne nožice na Arduinu. V nastavitveni funkciji uporabljamo 9600 kot hitrost prenosa.

Za namene tega navodila bomo v funkciji zanke natisnili le sedem vrst podatkov: zemljepisno širino (stopinje), dolžino (stopinje), hitrost (km), smer (stopinje), nadmorsko višino (km), število satelitov v uporabo in hdop. V knjižnici Arduiniana lahko poiščete skladnjo za tiskanje teh podatkov. Splošna oblika je Serial.print (). Na primer za tiskanje zemljepisne dolžine bi vnesli Serial.print (gps.location.lng (), 6). 6 predstavlja, koliko številk želimo desno od decimalne vejice.

Moja koda ima natisnjene dodatne znake zaradi enostavno oblikovanega regexa v naslednjem koraku. Če pa se želite ustaviti pri tem koraku, lahko podatke formatirate drugače za lažji pogled na serijski monitor.

4. korak: Uporabite obdelavo za poslušanje

Uporaba procesiranja za poslušanje
Uporaba procesiranja za poslušanje

Čeprav imamo nastavljeno kodo za Arduino IDE, imamo težave pri shranjevanju teh podatkov. Trenutno lahko podatke na serijskem monitorju vidimo le, ko jih zbiramo. Obstaja veliko načinov za beleženje teh podatkov, vendar sem se odločil za obdelavo predvsem zato, ker njen vmesnik posnema Arduino IDE in uporablja Javo, jezik, ki ga poznam (upoštevajte, da lahko tudi ploščo Arduino nadzirate z obdelavo, če prenesete Firmata). Obdelava posluša vrata, povezana z Arduinom, in ima možnost manipuliranja s podatki, ki se berejo na serijski monitor. Če želite poiskati ime teh vrat, se obrnite na datoteko Arduino IDE in preverite Orodja> Vrata.

Zagotovil sem kodo za obdelavo, tukaj pa je kratek pregled delovanja kode.

Pred namestitveno funkcijo se prepričajte, da imate spremenljivke za vrata, nastalo tabelo, vrstico, s katero bomo delali, in ime datoteke. Nato v nastavitveni funkciji obstajajo parametri za nastavitev velikosti okna Zaženi, vendar te številke ne vplivajo na našo funkcionalnost (na primer nastavite jih na (500, 500)). Ko inicializirate vrata, uporabite ime vrat v obliki String in hitrost prenosa 9600. Nazadnje ustvarite devet stolpcev (za sedem kategorij GPS, čas in datum) za inicializacijo tabele.

V funkciji risanja uporabljamo vgrajeni funkciji datuma in časa, da spremljamo, kdaj se izvleče vsak niz podatkov GPS. Zdaj, da preberemo tok podatkov iz Arduina in ga postavimo pod ustrezne glave s pravilnim časom in datumom, uporabljamo regularne izraze.

Uporabljam regex za razčlenitev natančnih podatkov s funkcijo matchAll, ki išče kateri koli izraz med znakom enakosti in podpičjem (ločila, ki sem jih vnesel v kodo Arduino). To nato vse ujemajoče se oznake, numerične podatke, postavi v dvodimenzionalno matriko. Nato lahko pokličemo te indekse matrike, da jih postavimo pod glave Excelovega lista.

Za shranjevanje nove datoteke.csv s pritiskom na tipko zapremo okno Zaženi. Dlje ko čakate na pritisk tipke, več podatkov boste zbrali. Po načinu drugega vodnika sem se tudi odločil, da datoteko shranim v podatkovno mapo z datumom in uro kot ime datoteke.

5. korak: Prikaz podatkov na Tableau Public

Prikaz podatkov na Tableau Public
Prikaz podatkov na Tableau Public
Prikaz podatkov na Tableau Public
Prikaz podatkov na Tableau Public
Prikaz podatkov na Tableau Public
Prikaz podatkov na Tableau Public

Zadnji korak vključuje vizualizacijo podatkov. Obstaja veliko programov za ustvarjanje in prikaz vizualizacij podatkov, to je Plotly, vendar bomo za ta projekt uporabili Tableau. Odprite Tableau Public in odprite shranjeno datoteko Excel kot besedilno datoteko. Če želite ustvariti delovni list, kliknite List 1 v spodnjem levem kotu.

Ker delamo s podatki GPS, bomo za prikaz podatkov uporabili zemljevid. V levem stolpcu, kjer piše Mere, povlečemo zemljepisno dolžino v stolpce in zemljepisno širino v vrstice na vrhu. Tableau privzeto uporablja oba ukrepa za AVG, zato kliknite spustni meni poleg izrazov in oboje spremenite v Dimension. Zdaj bi morala biti na zemljevidu prikazana pot z zbranimi vrednostmi zemljepisne širine in dolžine.

Če želite podatke očistiti zaradi napak (kar lahko storite tudi pred odpiranjem Tableau), se lahko odločite, da nekatere lokacijske kroge izključite tako, da jih kliknete in izberete možnost. Moj GPS modul ni 100% natančen, saj nekateri deli moje poti niso bili locirani, vendar je bila splošna pot zabeležena.

6. korak: Izboljšajte Viz

Izpopolnjevanje Viz
Izpopolnjevanje Viz

Zadnji del je, da postanejo ti podatki bolj berljivi. Če želite ulični kontekst, pojdite na Zemljevid> Sloj zemljevida> Ulice in avtoceste. Lahko eksperimentirate z drugimi oznakami. Hitrost sem potegnil čez barvo, da pokažem, kako se intenzivnost barve poveča, ko se hitrost poveča. Namesto oznake za tečaj sem uporabil tudi podrobnosti, ker bi oznaka prikazala številke na zemljevidu, medtem ko sem želel, da se informacije prikažejo le, ko premaknete miškin kazalec na lokacijske pike.

Zdaj, ko ste doživeli celoten postopek zbiranja podatkov in prikazovanja tega, kar imate na vizualizaciji podatkov, lahko to uporabite za druge projekte!

avtor Pingdi Huang, poletje 2018

Priporočena: