Sadržaj:
- Korak 1: Nabavka materijala
- Korak 2: Postavljanje uređaja
- Korak 3: Kodiranje Arduina za ekstrakciju podataka
- Korak 4: Korištenje obrade za slušanje
- Korak 5: Prikaz podataka na Tableau Public
- Korak 6: Poboljšajte Viz
Video: Karta puta: 6 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
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
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
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
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
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
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
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:
3D karta GPS praćenja: 9 koraka
GPS praćenje 3D karte: Ovaj projekt je 3D ispisana 3D karta s cestama, rijekama i gradovima, sa LED svjetionicima za prikaz lokacije članova obitelji. Može pokazati je li dijete u školi ili samo lokaciju oba roditelja. Također ga možemo koristiti za predviđanje
Nova turistička karta grada Taipeija !!!: 6 koraka
Nova turistička karta grada Taipei !!!: U ovom projektu napravit ću okvir, a na vrhu će biti karta grada New Taipei. Cilj ovog projekta je omogućiti djeci i odraslima da upoznaju tri glavna velika područja u gradu New Taipei. Postoje 3 gumba koji se nalaze sa strane kutije
Karta za studentsko parkiranje sveučilišnog kampusa: 7 koraka (sa slikama)
Karta za studentsko parkiranje sveučilišnog kampusa: Mnogi se studenti pitaju gdje mogu parkirati na sveučilišnom kampusu. Kako bih riješio ovaj problem, stvorio sam osvijetljenu kartu parkiranja glavnog područja kampusa Sveučilišta Utah State. Karta je namijenjena studentima da na brzinu pogledaju koje su mogućnosti parkiranja
Pametna karta Idaha s LED podacima + umjetnost: 8 koraka (sa slikama)
Pametna karta Idaha s LED podacima + umjetnost: Oduvijek sam želio način umjetničkog i dinamičkog prikaza geografskih podataka pomoću " slikanja " karta sa svjetlom. Živim u Idahu i volim svoju državu pa sam mislio da bi ovo bilo odlično mjesto za početak! Osim što je umjetničko djelo
Karta za vožnju žicom: 5 koraka
Drive by Wire Go Kart: Upravo sam dobio novi motor za karting, prešao sam sa 6 KS na 10 KS. Ovaj novi Kohler motor koji sam dobio mislim da nije napravljen za stavljanje kartinga, pa sam imao problema pronaći način da pričvrstim laticu plina. Pa nakon nekoliko dana što zapravo nismo ništa shvatili