Tartalomjegyzék:

Az útvonal -leképező: 6 lépés
Az útvonal -leképező: 6 lépés

Videó: Az útvonal -leképező: 6 lépés

Videó: Az útvonal -leképező: 6 lépés
Videó: ÉPÍTS TÖBB IZMOT - Az androgén receptor útvonal 2024, Július
Anonim
Az útvonal -leképező
Az útvonal -leképező
Az útvonal -leképező
Az útvonal -leképező
Az útvonal -leképező
Az útvonal -leképező

Ebben az IoT-projektben egy NEO-6M-et (GPS-modult) vezetünk be, hogy a helyadatokat az Arduino-n keresztül egy Excel-lapra juttassuk el, amely a számítógépre kerül. Ezt követően a Tableau Public segítségével adat vizualizációt készítünk ezekből az adatokból, hogy feltérképezzük az általunk megtett utat. Bár ez az egyik módja a valós idejű adatok összegyűjtésének és bemutatásának egy erősen korrelált adatban, azaz ez a folyamat más adatvezérelt projektekre is alkalmazható.

1. lépés: Anyagok beszerzése

Anyagok beszerzése
Anyagok beszerzése

Ehhez a projekthez a következőkre lesz szüksége:

  • NEO-6M GPS modul
  • Arduino Uno
  • Férfi/férfi jumper vezetékek (4 vezetékre lesz szüksége)
  • USB 2.0 kábel A -tól B -ig
  • Számítógép ezekkel a programokkal: Tableau Public, Arduino IDE (TinyGPS ++) és Processing

2. lépés: Az eszközök beállítása

Az eszközök beállítása
Az eszközök beállítása
Az eszközök beállítása
Az eszközök beállítása

Először be kell állítanunk a GPS modult az Arduino UNO -val annak érdekében, hogy az Arduino felületet adjon nekünk az adatok megjelenítéséhez. A NEO-6M-hez csatlakoztatott négy vezeték mindegyike megfelel bizonyos portoknak. Ha a NEO-6M nem tartozik a vezetékekkel, akkor közvetlenül áthidaló vezetékekkel kell bekötni. A fenti ábrán a piros a teljesítménynek (VCC), a fekete a földnek (GND), a sárga az adatok továbbításának (TxD) és a fehér az adatok fogadásának (RxD) felel meg. Ezeket a vezetékeket csatlakoztassa a férfi/férfi jumper vezetékekhez, hogy csatlakoztathassuk őket az Arduino -hoz. A fenti diagramot követve csatlakoztassuk a földelővezetéket az Arduino GND digitális tüskéjéhez, a TxD vezetéket 4 -hez, az RxD vezetéket ~ 3 -hoz, és a VCC vezetéket 5 V feszültséghez. Egy későbbi lépésben meg kell határoznunk a TxD -t és az RxD -t a SoftwareSerial megfelelő számokkal.

Miután a két eszköz össze van kötve egymással, áramforrást kell biztosítanunk. Csatlakoztassa az USB 2.0 kábelt a laptopjához, és a NEO-6M jelzőfényének fel kell gyulladnia.

3. lépés: Az Arduino kódolása adatok kivonásához

Az Arduino kódolása adatok kivonásához
Az Arduino kódolása adatok kivonásához

Most, hogy beállítottuk a GPS -adatokat a műholdakról gyűjtő eszközöket, kódot írunk a kívánt GPS -adatok elemzésére. Feltéve, hogy felvette a jelet (a GPS-modulom kéken villog), a NEO-6M alapértelmezés szerint nyers adatokat nyomtat ki a soros monitoron NMEA üzenetek formájában, amelyek úgy néznek ki, mint a $ GP, majd további betűk és sorozat számokból. A fenti kép általános képet ad arról, hogy mit kell megjeleníteni a soros monitoron, miután behelyezte az alapvető Arduino kódot.

A mellékelt kód megmagyarázásához (vagy ha saját maga szeretné megpróbálni kódolni) először be kell vennie mind a SoftwareSerial, mind a TinyGPS ++ könyvtárat (utóbbinál a Sketch> Include>. ZIP könyvtár hozzáadása). A SoftwareSerial lehetővé teszi, hogy soros kapcsolatot létesítsünk; A TinyGPS ++ egyszerű eszközt kínál a célzott információk olvasható formában történő kinyomtatására. Feltétlenül inicializálja a SoftwareSerial objektumot az Arduino megfelelő csapjaira. A beállítási funkcióban a 9600 -at használjuk átviteli sebességként.

Ennek az utasításnak az érdekében csak hétféle adatot nyomtatunk ki a hurokfüggvényben: szélesség (fok), hosszúság (fok), sebesség (km), irány (fok), magasság (km), műholdak száma use, és a hdop. Az Arduiniana könyvtárban megkeresheti az információk kinyomtatásának szintaxisát. Az általános forma a Serial.print (). Például a hosszúság kinyomtatásához írja be a Serial.print (gps.location.lng (), 6). A 6 jelzi, hogy hány számjegyet szeretnénk a tizedesponttól jobbra.

A kódom extra karaktereket nyomtat a könnyen formázható regex érdekében a következő lépésben. Ha azonban meg szeretne állni ennél a lépésnél, bátran formázza az adatokat másképp, hogy könnyebb legyen a megtekintés a soros monitoron.

4. lépés: A feldolgozás használata a hallgatáshoz

A feldolgozás használata a hallgatáshoz
A feldolgozás használata a hallgatáshoz

Noha van kódunk az Arduino IDE beállításához, problémánk van ezen adatok mentésével. Jelenleg csak a soros monitoron tekinthetjük meg az adatokat, miközben gyűjtjük azokat. Sokféle módon lehet naplózni ezeket az adatokat, de azért választottam a Feldolgozást, mert a kezelőfelülete az Arduino IDE -t utánozza, és Java -t használ, amelyet én ismerek (vegye figyelembe, hogy a Firmata letöltése esetén az Arduino kártyát is kezelheti a Processing segítségével). A feldolgozás hallgat az Arduino -hoz csatlakoztatott porton, és képes manipulálni a soros monitorra olvasott adatokat. Ennek a portnak a nevét megtalálja az Arduino IDE fájlban, és válassza az Eszközök> Port lehetőséget.

Megadtam a feldolgozó kódot, de itt van egy gyors áttekintés a kód működéséről.

A beállítási funkció előtt győződjön meg arról, hogy vannak -e változók a porthoz, a kapott táblázathoz, a sorhoz, amellyel dolgozni fogunk, és a fájl nevére. Ezután a beállítási funkcióban vannak paraméterek a Run ablak méretének beállításához, de ezek a számok nem befolyásolják a funkcionalitásunkat (például állítsa őket (500, 500) értékre). Amikor a portot inicializálja, használja a port nevét karakterlánc formában és 9600 -as átviteli sebességgel. Végül hozza létre a kilenc oszlopot (a hét GPS -kategória, idő és dátum számára) a táblázat inicializálásához.

A sorsolás funkcióban a beépített dátum- és időfunkciókat használjuk, hogy nyomon kövessük, amikor minden egyes GPS -adat kinyerésre kerül. Most, hogy az Arduino -ból származó adatfolyamot olvassuk, és a megfelelő fejlécbe helyezzük a megfelelő idővel és dátummal, rendszeres kifejezéseket használunk.

A regex használatával elemzem a pontos adatokat a matchAll függvénnyel, amely bármilyen kifejezést keres az egyenlőségjel és a pontosvessző (a határolók, amelyeket az Arduino kódomba teszek) között. Ezt követően az összes illesztett címkét, a numerikus adatokat egy kétdimenziós tömbbe helyezi. Ezután felhívhatjuk ezeket a tömbindexeket, hogy az Excel -lap fejlécei alá tegyék őket.

Az új.csv fájl mentéséhez egy gombnyomással zárjuk be a Futtatás ablakot. Minél tovább vár egy gomb megnyomására, annál több adatot gyűjt. Egy másik útmutató módját követve úgy döntöttem, hogy a fájlt az adatmappába mentem, fájlnévként a dátumot és az időt.

5. lépés: Adatok megjelenítése a Tableau Public oldalon

Tableau Public adatok megjelenítése
Tableau Public adatok megjelenítése
Tableau Public adatok megjelenítése
Tableau Public adatok megjelenítése
Tableau Public adatok megjelenítése
Tableau Public adatok megjelenítése

Az utolsó lépés némi adatmegjelenítést tartalmaz. Sok program létezik az adatok vizualizációinak létrehozására és megjelenítésére, pl. Plotly, de ehhez a projekthez a Tableau -t fogjuk használni. Nyissa meg a Tableau Public programot, és nyissa meg a mentett Excel fájlt szöveges fájlként. Munkalap létrehozásához kattintson a bal alsó sarokban található 1. lapra.

Mivel GPS -adatokkal dolgozunk, ezért térképet használunk információink ábrázolására. A bal oldali oszlopban, ahol a Mérések felirat szerepel, a hosszúságot az oszlopokba, a szélességet pedig a sorokba húzzuk felül. A Tableau mindkét mértékegység alapértelmezett értéke AVG, ezért kattintson a feltételek melletti legördülő menüre, és módosítsa mindkettőt Dimenzió értékre. Most a térképen egy útvonalat kell megjeleníteni a szélességi és hosszúsági értékek felhasználásával.

Ha meg szeretné tisztítani az adatait a hibáktól (amit a Tableau megnyitása előtt is meg lehet tenni), úgy dönthet, hogy egyes helyköröket kizár, ha rájuk kattint, és kiválasztja a lehetőséget. A GPS modulom nem 100% -os pontosságú, mivel az utam egyes részeit nem találták meg, de az általános útvonalat rögzítették.

6. lépés: A Viz finomítása

A Viz finomítása
A Viz finomítása

Az utolsó rész az adatok olvashatóbbá tétele. Ha utcai környezetet szeretne, akkor lépjen a Térkép> Térképréteg> Utcák és autópályák menüpontra. Bátran kísérletezzen más jelzőkkel. Húztam a sebességet a szín felett, hogy megmutassam, hogyan nő a szín intenzitása a sebesség növekedésével. A Címke helyett a Részleteket is használtam, mert a Címke a számokat jelenítette meg a térképen, míg én csak azt akartam, hogy az információk akkor jelenjenek meg, amikor az egérmutatót a helypontok fölé viszi.

Most, hogy megtapasztalta az adatgyűjtés és az adatok vizualizációján megjelenő teljes folyamatot, ezt más projektekre is alkalmazhatja!

készítette: Pingdi Huang, 2018 nyara

Ajánlott: