Obsah:

Mapovač cesty: 6 krokov
Mapovač cesty: 6 krokov

Video: Mapovač cesty: 6 krokov

Video: Mapovač cesty: 6 krokov
Video: ТЕСТЫ К ШКОЛЕ. Пройди тест и проверь, готов ли ты к школе? 2024, Júl
Anonim
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty

V tomto projekte IoT sme zapojili NEO-6M (modul GPS), aby sme prostredníctvom Arduina doručili lokalizačné údaje na list programu Excel, ktorý sa uloží do počítača. Potom s Tableau Public vytvoríme vizualizáciu údajov týchto údajov, aby sme zmapovali cestu, ktorou sme sa vydali. Aj keď je to jeden zo spôsobov zhromažďovania a prezentácie údajov v reálnom čase vo vysoko korelovaných údajoch, tento proces je možné použiť aj na iné projekty založené na dátach.

Krok 1: Získanie materiálov

Získavanie materiálov
Získavanie materiálov

Na tento projekt budete potrebovať:

  • GPS modul NEO-6M
  • Arduino Uno
  • Mužské/mužské prepojovacie vodiče (budete potrebovať 4 vodiče)
  • Kábel USB 2.0 typu A až B
  • Počítač s týmito programami: Tableau Public, Arduino IDE (s TinyGPS ++) a Processing

Krok 2: Nastavenie zariadení

Inštalácia zariadení
Inštalácia zariadení
Inštalácia zariadení
Inštalácia zariadení

Najprv musíme nastaviť modul GPS s Arduino UNO, aby nám Arduino poskytlo rozhranie na zobrazenie údajov. Každý zo štyroch vodičov pripojených k NEO-6M zodpovedá konkrétnym portom. Ak sa váš NEO-6M nedodáva s káblami, budete ho musieť prepojiť priamo prepojovacími káblami. Vo vyššie uvedenom diagrame červená zodpovedá výkonu (VCC), čierna voči zemi (GND), žltá pre prenos dát (TxD) a biela pre príjem dát (RxD). Tieto vodiče spájame s prepojovacími káblami muž/muž, aby sme ich mohli pripojiť k Arduinu. Podľa vyššie uvedeného diagramu pripojíme uzemňovací vodič k digitálnemu kolíku GND na Arduine, vodič TxD na 4, vodič RxD na ~ 3 a vodič VCC na napätie 5V. V budúcom kroku budeme musieť definovať TxD a RxD so správnymi číslami v SoftwareSerial.

Akonáhle sú tieto dve zariadenia navzájom prepojené, musíme poskytnúť zdroj energie. Pripojte kábel USB 2.0 k prenosnému počítaču a kontrolka na NEO-6M by sa mala rozsvietiť.

Krok 3: Kódovanie Arduina na extrahovanie údajov

Kódovanie Arduina na extrahovanie údajov
Kódovanie Arduina na extrahovanie údajov

Teraz, keď máme zariadenia nastavené na zber údajov GPS zo satelitov, napíšeme kód na analýzu požadovaných údajov GPS. Za predpokladu, že ste zachytili signál (môj modul GPS by blikal namodro), NEO-6M v predvolenom nastavení vytlačí nespracované údaje na sériový monitor vo forme správ NMEA, ktoré vyzerajú podobne ako $ GP a za nimi ďalšie písmená a séria čísel. Vyššie uvedený obrázok poskytuje všeobecnú predstavu o tom, čo by sa malo zobraziť na vašom sériovom monitore po vložení základného kódu Arduino.

Na vysvetlenie kódu, ktorý som priložil (alebo ak by ste sa ho chceli pokúsiť kódovať sami), musíte najskôr zahrnúť knižnice SoftwareSerial a TinyGPS ++ (v prípade ostatných skic> Zahrnúť> Pridať knižnicu. ZIP). SoftwareSerial nám umožňuje mať sériové pripojenie; TinyGPS ++ nám dáva ľahký nástroj na vytlačenie cielených informácií v čitateľnej forme. Uistite sa, že inicializujete objekt SoftwareSerial na zodpovedajúce piny na Arduine. Vo funkcii nastavenia používame ako prenosovú rýchlosť 9600.

Na účely tohto pokynu vytlačíme vo funkcii slučky iba sedem typov údajov: zemepisná šírka (stupne), zemepisná dĺžka (stupne), rýchlosť (km), kurz (stupne), nadmorská výška (km), počet satelitov v použitie, a hdop. Môžete vyhľadať syntax pre vytlačenie týchto informácií v knižnici Arduiniana. Obecný formulár je Serial.print (). Napríklad na vytlačenie zemepisnej dĺžky by sme zadali Serial.print (gps.location.lng (), 6). 6 predstavuje, koľko číslic chceme napravo od desatinnej čiarky.

Môj kód má vytlačené ďalšie znaky kvôli ľahko formátovateľnému regexu v nasledujúcom kroku. Ak by ste sa však chceli v tomto kroku zastaviť, neváhajte údaje naformátovať inak, aby ste ich mohli lepšie vidieť na sériovom monitore.

Krok 4: Využitie spracovania na počúvanie

Využitie spracovania na počúvanie
Využitie spracovania na počúvanie

Aj keď máme nastavený kód pre Arduino IDE, máme problém s ukladaním týchto údajov. V súčasnosti si môžeme údaje, ktoré ich zbierame, prezerať iba na sériovom monitore. Existuje mnoho spôsobov, ako tieto údaje zaznamenávať, ale spracovanie som si vybral predovšetkým preto, že jeho rozhranie napodobňuje IDE Arduino a používa jazyk Java, ktorý poznám (všimnite si, že dosku Arduino môžete ovládať aj pomocou Processingu, ak si stiahnete Firmatu). Proces spracovania počúva v porte pripojenom k Arduinu a má schopnosť manipulovať s údajmi načítanými na sériový monitor. Ak chcete nájsť názov tohto portu, vráťte sa do svojho súboru Arduino IDE a začiarknite políčko Nástroje> Port.

Poskytol som spracovateľský kód, ale tu je rýchly prehľad toho, ako kód funguje.

Pred funkciou nastavenia sa uistite, že máte premenné pre port, výslednú tabuľku, riadok, s ktorým budeme pracovať, a názov súboru. Potom vo funkcii nastavenia existujú parametre na nastavenie veľkosti okna Spustiť, ale tieto čísla neovplyvňujú našu funkciu (napríklad ich nastavte na (500, 500)). Pri inicializácii portu použite názov portu vo forme reťazca a prenosovú rýchlosť 9600. Nakoniec inicializujte tabuľku vytvorením deviatich stĺpcov (pre sedem kategórií GPS, čas a dátum).

Vo funkcii kreslenia používame vstavané funkcie dátumu a času na sledovanie toho, kedy sa extrahuje každá sada údajov GPS. Teraz, aby sme si prečítali tok údajov z Arduina a vložili ho pod príslušné hlavičky so správnym časom a dátumom, používame regulárne výrazy.

Na analýzu presných údajov pomocou funkcie matchAll, ktorá hľadá akýkoľvek výraz medzi znamienkom rovnosti a bodkočiarkou (oddeľovače, ktoré som vložil do svojho kódu Arduino), používam regex. To následne umiestni všetky zodpovedajúce značky, číselné údaje, do dvojrozmerného poľa. Potom môžeme tieto indexy polí vyzvať, aby sme ich vložili pod hlavičky listu programu Excel.

Na uloženie nového súboru.csv použijeme na zatvorenie okna Spustiť stlačenie klávesu. Čím dlhšie budete čakať na stlačenie klávesu, tým viac údajov budete zbierať. Podľa spôsobu iného sprievodcu som sa tiež rozhodol uložiť súbor do dátového priečinka s dátumom a časom ako názvom súboru.

Krok 5: Zobrazovanie údajov na tabuli Public

Zobrazovanie údajov na tabuli Public
Zobrazovanie údajov na tabuli Public
Zobrazovanie údajov na tabuli Public
Zobrazovanie údajov na tabuli Public
Zobrazovanie údajov na tabuli Public
Zobrazovanie údajov na tabuli Public

Posledný krok zahŕňa vizualizáciu údajov. Existuje mnoho programov na vytváranie a zobrazovanie vizualizácií údajov, tj. Plotly, ale pre tento projekt použijeme Tableau. Otvorte aplikáciu Tablo Public a otvorte uložený súbor programu Excel ako textový súbor. Ak chcete vytvoriť pracovný hárok, kliknite na list 1 v ľavej dolnej časti.

Pretože pracujeme s údajmi GPS, použijeme na zobrazenie našich informácií mapu. V ľavom stĺpci, kde je napísané Opatrenia, potiahneme zemepisnú dĺžku do stĺpcov a zemepisnú šírku do riadkov v hornej časti. Tablo predvolene nastavuje obe opatrenia na AVG, takže kliknite na rozbaľovaciu ponuku vedľa výrazov a zmeňte obidve na dimenziu. Teraz by mala mať mapa trasu zobrazenú pomocou zhromaždených hodnôt zemepisnej šírky a dĺžky.

Ak chcete vyčistiť údaje od chýb (čo je možné vykonať aj pred otvorením tabla), môžete sa rozhodnúť vylúčiť niektoré kruhy miest tak, že na ne kliknete a vyberiete možnosť. Môj modul GPS nie je 100% presný, pretože niektoré časti mojej cesty neboli nájdené, ale všeobecná trasa bola zaznamenaná.

Krok 6: Upresnenie vizuálu

Upresnenie Viz
Upresnenie Viz

Posledná časť je urobiť tieto údaje viditeľnejšími. Ak chcete kontext ulice, môžete ísť na Mapa> Vrstva mapy> Ulice a diaľnice. Nebojte sa experimentovať s inými Markmi. Pretiahol som Speed over Color, aby som ukázal, ako sa zvyšuje intenzita farby, keď sa rýchlosť zvyšuje. Na kurz som namiesto Štítku použil aj Detail, pretože Štítok zobrazoval čísla na mape, zatiaľ čo som chcel, aby sa informácie zobrazovali iba vtedy, keď prejdete myšou nad bodmi polohy.

Teraz, keď ste zažili celý proces zhromažďovania údajov a zobrazovania toho, čo máte vo vizualizácii údajov, môžete to použiť na iné projekty!

od Pingdi Huang, leto 2018

Odporúča: