Sisukord:
- Samm: materjalide hankimine
- Samm 2: Seadmete seadistamine
- Samm: Arduino kodeerimine andmete ekstraheerimiseks
- 4. samm: töötlemise kasutamine kuulamiseks
- 5. samm: andmete kuvamine Tableau Publicis
- 6. samm: viisa täpsustamine
Video: Tee kaardistaja: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Selles IoT-projektis ühendame NEO-6M (GPS-moodul), et edastada asukohaandmed Arduino kaudu Exceli lehele, mis salvestatakse arvutisse. Pärast seda loome Tableau Publiciga nende andmete andmete visualiseerimise, et kaardistada meie valitud tee. Kuigi see on üks viis reaalajas andmete kogumiseks ja esitamiseks kõrge korrelatsiooniga andmetes, saab seda protsessi rakendada ka teiste andmepõhiste projektide puhul.
Samm: materjalide hankimine
Selle projekti jaoks vajate järgmist:
- NEO-6M GPS-moodul
- Arduino Uno
- Meeste/isaste hüppajate juhtmed (vajate 4 juhtmest)
- USB 2.0 kaabel tüüp A kuni B.
- Nende programmidega arvuti: Tableau Public, Arduino IDE (koos TinyGPS ++) ja töötlemine
Samm 2: Seadmete seadistamine
Esmalt peame seadistama GPS -mooduli Arduino UNO -ga, et Arduino annaks meile andmete kuvamiseks liidese. Kõik NEO-6M-iga ühendatud neli juhtmest vastavad teatud portidele. Kui teie NEO-6M ei tule juhtmetega kaasa, peate selle otse ühendama hüppajajuhtmetega. Ülaltoodud diagrammil vastab punane võimsusele (VCC), must maapinnale (GND), kollane andmete edastamiseks (TxD) ja valge andmete vastuvõtmisele (RxD). Me ühendame need juhtmed isaste/isaste hüppajajuhtmetega, et saaksime need Arduinoga ühendada. Järgides ülaltoodud skeemi, ühendame maandusjuhe Arduino GND digitaalse tihvtiga, TxD juhe 4, RxD juhe ~ 3 ja VCC juhe pingega 5 V. Tulevikus peame määratlema TxD ja RxD SoftwareSerialis õigete numbritega.
Kui kaks seadet on omavahel ühendatud, peame varustama toiteallika. Ühendage USB 2.0 kaabel sülearvutiga ja NEO-6M tuli peaks süttima.
Samm: Arduino kodeerimine andmete ekstraheerimiseks
Nüüd, kui oleme seadmed seadistanud satelliitidelt GPS -i andmeid koguma, kirjutame soovitud GPS -andmete parsimiseks koodi. Eeldades, et olete signaali üles võtnud (minu GPS-moodul vilguks siniselt), prindib NEO-6M vaikimisi jadamonitorile NMEA-sõnumite kujul töötlemata andmed, mis näevad välja nagu $ GP, millele järgneb rohkem tähti ja seeria numbritest. Ülaltoodud pilt annab üldise ettekujutuse sellest, mida tuleks teie seeriamonitoril kuvada pärast Arduino põhikoodi sisestamist.
Lisatud koodi selgitamiseks (või kui soovite proovida seda ise kodeerida), peate esmalt kaasama nii raamatukogud SoftwareSerial kui ka TinyGPS ++ (viimase puhul valige Sketch> Include> Add. ZIP library). SoftwareSerial võimaldab meil olla jadaühendus; TinyGPS ++ pakub lihtsat tööriista sihitud teabe loetavas vormis printimiseks. Vormistage kindlasti SoftwareSerial objekt Arduino vastavatele tihvtidele. Seadistusfunktsioonis kasutame andmeedastuskiiruseks 9600.
Selle juhendi eesmärgil trükime silmusefunktsioonis välja ainult seitse tüüpi andmeid: laiuskraadid (kraadid), pikkuskraadid (kraadid), kiirus (km), kurss (kraadid), kõrgus (km), satelliitide arv) kasutamine ja hdop. Arduiniana raamatukogus saate selle teabe printimiseks otsida süntaksi. Üldine vorm on Serial.print (). Näiteks pikkuse printimiseks trükiksime välja Serial.print (gps.location.lng (), 6). 6 tähistab, mitu numbrit tahame koma paremal.
Minu koodis on järgmises etapis hõlpsasti vormindatava regulaaravaldise huvides trükitud lisamärke. Kui soovite aga selle sammuga peatuda, vormindage andmed jadamonitoril hõlpsaks muutmiseks teisiti.
4. samm: töötlemise kasutamine kuulamiseks
Kuigi meil on Arduino IDE seadistamiseks kood, on meil probleem nende andmete salvestamisega. Praeguse seisuga saame andmeid vaadata ainult seeriamonitoril, kui neid kogume. Nende andmete registreerimiseks on palju viise, kuid valisin töötlemise peamiselt seetõttu, et selle liides jäljendab Arduino IDE -d ja kasutab Java -keelt, mis on mulle tuttav (pange tähele, et kui Firmata alla laadite, saate Arduino plaati ka töötlemisega juhtida). Töötlemine kuulab Arduinoga ühendatud porti ja tal on võimalus manipuleerida jadamonitorile loetud andmetega. Selle pordi nime leidmiseks vaadake tagasi oma Arduino IDE -faili ja valige Tools> Port.
Olen esitanud töötlemiskoodi, kuid siin on kiire ülevaade koodi toimimisest.
Enne seadistusfunktsiooni veenduge, et teil oleks pordi muutujad, tulemuseks olev tabel, rida, millega me töötame, ja faili nimi. Seejärel on seadistusfunktsioonis parameetrid, mis määravad teie akna Run suuruse, kuid need numbrid ei mõjuta meie funktsioone (näiteks määrake need väärtuseks (500, 500)). Kui lähtestate pordi, kasutage pordi nime kujul String ja edastuskiirust 9600. Lõpuks looge tabeli lähtestamiseks üheksa veergu (seitsme GPS -kategooria, kellaaja ja kuupäeva jaoks).
Joonistusfunktsioonis kasutame sisseehitatud kuupäeva ja kellaaja funktsioone, et jälgida, millal iga GPS -i andmebaas välja võetakse. Nüüd, et lugeda Arduino andmevoogu ja panna see õige kellaaja ja kuupäevaga vastavate päiste alla, kasutame regulaaravaldisi.
Kasutan regexit, et sõeluda täpsed andmed matchAll -funktsiooniga, mis otsib võrdusmärgi ja semikooloni (eraldajad, mille panin oma Arduino -koodi) vahele. Seejärel paigutatakse kõik sobitatud sildid, arvandmed, kahemõõtmelisse massiivi. Seejärel võime neid massiiviindekseid kasutada, et need Exceli lehe päiste alla panna.
Uue.csv -faili salvestamiseks kasutame klahvi vajutades akna Käivitamine. Mida kauem ootate klahvi vajutamist, seda rohkem andmeid kogute. Järgides teise juhendi viisi, otsustasin ka faili salvestada andmekausta koos kuupäeva ja kellaajaga.
5. samm: andmete kuvamine Tableau Publicis
Viimane samm hõlmab andmete visualiseerimist. Andmete visualiseerimise loomiseks ja kuvamiseks on palju programme, st Plotly, kuid selle projekti jaoks kasutame Tableau. Avage Tableau Public ja avage salvestatud Exceli fail tekstifailina. Töölehe loomiseks klõpsake vasakus alanurgas lehel 1.
Kuna töötame GPS -andmetega, kasutame oma teabe kujutamiseks kaarti. Vasakpoolses veerus, kus on kirjas Mõõdud, lohistame pikkuskraadi ülaosas veergudesse ja laiuskraadi ridadesse. Tableau vaikimisi on mõlemad mõõtmed AVG, nii et klõpsake tingimuste kõrval oleval rippmenüül ja muutke mõlemad mõõtmeteks. Nüüd peaks kaardil olema kuvatud tee, kasutades kogutud laius- ja pikkuskraate.
Andmete vigade puhastamiseks (mida saab teha ka enne Tableau avamist), võite mõne asukoharingi välistada, klõpsates neil ja valides suvandi. Minu GPS -moodul ei ole 100% täpne, kuna mõningaid minu teeosi pole leitud, kuid üldine tee on salvestatud.
6. samm: viisa täpsustamine
Viimane osa on muuta need andmed loetavamaks. Kui soovite tänavakonteksti, võite minna jaotisse Kaart> Kaardikiht> Tänavad ja maanteed. Katsetage julgelt teiste märkidega. Tõmbasin kiiruse üle värvi, et näidata, kuidas värvi intensiivsus suureneb kiiruse kasvades. Kasutasin kursuse Label asemel ka Detail, sest Label kuvaks kaardil olevaid numbreid, samas kui ma tahtsin, et teave ilmuks ainult siis, kui hõljutate kursorit asukohapunktide kohal.
Nüüd, kui olete kogenud kogu andmete kogumise ja andmete visualiseerimise protsessi kuvamist, saate seda rakendada ka teistele projektidele!
autor Pingdi Huang, suvi 2018
Soovitan:
T2 - Tee Bot -tee valmistamine on lihtne: 4 sammu
T2 - Tea Bot - Tea Brewing Made Easy: Tee bot valmistati selleks, et aidata kasutajal teed valmistada soovitatud valmistamisajani. Üks disainieesmärke oli hoida see lihtsana. ESP8266 on programmeeritud veebiserveriga servomootori juhtimiseks. ESP8266 veebiserver on mobiilile reageeriv ja
KS-tee taimer: 4 sammu
KS-Tea-Timer: SituationYou on nt. kontoris ja soovite valmistada teed nii, nagu seda tuleks teha (nt roheline tee 2 minutit, must tee 5 minutit …), kuid mõnikord jätate lihtsalt õige aja valmistamise peatamiseks ja tee väljatoomiseks kuum vesi. See on väga
Vahelduvvoolukatkestus, akutoitega LED -tee tuli: 8 sammu
Vahelduvvoolukatkestus, akutoitega LED -tee tuli: hiljutise elektrikatkestuse ajal minu keldri kõige pimedamas sügavuses … oleks valgus olnud tõesti väga mugav. Kahjuks oli mu taskulamp mõne pimeda toa kaugusel. Koperdasin natuke ringi, leidsin valguse ja suundusin peretuppa. Minu wi
ESP32 kaabitsa parsija ja reaalne kaardistaja: 4 sammu (koos piltidega)
ESP32 Scraper-parser-mailer ja Live Mapper: Tere maailm! See on minu esimene juhendatav! Olen Marco Itaaliast Grossetost, ma ei ole arendaja, ma ei ole elektroonikainsener, vaid olen keskkonnajuht meie kohalikus looduspargis (Maremma looduspark). Minu ühistul töötame kanuuga palju
CELi õhusaaste kaardistaja (muudetud): 7 sammu
CELi õhusaaste kaardistaja (muudetud): õhusaaste on tänapäeva ühiskonnas ülemaailmne probleem, see põhjustab arvukalt haigusi ja tekitab ebamugavusi. Sellepärast oleme püüdnud luua süsteemi, mis suudaks jälgida nii teie GPS -i asukohta kui ka õhusaastet täpselt selles kohas