Obsah:

Mapovač cesty: 6 kroků
Mapovač cesty: 6 kroků

Video: Mapovač cesty: 6 kroků

Video: Mapovač cesty: 6 kroků
Video: G Migrace sady | Jednoduchá metoda 2024, Listopad
Anonim
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty
Mapovač cesty

V tomto projektu IoT jsme připojili NEO-6M (modul GPS) k doručování lokalizačních dat přes Arduino na list aplikace Excel, který bude uložen v počítači. Poté s Tableau Public vytvoříme datovou vizualizaci těchto dat, abychom zmapovali cestu, kterou jsme se vydali. I když je to jeden ze způsobů shromažďování a prezentace dat v reálném čase ve vysoce korelovaných datech, tento proces lze také použít na jiné projekty založené na datech.

Krok 1: Pořízení materiálů

Získávání materiálů
Získávání materiálů

Pro tento projekt budete potřebovat následující:

  • GPS modul NEO-6M
  • Arduino Uno
  • Mužské/mužské propojovací vodiče (budete potřebovat 4 vodiče)
  • Kabel USB 2.0 typu A až B
  • Počítač s těmito programy: Tableau Public, Arduino IDE (s TinyGPS ++) a Processing

Krok 2: Nastavení zařízení

Nastavení zařízení
Nastavení zařízení
Nastavení zařízení
Nastavení zařízení

Nejprve musíme nastavit modul GPS pomocí Arduino UNO, aby nám Arduino poskytlo rozhraní pro zobrazení dat. Každý ze čtyř vodičů připojených k NEO-6M odpovídá konkrétním portům. Pokud váš NEO-6M není dodáván s kabely, budete jej muset zapojit přímo propojovacími vodiči. Ve výše uvedeném diagramu červená odpovídá výkonu (VCC), černá vůči zemi (GND), žlutá pro přenos dat (TxD) a bílá pro příjem dat (RxD). Tyto vodiče připojíme k propojovacím kabelům samec/samec, abychom je mohli připojit k Arduinu. Podle výše uvedeného schématu připojíme zemnicí vodič k digitálnímu pinu GND na Arduinu, vodič TxD na 4, vodič RxD na ~ 3 a vodič VCC na 5V pro napětí. V budoucím kroku budeme muset definovat TxD a RxD se správnými čísly v SoftwareSerial.

Jakmile jsou obě zařízení navzájem propojena, musíme zajistit zdroj energie. Připojte kabel USB 2.0 k notebooku a kontrolka na NEO-6M by se měla rozsvítit.

Krok 3: Kódování Arduina pro extrahování dat

Kódování Arduina pro extrahování dat
Kódování Arduina pro extrahování dat

Nyní, když máme zařízení nastavená pro sběr dat GPS ze satelitů, napíšeme kód pro analýzu požadovaných dat GPS. Za předpokladu, že jste zachytili signál (můj modul GPS by blikal modře), NEO-6M ve výchozím nastavení vytiskne nezpracovaná data na sériový monitor ve formě zpráv NMEA, které vypadají jako $ GP následované dalšími písmeny a řadou čísel. Výše uvedený obrázek poskytuje obecnou představu o tom, co by se mělo zobrazit na vašem sériovém monitoru, jakmile vložíte základní kód Arduino.

Chcete -li vysvětlit kód, který jsem připojil (nebo pokud byste se ho chtěli pokusit kódovat sami), musíte nejprve zahrnout jak knihovny SoftwareSerial, tak TinyGPS ++ (u posledně uvedeného Sketch> Include> Add. ZIP library). SoftwareSerial nám umožňuje mít sériové připojení; TinyGPS ++ nám poskytuje snadný nástroj k vytištění cílených informací ve čitelné podobě. Ujistěte se, že inicializujete objekt SoftwareSerial na odpovídající piny na Arduinu. Ve funkci nastavení používáme jako přenosovou rychlost 9600.

Pro účely tohoto pokynu vytiskneme pouze sedm typů dat ve smyčkové funkci: zeměpisná šířka (stupně), zeměpisná délka (stupně), rychlost (km), kurz (stupně), nadmořská výška (km), počet satelitů v použití, a hdop. Syntaxi pro tisk těchto informací můžete vyhledat v knihovně Arduiniana. Obecný formulář je Serial.print (). Například pro tisk zeměpisné délky bychom zadali Serial.print (gps.location.lng (), 6). 6 představuje, kolik číslic chceme napravo od desetinné čárky.

Můj kód má další znaky vytištěné kvůli snadno formátovanému regexu v dalším kroku. Pokud byste se však chtěli v tomto kroku zastavit, neváhejte data formátovat jinak, abyste je mohli snadno sledovat na sériovém monitoru.

Krok 4: Využití zpracování k poslechu

Využití zpracování k poslechu
Využití zpracování k poslechu

I když máme nastavený kód pro Arduino IDE, máme problém s ukládáním těchto dat. V tuto chvíli můžeme data zobrazit pouze na sériovém monitoru, jak je shromažďujeme. Existuje mnoho způsobů, jak zaznamenávat tato data, ale vybral jsem si Processing především proto, že jeho rozhraní napodobuje Arduino IDE a používá Java, jazyk, který znám (všimněte si, že desku Arduino můžete také ovládat pomocí Processing, pokud si stáhnete Firmata). Zpracování naslouchá na portu připojeném k Arduinu a má schopnost manipulovat s daty načtenými na sériový monitor. Chcete -li zjistit název tohoto portu, vraťte se zpět do svého souboru Arduino IDE a zkontrolujte Nástroje> Port.

Poskytl jsem zpracovávací kód, ale zde je rychlý přehled toho, jak kód funguje.

Před funkcí nastavení se ujistěte, že máte proměnné pro port, výslednou tabulku, řádek, se kterým budeme pracovat, a název souboru. Potom ve funkci nastavení existují parametry pro nastavení velikosti okna Spustit, ale tato čísla neovlivňují naši funkci (například je nastavte na (500, 500)). Při inicializaci portu použijte název portu ve formě řetězce a přenosovou rychlost 9600. Nakonec inicializujte tabulku vytvořením devíti sloupců (pro sedm kategorií GPS, čas a datum).

Ve funkci kreslení používáme vestavěné funkce data a času, abychom sledovali, kdy se extrahuje každá sada dat GPS. Nyní, abychom přečetli datový proud z Arduina a vložili ho pod příslušná záhlaví se správným časem a datem, používáme regulární výrazy.

Používám regex k analýze přesných dat pomocí funkce matchAll, která hledá jakýkoli výraz mezi znaménkem rovnosti a středníkem (oddělovače, které jsem vložil do svého kódu Arduino). To následně umístí všechny odpovídající značky, numerická data, do dvourozměrného pole. Tyto indexy pole pak můžeme vyvolat a umístit je pod záhlaví listu aplikace Excel.

Chcete -li uložit nový soubor.csv, zavřeme okno Spustit stisknutím klávesy. Čím déle budete čekat na stisknutí klávesy, tím více dat budete shromažďovat. Podle způsobu dalšího průvodce jsem se také rozhodl uložit soubor do datové složky s datem a časem jako názvem souboru.

Krok 5: Zobrazení dat na tablo Public

Zobrazení dat na tablo Public
Zobrazení dat na tablo Public
Zobrazení dat na tablo Public
Zobrazení dat na tablo Public
Zobrazení dat na tablo Public
Zobrazení dat na tablo Public

Poslední krok zahrnuje vizualizaci dat. Existuje mnoho programů pro vytváření a zobrazování datových vizualizací, tj. Plotly, ale pro tento projekt použijeme Tableau. Otevřete Tablo Public a otevřete uložený soubor aplikace Excel jako textový soubor. Chcete -li vytvořit list, klikněte na list 1 v levé dolní části.

Protože pracujeme s daty GPS, použijeme k zobrazení našich informací mapu. V levém sloupci, kde je uvedeno Měření, přetáhneme Zeměpisnou délku do Sloupců a Zeměpisnou šířku do Řádků v horní části. Tablo nastavuje obě opatření na AVG, takže klikněte na rozevírací seznam vedle výrazů a změňte oba na Dimenze. Nyní by na mapě měla být zobrazena cesta pomocí shromážděných hodnot zeměpisné šířky a délky.

Chcete -li vyčistit data od chyb (což lze také provést před otevřením tabla), můžete se rozhodnout vyloučit některé kruhy umístění kliknutím na ně a výběrem možnosti. Můj modul GPS není 100% přesný, protože některé části mé cesty nebyly nalezeny, ale obecná cesta byla zaznamenána.

Krok 6: Upřesnění Viz

Upřesnění Viz
Upřesnění Viz

Poslední částí je, aby byla tato data viditelnější. Pokud chcete kontext ulic, můžete přejít na Mapa> Vrstva mapy> Ulice a dálnice. Nebojte se experimentovat s ostatními Marks. Přetáhl jsem Speed over Color, abych ukázal, jak se zvyšuje intenzita barvy, když se rychlost zvyšuje. Také jsem použil kurz místo Label for Course, protože Label by zobrazoval čísla na mapě, zatímco já jsem chtěl pouze informace vyskočit, když umístíte kurzor nad body umístění.

Nyní, když jste zažili celý proces shromažďování dat a zobrazování toho, co máte na vizualizaci dat, můžete toto použít na jiné projekty!

od Pingdi Huang, léto 2018

Doporučuje: