Sisällysluettelo:

Polun kartoitus: 6 vaihetta
Polun kartoitus: 6 vaihetta

Video: Polun kartoitus: 6 vaihetta

Video: Polun kartoitus: 6 vaihetta
Video: Ilmastoilta #6: Teräs 2024, Heinäkuu
Anonim
Polun kartoittaja
Polun kartoittaja
Polun kartoittaja
Polun kartoittaja
Polun kartoittaja
Polun kartoittaja

Tässä IoT-projektissa kytketään NEO-6M (GPS-moduuli) toimittamaan sijaintitiedot Arduinon kautta Excel-taulukkoon, joka tallennetaan tietokoneelle. Myöhemmin Tableau Publicin avulla luomme datavisualisoinnin näistä tiedoista kartoittaaksemme valitsemamme polun. Vaikka tämä on yksi tapa kerätä ja esittää reaaliaikaisia tietoja erittäin korreloiduissa tiedoissa, tätä prosessia voidaan soveltaa myös muihin dataan perustuviin projekteihin.

Vaihe 1: Materiaalien hankinta

Materiaalien hankinta
Materiaalien hankinta

Tätä projektia varten tarvitset seuraavat:

  • NEO-6M GPS-moduuli
  • Arduino Uno
  • Uros/uroshyppyjohdot (tarvitset 4 johtoa)
  • USB 2.0 -kaapeli, tyyppi A - B
  • Tietokone, jossa on nämä ohjelmat: Tableau Public, Arduino IDE (TinyGPS ++) ja Processing

Vaihe 2: Laitteiden määrittäminen

Laitteiden asentaminen
Laitteiden asentaminen
Laitteiden asentaminen
Laitteiden asentaminen

Meidän on ensin asennettava GPS -moduuli Arduino UNO: n kanssa, jotta Arduino antaa meille käyttöliittymän tietojen näyttämiseksi. Jokainen NEO-6M: ään liitetyistä neljästä johdosta vastaa tiettyjä portteja. Jos NEO-6M: n mukana ei tule johtoja, sinun on johdotettava se suoraan hyppyjohdoilla. Yllä olevassa kaaviossa punainen vastaa tehoa (VCC), musta maahan (GND), keltainen tiedonsiirtoon (TxD) ja valkoinen tiedon vastaanottamiseen (RxD). Yhdistämme nämä johdot uros/uroshyppyjohtoihin, jotta voimme yhdistää ne Arduinoon. Yllä olevan kaavion mukaisesti liitämme maadoitusjohdon Arduinon digitaaliseen GND -nastaan, TxD -johdon 4: een, RxD -johdon ~ 3: een ja VCC -johdon 5 V: n jännitteeseen. Tulevassa vaiheessa meidän on määritettävä TxD ja RxD oikeilla numeroilla SoftwareSerialissa.

Kun kaksi laitetta on kytketty toisiinsa, meidän on toimitettava virtalähde. Liitä USB 2.0 -kaapeli kannettavaan tietokoneeseen, ja NEO-6M: n merkkivalon pitäisi syttyä.

Vaihe 3: Arduinon koodaus tietojen poimimiseksi

Arduinon koodaus tietojen poimimiseksi
Arduinon koodaus tietojen poimimiseksi

Nyt kun laitteet on määritetty keräämään GPS -tietoja satelliiteista, kirjoitamme koodin halutun GPS -datan jäsentämiseksi. Olettaen, että olet vastaanottanut signaalin (GPS-moduulini vilkkuisi sinisenä), NEO-6M tulostaa oletuksena raakadataa sarjamonitoriin NMEA-viestien muodossa, jotka näyttävät jotain $ GP: ltä, jota seuraa lisää kirjaimia ja sarja numeroista. Yllä oleva kuva antaa yleiskuvan siitä, mitä sarjamonitorissa pitäisi näyttää, kun Arduino -peruskoodi on asetettu.

Jos haluat selittää liittämäni koodin (tai jos haluat yrittää koodata sen itse), sinun on ensin sisällytettävä sekä SoftwareSerial- että TinyGPS ++ -kirjasto (jälkimmäisen osalta Luonnos> Sisällytä> Lisää. ZIP -kirjasto). SoftwareSerial mahdollistaa sarjaliitännän; TinyGPS ++ tarjoaa meille helpon työkalun tulostaa kohdennetut tiedot luettavassa muodossa. Muista alustaa SoftwareSerial -objekti Arduinon vastaaviin nastoihin. Asetustoiminnossa käytämme 9600 baudinopeutena.

Tätä ohjeistusta varten tulostamme vain seitsemän tietotyyppiä silmukkafunktiossa: leveysaste (astetta), pituusaste (astetta), nopeus (km), kurssi (astetta), korkeus (km), satelliittien lukumäärä käyttää ja hdop. Voit etsiä näiden tietojen tulostamisen syntaksia Arduiniana -kirjastosta. Yleinen muoto on Serial.print (). Esimerkiksi pituuspiirin tulostamiseksi kirjoitamme Serial.print (gps.location.lng (), 6). 6 edustaa kuinka monta numeroa haluamme desimaalipilkun oikealla puolella.

Koodissani on lisämerkkejä, jotka on tulostettu helposti muotoiltavan säännöllisen lausekkeen vuoksi seuraavassa vaiheessa. Jos haluat kuitenkin pysähtyä tähän vaiheeseen, voit vapaasti muotoilla tiedot eri tavalla, jotta sarjamonitori olisi helpompi nähdä.

Vaihe 4: Käsittelyn hyödyntäminen kuunteluun

Käsittelyn hyödyntäminen kuunteluun
Käsittelyn hyödyntäminen kuunteluun

Vaikka meillä on koodi Arduino IDE: lle, meillä on ongelma näiden tietojen tallentamisessa. Tällä hetkellä voimme tarkastella vain sarjamonitorin tietoja, kun keräämme niitä. Tietojen kirjaamiseen on monia tapoja, mutta valitsin Käsittelyn ensisijaisesti siksi, että sen käyttöliittymä jäljittelee Arduino IDE: tä ja käyttää Java -kieltä, jonka tunnen (huomaa, että voit hallita Arduino -korttia myös Processingilla, jos lataat Firmatan). Käsittely kuuntelee Arduinoon yhdistettyä porttia ja pystyy käsittelemään sarjamonitorille luettuja tietoja. Löydät tämän portin nimen palaamalla Arduino IDE -tiedostoosi ja valitsemalla Työkalut> Portti.

Olen antanut käsittelykoodin, mutta tässä on nopea yleiskatsaus koodin toimintaan.

Ennen asennustoimintoa varmista, että sinulla on muuttujia portille, tuloksena olevalle taulukolle, riville, jolla aiomme työskennellä, ja tiedoston nimen. Asetustoiminnossa on sitten parametrit, joilla voit määrittää Suorita -ikkunan koon, mutta nämä numerot eivät vaikuta toiminnoihimme (esimerkiksi aseta ne arvoon (500, 500)). Kun alustat porttia, käytä portin nimeä merkkijonomuodossa ja siirtonopeutta 9600. Luo lopuksi taulukon yhdeksän saraketta (seitsemälle GPS -luokalle, aika ja päivämäärä).

Piirtotoiminnossa käytämme sisäänrakennettuja päivämäärä- ja aikafunktioita seurataksemme, milloin jokainen GPS -data poimitaan. Nyt kun luemme Arduinon datavirran ja laitamme sen sopiviin otsikoihin oikealla kellonajalla ja päivämäärällä, käytämme säännöllisiä lausekkeita.

Käytän säännöllistä lauseketta jäsentääkseni tarkat tiedot matchAll -funktiolla, joka etsii lausekkeita yhtäläisyysmerkin ja puolipisteen välillä (erotinmerkit, jotka laitan Arduino -koodiini). Tämän jälkeen kaikki sovitetut tunnisteet, numeeriset tiedot, sijoitetaan kaksiulotteiseen taulukkoon. Voimme sitten pyytää näitä taulukkoindeksejä asettamaan ne Excel -taulukon otsikoiden alle.

Tallentaaksemme uuden.csv -tiedoston, suljemme Suorita -ikkunan näppäimen painalluksella. Mitä kauemmin odotat näppäimen painamista, sitä enemmän tietoja keräät. Toisen oppaan tapaan päätin myös tallentaa tiedoston tietokansioon ja päivämäärän ja kellonajan tiedoston nimeksi.

Vaihe 5: Tietojen näyttäminen Tableau Publicissa

Näytetään tiedot Tableau Publicista
Näytetään tiedot Tableau Publicista
Näytetään tiedot Tableau Publicista
Näytetään tiedot Tableau Publicista
Näytetään tiedot Tableau Publicista
Näytetään tiedot Tableau Publicista

Viimeinen vaihe sisältää jonkin verran tietojen visualisointia. Tietojen visualisointien luomiseen ja näyttämiseen on monia ohjelmia eli Plotly, mutta tässä projektissa käytämme Tableau -ohjelmaa. Avaa Tableau Public ja avaa tallennettu Excel -tiedosto tekstitiedostona. Luo laskentataulukko napsauttamalla taulukkoa 1 vasemmassa alakulmassa.

Koska työskentelemme GPS -tietojen kanssa, käytämme karttaa tietojen esittämiseen. Vasemmassa sarakkeessa, jossa lukee Mittaukset, vedämme pituusaste sarakkeisiin ja leveysaste riviin ylhäällä. Tableau oletusarvoisesti molemmat mitat ovat AVG, joten napsauta ehtojen vieressä olevaa avattavaa valikkoa ja muuta molemmat ulottuvuudeksi. Nyt kartassa pitäisi näkyä polku kerättyjen leveys- ja pituusasteiden avulla.

Jos haluat puhdistaa tietosi virheiden varalta (mikä voidaan tehdä myös ennen Tableau -tiedoston avaamista), voit sulkea pois joitakin sijaintipiirejä napsauttamalla niitä ja valitsemalla vaihtoehdon. GPS -moduulini ei ole 100% tarkka, koska joitakin polkuni osia ei ole löydetty, mutta yleinen polku on tallennettu.

Vaihe 6: Vizin hienosäätö

Vizin hienosäätö
Vizin hienosäätö

Viimeinen osa on tehdä näistä tiedoista luettavampia. Jos haluat katukontekstin, voit siirtyä kohtaan Kartta> Karttakerros> Kadut ja valtatiet. Voit vapaasti kokeilla muiden merkkien kanssa. Vedin nopeutta värin yli näyttääkseni, kuinka värin voimakkuus kasvaa nopeuden kasvaessa. Käytin myös Yksityiskohtia kurssin Labelin sijasta, koska Label näyttäisi numerot kartalla, kun taas halusin, että tiedot näkyvät vain, kun viet hiiren sijaintipisteiden päälle.

Nyt kun olet kokenut koko prosessin tietojen keräämisestä ja tietojen visualisoinnista näyttämisestä, voit soveltaa tätä muihin projekteihin!

kirjoittanut Pingdi Huang, kesä 2018

Suositeltava: