Tartalomjegyzék:
- 1. lépés: Anyagok beszerzése
- 2. lépés: Az eszközök beállítása
- 3. lépés: Az Arduino kódolása adatok kivonásához
- 4. lépés: A feldolgozás használata a hallgatáshoz
- 5. lépés: Adatok megjelenítése a Tableau Public oldalon
- 6. lépés: A Viz finomítása
Videó: Az útvonal -leképező: 6 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
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
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
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
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
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
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
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:
Hálózati áramkimaradás, elemmel ellátott LED -es útvonal jelzőfény: 8 lépés
Hálózati áramkimaradás, elemmel ellátott LED -es útvonalfény: A közelmúltban történt áramkimaradás alatt, a pincém legsötétebb mélységeiben … egy lámpa valóban nagyon jól jött volna. Sajnos a zseblámpám néhány sötét szobával odébb volt. Kicsit tapogatóztam, megtaláltam a fényt, és elindultam a családi szoba felé. Az én wi
DC - DC feszültség Lépés lekapcsoló mód Buck feszültségátalakító (LM2576/LM2596): 4 lépés
DC-DC feszültség Lépés lekapcsoló üzemmód Buck feszültségátalakító (LM2576/LM2596): A rendkívül hatékony bakkonverter készítése nehéz feladat, és még a tapasztalt mérnököknek is többféle kivitelre van szükségük, hogy a megfelelőt hozzák létre. egy DC-DC áramátalakító, amely csökkenti a feszültséget (miközben növeli
Akusztikus levitáció az Arduino Uno-val Lépésről lépésre (8 lépés): 8 lépés
Akusztikus lebegés az Arduino Uno-val Lépésről lépésre (8 lépés): ultrahangos hangátvivők L298N Dc női adapter tápegység egy egyenáramú tűvel Arduino UNOBreadboard és analóg portok a kód konvertálásához (C ++)
Élő 4G/5G HD videó streamelés DJI drónról alacsony késleltetéssel [3 lépés]: 3 lépés
Élő 4G/5G HD videó streaming a DJI Drone-tól alacsony késleltetéssel [3 lépés]: Az alábbi útmutató segít abban, hogy szinte bármilyen DJI drónról élő HD minőségű videó streameket kapjon. A FlytOS mobilalkalmazás és a FlytNow webes alkalmazás segítségével elindíthatja a videó streamingjét a drónról
Új geocaching útvonal mentése az iPhone -on: 8 lépés
Új geocaching -útvonal mentése az iPhone -on: Próbál gyorsítótárakat találni az iPhone -on, de nem tudja kitalálni, hogyan kell navigálni a rejtvény utolsó részéhez, vagy meg kell néznie, hol van a Trail fejléce a gyorsítótárhoz. Ne keressen tovább, ez az oktatható útmutató végigvezeti Önt ezen a folyamaton. Nézze meg a geocachinomat