Sadržaj:

Karta puta: 6 koraka
Karta puta: 6 koraka

Video: Karta puta: 6 koraka

Video: Karta puta: 6 koraka
Video: История Кореи на карте. 2024, Studeni
Anonim
Karta puta
Karta puta
Karta puta
Karta puta
Karta puta
Karta puta

U ovom IoT projektu povezujemo NEO-6M (GPS modul) za isporuku lokacijskih podataka putem Arduina na Excel listu koja će se spremiti na računalo. Nakon toga s Tableau Publicom stvaramo vizualizaciju podataka ovih podataka kako bismo zacrtali put kojim smo krenuli. Iako je ovo jedan od načina prikupljanja i predstavljanja podataka u stvarnom vremenu u visoko koreliranim podacima, ovaj se proces može primijeniti i na druge projekte vođene podacima.

Korak 1: Nabavka materijala

Nabavljanje materijala
Nabavljanje materijala

Za ovaj projekt trebat će vam sljedeće:

  • NEO-6M GPS modul
  • Arduino Uno
  • Muške/muške kratkospojne žice (trebat će vam 4 žice)
  • USB 2.0 kabel vrste A do B
  • Računalo s ovim programima: Tableau Public, Arduino IDE (s TinyGPS ++) i Processing

Korak 2: Postavljanje uređaja

Postavljanje uređaja
Postavljanje uređaja
Postavljanje uređaja
Postavljanje uređaja

Prvo moramo postaviti GPS modul s Arduino UNO kako bi nam Arduino dao sučelje za prikaz podataka. Svaka od četiri žice spojene na NEO-6M odgovara određenim priključcima. Ako vaš NEO-6M ne dolazi sa žicama, morat ćete ga spojiti izravno pomoću kratkospojnika. Na gornjem dijagramu crvena odgovara snazi (VCC), crna masi (GND), žuta za prijenos podataka (TxD), a bijela za prijem podataka (RxD). Ove žice povezujemo s muškim/muškim kratkospojnicima tako da ih možemo spojiti na Arduino. Slijedeći gornji dijagram, povezujemo žicu za uzemljenje s GND digitalnim pinom na Arduinu, TxD žicom na 4, RxD žicom na ~ 3 i VCC žicom na 5V za napon. U sljedećem koraku trebat ćemo definirati TxD i RxD s ispravnim brojevima u SoftwareSerialu.

Nakon što su dva uređaja međusobno povezana, moramo osigurati izvor napajanja. Priključite USB 2.0 kabel na prijenosno računalo i lampica na NEO-6M bi trebala zasvijetliti.

Korak 3: Kodiranje Arduina za ekstrakciju podataka

Kodiranje Arduina za ekstrakciju podataka
Kodiranje Arduina za ekstrakciju podataka

Sada kada imamo uređaje postavljene za prikupljanje GPS podataka sa satelita, napisat ćemo kôd za raščlanjivanje GPS podataka koje želimo. Pod pretpostavkom da ste pokupili signal (moj GPS modul će treperiti plavo), NEO-6M prema zadanim postavkama ispisuje neobrađene podatke na serijskom monitoru u obliku poruka NMEA, koje izgledaju poput USD, nakon čega slijede još slova i niz brojeva. Gornja slika daje opću ideju o tome što bi trebalo biti prikazano na vašem serijskom monitoru nakon umetanja osnovnog Arduino koda.

Da biste objasnili kôd koji sam priložio (ili ako ga želite pokušati sami kodirati), morate prvo uključiti i biblioteke SoftwareSerial i TinyGPS ++ (za potonju Sketch> Include> Add. ZIP library). SoftwareSerial nam omogućuje serijsku vezu; TinyGPS ++ daje nam jednostavan alat za ispis ciljanih podataka u čitljivom obliku. Pobrinite se da inicijalizirate objekt SoftwareSerial na odgovarajuće pinove na Arduinu. U funkciji postavljanja koristimo 9600 kao brzinu prijenosa.

Za potrebe ovog uputstva, ispisat ćemo samo sedam vrsta podataka u funkciji petlje: zemljopisna širina (stupnjevi), dužina (stupnjevi), brzina (km), kurs (stupnjevi), nadmorska visina (km), broj satelita u korištenje i hdop. Možete pretraživati sintaksu za ispis ovih podataka u biblioteci Arduiniana. Opći oblik je Serial.print (). Na primjer za ispis zemljopisne dužine, ispisali bismo Serial.print (gps.location.lng (), 6). 6 predstavlja koliko znamenki želimo desno od decimalne točke.

Moj kôd ima ispisane dodatne znakove radi lako formatiranog regularnog izraza u sljedećem koraku. Ako ipak želite stati na ovom koraku, slobodno formatirajte podatke na drugačiji način radi lakšeg pregleda na serijskom monitoru.

Korak 4: Korištenje obrade za slušanje

Korištenje obrade za slušanje
Korištenje obrade za slušanje

Iako imamo kod za postavljanje Arduino IDE -a, imamo problem sa spremanjem ovih podataka. Zasad možemo samo vidjeti podatke na serijskom monitoru dok ih prikupljamo. Postoji mnogo načina za bilježenje ovih podataka, ali odabrao sam Processing prvenstveno jer njegovo sučelje oponaša Arduino IDE i koristi Javu, jezik koji mi je poznat (imajte na umu da biste Arduino ploču mogli kontrolirati i pomoću Processing ako preuzmete Firmatu). Obrada sluša na priključku priključenom na Arduino i ima mogućnost manipuliranja podacima koji se čitaju na serijskom monitoru. Da biste pronašli naziv ovog porta, vratite se na svoju Arduino IDE datoteku i provjerite Alati> Priključak.

Dao sam kod za obradu, ali evo kratkog pregleda kako kôd radi.

Prije funkcije postavljanja provjerite imate li varijable za port, rezultirajuću tablicu, redak s kojim ćemo raditi i naziv datoteke. Zatim u funkciji postavljanja postoje parametri za postavljanje veličine vašeg prozora Run, ali ti brojevi ne utječu na našu funkcionalnost (na primjer, postavite ih na (500, 500)). Kada inicijalizirate port, upotrijebite naziv porta u obliku Stringa i brzinu prijenosa od 9600. Na kraju, stvorite devet stupaca (za sedam GPS kategorija, vrijeme i datum) za inicijalizaciju tablice.

U funkciji crtanja koristimo ugrađene funkcije datuma i vremena za praćenje kada se izvlači svaki skup GPS podataka. Sada za čitanje toka podataka s Arduina i stavljanje pod odgovarajuća zaglavlja s točnim vremenom i datumom, koristimo regularne izraze.

Koristim regex za raščlanjivanje točnih podataka funkcijom matchAll koja traži bilo koji izraz između znaka jednakosti i točke -zareza (graničnici koje sam stavio u svoj Arduino kôd). Time se sve podudarne oznake, numerički podaci, smještaju u dvodimenzionalni niz. Zatim možemo pozvati te indekse niza da ih stave pod zaglavlja Excel lista.

Za spremanje nove.csv datoteke pritiskom na tipku zatvaramo prozor Pokreni. Što duže čekate da pritisnete tipku, prikupit ćete više podataka. Slijedeći način drugog vodiča, također sam odlučio spremiti datoteku u podatkovnu mapu s datumom i vremenom kao imenom datoteke.

Korak 5: Prikaz podataka na Tableau Public

Prikazivanje podataka na Tableau Public
Prikazivanje podataka na Tableau Public
Prikazivanje podataka na Tableau Public
Prikazivanje podataka na Tableau Public
Prikazivanje podataka na Tableau Public
Prikazivanje podataka na Tableau Public

Posljednji korak uključuje vizualizaciju podataka. Postoji mnogo programa za izradu i prikaz vizualizacija podataka, tj. Plotly, ali za ovaj projekt koristit ćemo Tableau. Otvorite Tableau Public i otvorite spremljenu Excel datoteku kao tekstualnu datoteku. Da biste stvorili radni list, kliknite na List 1 u donjem lijevom kutu.

Budući da radimo s GPS podacima, upotrijebit ćemo kartu za prikaz naših podataka. U lijevi stupac gdje piše Mjere, povući ćemo Geografsku dužinu u stupce, a Geografsku širinu u redove pri vrhu. Tablica je za obje mjere zadane vrijednosti AVG, pa kliknite na padajući izbornik pored izraza i promijenite obje u Dimenzija. Sada bi na karti trebao biti prikazan put pomoću prikupljenih vrijednosti zemljopisne širine i dužine.

Da biste očistili svoje podatke od pogrešaka (što se također može učiniti prije otvaranja Tableau -a), neke krugove lokacije možete isključiti klikom na njih i odabirom opcije. Moj GPS modul nije 100% točan jer neki dijelovi moje staze nisu locirani, ali opći put je snimljen.

Korak 6: Poboljšajte Viz

Dorada Viz
Dorada Viz

Posljednji dio je učiniti ove podatke vidljivijima. Ako želite kontekst ulice, idite na Karta> Sloj karte> Ulice i autoceste. Slobodno eksperimentirajte s drugim oznakama. Povukao sam Brzinu preko Boje kako bih pokazao kako se intenzitet boje povećava s povećanjem brzine. Također sam koristio pojedinosti umjesto oznake za tečaj jer bi oznaka prikazala brojeve na karti, dok sam želio da se informacije pojavljuju samo kad zadržite pokazivač iznad točaka lokacije.

Sada kada ste iskusili cijeli proces prikupljanja podataka i prikazivanja onoga što imate na vizualizaciji podataka, to možete primijeniti na druge projekte!

autor Pingdi Huang, ljeto 2018

Preporučeni: