Turinys:
- 1 žingsnis: medžiagų įsigijimas
- 2 žingsnis: Įrenginių nustatymas
- 3 žingsnis: „Arduino“kodavimas duomenims išgauti
- 4 žingsnis: apdorojimo naudojimas klausymui
- 5 veiksmas: „Tableau Public“duomenų rodymas
- 6 žingsnis: „Viz“tobulinimas
Video: Kelių žemėlapis: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Šiame IoT projekte mes prijungiame NEO-6M (GPS modulį), kad vietos duomenys per „Arduino“būtų pristatyti į „Excel“lapą, kuris bus išsaugotas kompiuteryje. Vėliau su „Tableau Public“sukuriame šių duomenų vizualizaciją, kad suplanuotume mūsų pasirinktą kelią. Nors tai yra vienas iš būdų rinkti ir pateikti realaus laiko duomenis labai koreliuojamuose duomenyse, šis procesas taip pat gali būti taikomas kitiems projektams, pagrįstiems duomenimis.
1 žingsnis: medžiagų įsigijimas
Šiam projektui jums reikės:
- NEO-6M GPS modulis
- Arduino Uno
- Vyriški/vyriški jungiamieji laidai (jums reikės 4 laidų)
- USB 2.0 laido tipas nuo A iki B
- Kompiuteris su šiomis programomis: „Tableau Public“, „Arduino IDE“(su „TinyGPS ++“) ir apdorojimas
2 žingsnis: Įrenginių nustatymas
Pirmiausia turime nustatyti GPS modulį su „Arduino UNO“, kad „Arduino“suteiktų mums sąsają duomenims rodyti. Kiekvienas iš keturių laidų, prijungtų prie NEO-6M, atitinka tam tikrus prievadus. Jei jūsų NEO-6M nėra komplektuojamas su laidais, turėsite jį tiesiogiai prijungti jungiamaisiais laidais. Aukščiau pateiktoje diagramoje raudona spalva atitinka galią (VCC), juoda - žemė (GND), geltona - duomenims perduoti (TxD), o balta - duomenims gauti (RxD). Mes prijungiame šiuos laidus prie vyriškų/vyriškų trumpiklių laidų, kad galėtume juos prijungti prie „Arduino“. Vadovaudamiesi aukščiau pateikta schema, įžeminimo laidą prijungiame prie GND skaitmeninio kaiščio „Arduino“, TxD laido prie 4, RxD laido prie ~ 3 ir VCC laido prie 5 V įtampos. Būsimame žingsnyje „SoftwareSerial“turėsime apibrėžti TxD ir RxD teisingais skaičiais.
Kai abu įrenginiai yra prijungti vienas prie kito, turime pateikti maitinimo šaltinį. Prijunkite USB 2.0 kabelį prie nešiojamojo kompiuterio ir NEO-6M lemputė turėtų užsidegti.
3 žingsnis: „Arduino“kodavimas duomenims išgauti
Dabar, kai turime įrenginius, skirtus rinkti GPS duomenis iš palydovų, parašysime kodą norėdami išanalizuoti norimus GPS duomenis. Darant prielaidą, kad gavote signalą (mano GPS modulis mirksėtų mėlyna spalva), NEO-6M pagal numatytuosius nustatymus išspausdina neapdorotus duomenis nuosekliajame monitoriuje NMEA pranešimų pavidalu, kurie atrodo kaip $ GP, o po to-daugiau raidžių ir serijos skaičių. Aukščiau pateiktame paveikslėlyje pateikiama bendra idėja, kas turėtų būti rodoma jūsų serijiniame monitoriuje, kai bus įvestas pagrindinis „Arduino“kodas.
Norėdami paaiškinti pridėtą kodą (arba jei norite pabandyti jį koduoti patys), pirmiausia turite įtraukti ir „SoftwareSerial“, ir „TinyGPS ++“bibliotekas (pastarosios atveju eskizas> Įtraukti> Pridėti. ZIP biblioteką). „SoftwareSerial“leidžia mums turėti nuoseklųjį ryšį; „TinyGPS ++“suteikia mums paprastą įrankį išspausdinti tikslinę informaciją skaitoma forma. Būtinai inicijuokite „SoftwareSerial“objektą prie atitinkamų „Arduino“kaiščių. Sąrankos funkcijoje mes naudojame 9600 kaip duomenų perdavimo spartą.
Taikydami šią instrukciją, ciklo funkcijoje išspausdinsime tik septynių tipų duomenis: platumą (laipsnius), ilgumą (laipsnius), greitį (km), kursą (laipsnius), aukštį (km), palydovų skaičių naudoti ir hdop. Šios informacijos spausdinimo sintaksės galite ieškoti „Arduiniana“bibliotekoje. Bendra forma yra Serial.print (). Pavyzdžiui, norėdami išspausdinti ilgumą, įvesime Serial.print (gps.location.lng (), 6). 6 reiškia, kiek skaitmenų norime dešinėje po kablelio.
Mano kode yra papildomų simbolių, atspausdintų siekiant lengvai suformatuoti reguliarųjį sakinį kitame veiksme. Tačiau jei norite sustoti ties šiuo žingsniu, nedvejodami suformatuokite duomenis kitaip, kad būtų lengviau matyti serijinį monitorių.
4 žingsnis: apdorojimo naudojimas klausymui
Nors mes turime „Arduino IDE“kodą, turime problemų su šių duomenų išsaugojimu. Kol kas duomenis galime matyti tik serijiniame monitoriuje, kai juos renkame. Yra daug būdų užregistruoti šiuos duomenis, bet aš pasirinkau apdorojimą pirmiausia todėl, kad jos sąsaja imituoja „Arduino IDE“ir ji naudoja man žinomą kalbą „Java“(atkreipkite dėmesį, kad atsisiųsdami „Firmata“taip pat galite valdyti „Arduino“plokštę naudodami apdorojimą). Apdorojimas klausosi prie „Arduino“prijungto prievado ir turi galimybę manipuliuoti duomenimis, kurie nuskaitomi nuosekliajame monitoriuje. Norėdami sužinoti šio prievado pavadinimą, grįžkite į „Arduino IDE“failą ir patikrinkite Įrankiai> Prievadas.
Pateikiau apdorojimo kodą, tačiau čia yra trumpa kodo veikimo apžvalga.
Prieš atlikdami sąrankos funkciją įsitikinkite, kad turite prievado kintamuosius, gautą lentelę, eilutę, su kuria dirbsime, ir failo pavadinimą. Tada sąrankos funkcijoje yra parametrų, leidžiančių nustatyti jūsų „Run“lango dydį, tačiau šie skaičiai neturi įtakos mūsų funkcijoms (pavyzdžiui, nustatykite juos į (500, 500)). Inicijuodami prievadą, naudokite prievado pavadinimą „String“pavidalu ir duomenų perdavimo spartą 9600. Galiausiai, norėdami inicijuoti lentelę, sukurkite devynis stulpelius (septynioms GPS kategorijoms, laikui ir datai).
Piešimo funkcijoje mes naudojame integruotas datos ir laiko funkcijas, kad galėtume sekti, kada išgaunamas kiekvienas GPS duomenų rinkinys. Dabar, norėdami perskaityti duomenų srautą iš „Arduino“ir sudėti jį į atitinkamas antraštes su teisingu laiku ir data, naudojame įprastas išraiškas.
Aš naudoju regex, norėdamas išanalizuoti tikslius duomenis su „matchAll“funkcija, kuri ieško bet kokios išraiškos tarp lygybės ženklo ir kabliataškio (skiriamųjų ženklų, kuriuos įdėjau į „Arduino“kodą). Vėliau visos suderintos žymos, skaitiniai duomenys, dedamos į dvimatį masyvą. Tada galime kreiptis į šiuos masyvo indeksus, kad jie būtų įtraukti į „Excel“lapo antraštes.
Norėdami išsaugoti naują.csv failą, klavišo paspaudimu uždarome langą Vykdyti. Kuo ilgiau lauksite klavišo paspaudimo, tuo daugiau duomenų surinksite. Laikydamasis kito vadovo, aš taip pat nusprendžiau išsaugoti failą duomenų aplanke, nurodydamas datą ir laiką.
5 veiksmas: „Tableau Public“duomenų rodymas
Paskutinis žingsnis apima tam tikrą duomenų vizualizavimą. Yra daug programų, skirtų duomenų vizualizacijoms kurti ir rodyti, t. Y. „Plotly“, tačiau šiam projektui naudosime „Tableau“. Atidarykite „Tableau Public“ir atidarykite išsaugotą „Excel“failą kaip tekstinį failą. Norėdami sukurti darbalapį, apatiniame kairiajame kampe spustelėkite 1 lapą.
Kadangi dirbame su GPS duomenimis, savo informacijai pavaizduoti naudosime žemėlapį. Kairiajame stulpelyje, kuriame parašyta „Matavimai“, viršuje vilksime ilgumą į stulpelius, o platumą - į eilutes. „Tableau“pagal numatytuosius nustatymus abi priemonės yra AVG, todėl spustelėkite išskleidžiamąjį meniu šalia sąlygų ir pakeiskite abi į „Matmenys“. Dabar žemėlapyje turėtų būti rodomas kelias, naudojant surinktas platumos ir ilgumos vertes.
Jei norite išvalyti savo duomenis nuo klaidų (tai taip pat galima padaryti prieš atidarant „Tableau“), galite išskirti kai kuriuos vietovių ratus, spustelėdami juos ir pasirinkdami parinktį. Mano GPS modulis nėra 100% tikslus, nes kai kurios mano kelio dalys nebuvo rastos, tačiau bendras kelias buvo užfiksuotas.
6 žingsnis: „Viz“tobulinimas
Paskutinė dalis yra tai, kad šie duomenys būtų lengviau skaitomi. Jei norite gatvės konteksto, galite eiti į Žemėlapis> Žemėlapio sluoksnis> Gatvės ir greitkeliai. Nesivaržykite eksperimentuoti su kitais ženklais. Vilkiau greitį virš spalvos, norėdamas parodyti, kaip spalvos intensyvumas didėja didėjant greičiui. Aš taip pat naudojau „Detail“, o ne „Label for Course“, nes „Label“rodytų skaičius žemėlapyje, o aš norėjau, kad informacija būtų rodoma tik tada, kai užvesite pelės žymeklį virš vietos taškų.
Dabar, kai patyrėte visą duomenų rinkimo ir duomenų vizualizacijos turinio rodymo procesą, galite tai pritaikyti kitiems projektams!
Pingdi Huang, 2018 m. vasara
Rekomenduojamas:
Blink Caos: Žemėlapis pagal atsitiktinį mirksėjimą: 5 žingsniai
Blink Caos: Žemėlapio logotipas ir atsitiktinis mirksėjimas: este ir pamokomas generatorius degalų, naudojimo ir žemėlapio žurnalo istorijoje, que ahora explico que es. Con el mapa log í stico, se enciende y apaga un led de forma aleatoria. Este puede servir simplemente de ejemplo de como a
GPS sekimo 3D žemėlapis: 9 žingsniai
GPS sekimo 3D žemėlapis: Šis projektas yra 3D spausdintas 3D žemėlapis su keliais, upėmis ir miesteliais su LED švyturėliais, rodančiais šeimos narių buvimo vietą. Tai gali parodyti, ar vaikas yra mokykloje, ar ne, ar tik abiejų tėvų vieta. Mes taip pat galime jį naudoti numatydami
Naujasis Taipėjaus miesto turistinis žemėlapis !!!: 6 žingsniai
Naujojo Taipėjaus miesto turistinis žemėlapis !!!: Šiame projekte aš padarysiu langelį, o jo viršuje bus Naujojo Taipėjaus miesto žemėlapis. Šio projekto tikslas - leisti vaikams ir suaugusiems sužinoti apie 3 pagrindines Naujojo Taipėjaus miesto teritorijas. Dėžutės šone yra 3 mygtukai
Išmanusis Aidaho žemėlapis su LED duomenimis + menas: 8 žingsniai (su paveikslėliais)
Išmanusis Aidaho žemėlapis su LED duomenimis + menas: aš visada norėjau būdo, kaip meniškai ir dinamiškai parodyti geografinius duomenis " dažant " žemėlapis su šviesa. Aš gyvenu Aidaho valstijoje ir myliu savo valstiją, todėl maniau, kad tai būtų puiki vieta pradėti! Be to, kad tai yra meno kūrinys
CEL oro taršos žemėlapis (modifikuotas): 7 žingsniai
CEL oro taršos žemėlapis (modifikuotas): Oro tarša yra pasaulinė problema šiuolaikinėje visuomenėje, ji yra daugelio ligų priežastis ir sukelia nepatogumų. Štai kodėl mes bandėme sukurti sistemą, kuri galėtų sekti jūsų GPS vietą ir oro taršą būtent toje vietoje, kad vėliau būtų