Satura rādītājs:
- 1. darbība: materiālu iegūšana
- 2. darbība: ierīču iestatīšana
- 3. darbība: Arduino kodēšana, lai iegūtu datus
- 4. solis: apstrādes izmantošana klausīšanai
- 5. darbība. Datu attēlošana vietnē Tableau Public
- 6. solis: vizualizācijas precizēšana
Video: Ceļa kartētājs: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Šajā IoT projektā mēs izveidojam NEO-6M (GPS moduli), lai caur Arduino nogādātu atrašanās vietas datus uz Excel lapu, kas tiks saglabāta datorā. Pēc tam ar Tableau Public mēs izveidojam šo datu datu vizualizāciju, lai iezīmētu mūsu izvēlēto ceļu. Lai gan tas ir viens no veidiem, kā vākt un prezentēt reāllaika datus ļoti korelētos datos, proti, šo procesu var izmantot arī citiem ar datiem pamatotiem projektiem.
1. darbība: materiālu iegūšana
Šim projektam jums būs nepieciešams:
- GPS modulis NEO-6M
- Arduino Uno
- Vīriešu/vīriešu džemperu vadi (jums būs nepieciešami 4 vadi)
- USB 2.0 kabelis no A līdz B
- Dators ar šīm programmām: Tableau Public, Arduino IDE (ar TinyGPS ++) un Processing
2. darbība: ierīču iestatīšana
Vispirms mums ir jāiestata GPS modulis ar Arduino UNO, lai Arduino dotu mums saskarni datu parādīšanai. Katrs no četriem vadiem, kas pievienoti NEO-6M, atbilst noteiktām pieslēgvietām. Ja jūsu NEO-6M nav komplektā ar vadiem, jums tas būs jāpievieno tieši ar savienojuma vadiem. Iepriekš redzamajā diagrammā sarkans atbilst jaudai (VCC), melns - zemei (GND), dzeltens - datu pārsūtīšanai (TxD) un balts - datu saņemšanai (RxD). Mēs savienojam šos vadus ar vīriešu/vīriešu džemperu vadiem, lai mēs varētu tos savienot ar Arduino. Ievērojot iepriekš redzamo diagrammu, mēs savienojam zemējuma vadu ar GND digitālo tapu Arduino, TxD vadu līdz 4, RxD vadu līdz ~ 3 un VCC vadu pie 5 V spriegumam. Nākotnē mums būs jānosaka TxD un RxD ar pareiziem cipariem SoftwareSerial.
Kad abas ierīces ir savienotas viena ar otru, mums ir jānodrošina barošanas avots. Pievienojiet USB 2.0 kabeli klēpjdatoram, un NEO-6M gaismai vajadzētu iedegties.
3. darbība: Arduino kodēšana, lai iegūtu datus
Tagad, kad mums ir iestatītas ierīces, lai savāktu GPS datus no satelītiem, mēs rakstīsim kodu, lai parsētu vajadzīgos GPS datus. Pieņemot, ka esat uztvēris signālu (mans GPS modulis mirgos zilā krāsā), NEO-6M pēc noklusējuma sērijveida monitorā izdrukā neapstrādātus datus NMEA ziņojumu veidā, kas izskatās kā $ GP, kam seko vairāki burti un sērija no skaitļiem. Augšējais attēls sniedz vispārēju priekšstatu par to, kas būtu jāparāda jūsu sērijas monitorā, tiklīdz ir ievietots Arduino pamata kods.
Lai izskaidrotu pievienoto kodu (vai ja vēlaties mēģināt to kodēt pats), vispirms jāiekļauj gan bibliotēka SoftwareSerial, gan TinyGPS ++ (pēdējai - Skice> Iekļaut> Pievienot. ZIP bibliotēku). SoftwareSerial ļauj mums izveidot sērijas savienojumu; TinyGPS ++ sniedz mums vienkāršu rīku, lai lasāmā veidā izdrukātu mērķauditorijas informāciju. Noteikti inicializējiet SoftwareSerial objektu atbilstošajās Arduino tapās. Iestatīšanas funkcijā mēs izmantojam 9600 kā pārraides ātrumu.
Šīs pamācības nolūkos mēs cilpas funkcijā izdrukāsim tikai septiņu veidu datus: platumu (grādus), garumu (grādus), ātrumu (km), kursu (grādus), augstumu (km), satelītu skaitu izmantot, un hdop. Šīs informācijas drukāšanai varat meklēt sintaksi Arduiniana bibliotēkā. Vispārējā forma ir Serial.print (). Piemēram, lai izdrukātu garumu, mēs ierakstītu Serial.print (gps.location.lng (), 6). 6 norāda, cik ciparu mēs vēlamies pa labi no komata.
Manā kodā ir izdrukātas papildu rakstzīmes, lai nākamajā darbībā būtu viegli formatējama regulārā izteiksme. Tomēr, ja vēlaties apstāties pie šī soļa, nekautrējieties formatēt datus citādi, lai būtu vieglāk skatīties sērijas monitorā.
4. solis: apstrādes izmantošana klausīšanai
Lai gan mums ir iestatīts Arduino IDE kods, mums ir problēma ar šo datu saglabāšanu. Pašlaik mēs varam apkopot datus tikai sērijveida monitorā. Ir daudz veidu, kā reģistrēt šos datus, bet es izvēlējos apstrādi galvenokārt tāpēc, ka tā saskarne atdarina Arduino IDE un tā izmanto Java, valodu, kas man ir pazīstama (ņemiet vērā, ka, lejupielādējot Firmata, varat kontrolēt arī Arduino plāksni, izmantojot apstrādi). Apstrāde klausās portā, kas savienots ar Arduino, un tai ir iespēja manipulēt ar datiem, kas tiek nolasīti sērijas monitorā. Lai atrastu šī porta nosaukumu, skatiet savu Arduino IDE failu un pārbaudiet Rīki> Ports.
Esmu norādījis apstrādes kodu, taču šeit ir īss pārskats par koda darbību.
Pirms iestatīšanas funkcijas pārliecinieties, vai jums ir mainīgie portam, iegūtā tabula, rinda, ar kuru mēs strādāsim, un faila nosaukums. Pēc tam iestatīšanas funkcijā ir parametri, lai iestatītu loga Palaist lielumu, taču šie skaitļi neietekmē mūsu funkcionalitāti (piemēram, iestatiet tos uz (500, 500)). Inicializējot portu, izmantojiet ostas nosaukumu virknē un bodu pārraides ātrumu 9600. Visbeidzot, izveidojiet deviņas kolonnas (septiņām GPS kategorijām, laikam un datumam), lai inicializētu tabulu.
Izlozes funkcijā mēs izmantojam iebūvētās datuma un laika funkcijas, lai izsekotu, kad tiek iegūta katra GPS datu kopa. Tagad, lai lasītu Arduino datu plūsmu un ievietotu tos atbilstošās galvenēs ar pareizu laiku un datumu, mēs izmantojam regulārās izteiksmes.
Es izmantoju regex, lai parsētu precīzus datus ar matchAll funkciju, kas meklē jebkādu izteiksmi starp vienādības zīmi un semikolu (norobežotāji, kurus ievietoju savā Arduino kodā). Pēc tam visi saskaņotie tagi, skaitliskie dati, tiek ievietoti divdimensiju masīvā. Pēc tam mēs varam izmantot šos masīva indeksus, lai tos ievietotu Excel lapas virsrakstos.
Lai saglabātu jauno.csv failu, mēs izmantojam taustiņu, lai aizvērtu logu Palaist. Jo ilgāk gaidīsit, lai nospiestu taustiņu, jo vairāk datu jūs savāksit. Ievērojot citu ceļvedi, es arī nolēmu saglabāt failu datu mapē ar datuma un laika nosaukumu kā faila nosaukumu.
5. darbība. Datu attēlošana vietnē Tableau Public
Pēdējais solis ietver datu vizualizāciju. Ir daudzas programmas, lai izveidotu un parādītu datu vizualizācijas, t.i., Plotly, taču šim projektam mēs izmantosim Tableau. Atveriet Tableau Public un atveriet saglabāto Excel failu kā teksta failu. Lai izveidotu darblapu, kreisajā apakšējā stūrī noklikšķiniet uz 1. lapas.
Tā kā mēs strādājam ar GPS datiem, mēs izmantosim karti, lai attēlotu mūsu informāciju. Kreisajā slejā, kur ir rakstīts Mērījumi, augšpusē mēs ievilksim garumu kolonnās un platumu rindās. Tableau pēc noklusējuma abi pasākumi ir AVG, tāpēc noklikšķiniet uz nolaižamās izvēlnes blakus noteikumiem un mainiet abus uz kategoriju. Tagad kartē ir jāparāda ceļš, izmantojot savāktās platuma un garuma vērtības.
Lai notīrītu datus no kļūdām (ko var izdarīt arī pirms Tableau atvēršanas), varat izslēgt dažus atrašanās vietu lokus, noklikšķinot uz tiem un atlasot opciju. Mans GPS modulis nav 100% precīzs, jo dažas mana ceļa daļas nav atrastas, bet vispārējais ceļš ir ierakstīts.
6. solis: vizualizācijas precizēšana
Pēdējā daļa ir padarīt šos datus vieglāk lasāmus. Ja vēlaties ielu kontekstu, varat doties uz Karte> Kartes slānis> Ielas un automaģistrāles. Jūtieties brīvi eksperimentēt ar citām zīmēm. Es vilku ātrumu pār krāsu, lai parādītu, kā krāsas intensitāte palielinās, kad ātrums palielinās. Es arī izmantoju Detail, nevis Label for Course, jo Label parādītu ciparus kartē, turpretī es vēlējos, lai informācija tiktu parādīta tikai tad, kad virzāt kursoru virs atrašanās vietas punktiem.
Tagad, kad esat pieredzējis visu datu vākšanas un datu vizualizācijas parādīšanas procesu, varat to izmantot citiem projektiem!
autors Pingdi Huangs, 2018. gada vasara
Ieteicams:
Maiņstrāvas padeves pārtraukums, ar akumulatoru nodrošināta LED ceļa gaisma: 8 soļi
Maiņstrāvas padeves pārtraukums, ar baterijām nodrošināta LED ceļa gaisma: nesenas elektroenerģijas padeves pārtraukuma laikā mana pagraba tumšākajos dziļumos … gaisma patiešām būtu bijusi ļoti ērta. Diemžēl mans lukturītis atradās dažu tumšu istabu attālumā. Nedaudz pakustējos, atradu gaismu un devos uz ģimenes istabu. Mans wi
ESP32 skrāpju parsētājs un tiešais kartētājs: 4 soļi (ar attēliem)
ESP32 Scraper-parser-mail un Live Mapper: Sveika pasaule! Šī ir mana pirmā pamācība! Es esmu Marko no Grosseto Itālijas, es neesmu izstrādātājs, es neesmu elektronikas inženieris, bet esmu vides ceļvedis mūsu vietējā dabas parkā (Maremma dabas parks). Savā kooperatīvā mēs daudz strādājam ar kanoe
Vieglas ceļa konstrukcijas Semarang: 8 soļi
Vieglas ceļu būves Semarang: skolas projekts Kā Roterdamas Lietišķās zinātnes universitātes skolas projekts mums bija jāizstrādā risinājums gan ūdens līmeņa paaugstināšanai, gan zemes nogrimšanai Semarangā, Indonēzijā. Šajā laikā tiek izgatavoti šādi produkti
CEL gaisa piesārņojuma kartētājs (modificēts): 7 soļi
CEL gaisa piesārņojuma kartētājs (modificēts): Gaisa piesārņojums ir globāla problēma mūsdienu sabiedrībā, tas ir daudzu slimību cēlonis un rada neērtības. Tāpēc mēs esam mēģinājuši izveidot sistēmu, kas varētu izsekot gan jūsu GPS atrašanās vietai, gan gaisa piesārņojumam tieši tajā vietā
Raspberry Pi 4 ceļa zīmju atpazīšanas robots: 6 soļi
Raspberry Pi 4 ceļa zīmju atpazīšanas robots: šī pamācība ir balstīta uz manu universitātes projektu. Mērķis bija izveidot sistēmu, kurā neironu tīkls analizē attēlu un pēc tam, pamatojoties uz atpazīšanu, liks arduino robotam pārvietoties, izmantojot Ros. Piemēram, ja tiek atpazīta pagrieziena pazīme