Satura rādītājs:

Ceļa kartētājs: 6 soļi
Ceļa kartētājs: 6 soļi

Video: Ceļa kartētājs: 6 soļi

Video: Ceļa kartētājs: 6 soļi
Video: Biotopu kartēšanas aktuālie rezultāti, datu apkopšana un izvērtēšana. 2024, Novembris
Anonim
Ceļu kartētājs
Ceļu kartētājs
Ceļu kartētājs
Ceļu kartētājs
Ceļu kartētājs
Ceļu kartētājs

Š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

Materiālu iegūšana
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

Ierīču iestatīšana
Ierīču iestatīšana
Ierīču iestatīšana
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

Arduino kodēšana, lai iegūtu datus
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

Apstrādes izmantošana klausīšanai
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

Tiek parādīti dati par Tableau Public
Tiek parādīti dati par Tableau Public
Tiek parādīti dati par Tableau Public
Tiek parādīti dati par Tableau Public
Tiek parādīti dati par Tableau Public
Tiek parādīti dati par 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

Viz uzlabošana
Viz uzlaboš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: