INHOUDSOPGAWE:

Die padkaart: 6 stappe
Die padkaart: 6 stappe

Video: Die padkaart: 6 stappe

Video: Die padkaart: 6 stappe
Video: Die Antwoord - Baita Jou Sabela feat. Slagysta (Official Video) 2024, November
Anonim
Die Path Mapper
Die Path Mapper
Die Path Mapper
Die Path Mapper
Die Path Mapper
Die Path Mapper

In hierdie IoT-projek verbind ons 'n NEO-6M (GPS-module) om liggingsdata deur die Arduino te lewer na 'n Excel-vel wat op die rekenaar gestoor sal word. Daarna skep ons met Tableau Public 'n data -visualisering van hierdie data om die pad wat ons geneem het in kaart te bring. Alhoewel dit 'n manier is om intydse data in 'n hoogs gekorreleerde data te versamel en aan te bied, kan hierdie proses ook op ander data-gedrewe projekte toegepas word.

Stap 1: Verkry materiaal

Materiaal verkry
Materiaal verkry

Vir hierdie projek benodig u die volgende:

  • NEO-6M GPS-module
  • Arduino Uno
  • Manlike/manlike trui (jy benodig 4 drade)
  • USB 2.0 -kabel Tipe A tot B
  • Rekenaar met hierdie programme: Tableau Public, Arduino IDE (met TinyGPS ++) en verwerking

Stap 2: Die opstel van toestelle

Die opstel van toestelle
Die opstel van toestelle
Die opstel van toestelle
Die opstel van toestelle

Ons moet eers die GPS -module met die Arduino UNO opstel sodat die Arduino vir ons 'n koppelvlak kan gee om die data te wys. Elkeen van die vier drade wat aan die NEO-6M gekoppel is, stem ooreen met spesifieke poorte. As u NEO-6M nie saam met die drade kom nie, moet u dit direk met 'n trui dra. In die diagram hierbo stem rooi ooreen met krag (VCC), swart na grond (GND), geel om data (TxD) oor te dra, en wit om data (RxD) te ontvang. Ons verbind hierdie drade met manlike/manlike draaddrade sodat ons dit met die Arduino kan koppel. Na aanleiding van die diagram hierbo, verbind ons die gronddraad met die GND digitale pen op die Arduino, die TxD -draad na 4, die RxD -draad na ~ 3 en die VCC -draad met 5V vir spanning. In 'n toekomstige stap moet ons TxD en RxD definieer met die korrekte getalle in die SoftwareSerial.

Sodra die twee toestelle aan mekaar gekoppel is, moet ons 'n kragbron voorsien. Koppel die USB 2.0-kabel aan u skootrekenaar en die lig op die NEO-6M moet brand.

Stap 3: Kodering van die Arduino om data te onttrek

Kodering van die Arduino om data te onttrek
Kodering van die Arduino om data te onttrek

Noudat ons die toestelle instel om GPS -data van die satelliete te versamel, sal ons kode skryf om die GPS -data wat ons wil hê, te ontleed. As u aanneem dat u 'n sein opneem (my GPS-module blou blou), druk die NEO-6M standaard rou data op die seriële monitor uit in die vorm van NMEA-boodskappe, wat ongeveer $ GP volg, gevolg deur meer letters en 'n reeks van getalle. Bogenoemde prent gee 'n algemene idee van wat op u seriële monitor vertoon moet word sodra die basiese Arduino -kode ingevoer is.

Om die kode wat ek aangeheg het, te verduidelik (of as u dit self wil kodeer), moet u eers die SoftwareSerial en TinyGPS ++ biblioteke insluit (vir laasgenoemde, Skets> Sluit in> Voeg. ZIP -biblioteek by). Met SoftwareSerial kan ons 'n seriële verbinding hê; TinyGPS ++ gee ons 'n maklike hulpmiddel om die geteikende inligting in 'n leesbare vorm uit te druk. Maak seker dat u die SoftwareSerial -voorwerp op die ooreenstemmende penne op die Arduino inisialiseer. In die opstelfunksie gebruik ons 9600 as die baud -tempo.

Vir die doel van hierdie instruksies sal ons slegs sewe tipes data in die lusfunksie afdruk: breedtegraad (grade), lengte (grade), spoed (km), koers (grade), hoogte (km), aantal satelliete in gebruik, en hdop. U kan die sintaksis soek om hierdie inligting uit te druk in die Arduiniana -biblioteek. Die algemene vorm is Serial.print (). Om die lengtegraad af te druk, tik ons byvoorbeeld Serial.print (gps.location.lng (), 6). Die 6 verteenwoordig hoeveel syfers ons regs van die desimale punt wil hê.

My kode bevat ekstra karakters ter wille van 'n maklik geformateerde regeks in die volgende stap. As u egter by hierdie stap wil stop, kan u die data anders formateer om die seriële monitor makliker te sien.

Stap 4: Gebruik verwerking om te luister

Gebruik verwerking om te luister
Gebruik verwerking om te luister

Terwyl ons kode vir die Arduino IDE opgestel het, het ons 'n probleem met die stoor van hierdie data. Op die oomblik kan ons slegs die data op die seriële monitor sien terwyl ons dit versamel. Daar is baie maniere om hierdie data aan te meld, maar ek het veral verwerking gekies omdat die koppelvlak die Arduino IDE naboots en dit gebruik Java, 'n taal wat ek ken (let op dat u ook die Arduino -bord met Processing kan beheer as u Firmata aflaai). Die verwerking luister na die poort wat aan die Arduino gekoppel is, en kan die data wat op die seriële monitor gelees word, manipuleer. Om die naam van hierdie poort te vind, verwys terug na u Arduino IDE -lêer en gaan in Tools> Port.

Ek het die verwerkingskode verskaf, maar hier is 'n vinnige oorsig van hoe die kode werk.

Maak seker dat u veranderlikes het vir die poort, die resulterende tabel, die ry waarmee ons gaan werk en die naam van die lêer voordat u die opstelfunksie instel. Dan is daar in die opstellingsfunksie parameters om die grootte van u Run -venster in te stel, maar die getalle beïnvloed nie ons funksionaliteit nie (stel dit byvoorbeeld op (500, 500)). As u die poort initialiseer, gebruik die naam van die poort in String -vorm en 'n baud -tempo van 9600. Laastens, skep die nege kolomme (vir die sewe GPS -kategorieë, tyd en datum) om die tabel te initialiseer.

In die tekenfunksie gebruik ons die ingeboude datum- en tydfunksies om by te hou wanneer elke stel GPS -data onttrek word. Om die stroom data van die Arduino te lees en onder die toepaslike opskrifte met die regte tyd en datum te plaas, gebruik ons gereelde uitdrukkings.

Ek gebruik regex om die presiese data te ontleed met die matchAll -funksie wat soek na enige uitdrukking tussen die gelyke teken en die kommapunt (die skeidingstekens wat ek in my Arduino -kode geplaas het). Dit plaas vervolgens al die ooreenstemmende etikette, die numeriese data, in 'n tweedimensionele skikking. Ons kan dan hierdie skikkingindekse gebruik om dit onder die opskrifte van die Excel -blad te plaas.

Om die nuwe CSV -lêer te stoor, gebruik ons 'n sleuteldruk om die venster Run te sluit. Hoe langer u wag om op 'n sleutel te druk, hoe meer data sal u versamel. Volgens die manier van 'n ander gids, het ek ook besluit om die lêer in die datamap te stoor met die datum en tyd as lêernaam.

Stap 5: Gee data op Tableau Public

Gee data op Tableau Public
Gee data op Tableau Public
Gee data op Tableau Public
Gee data op Tableau Public
Gee data op Tableau Public
Gee data op Tableau Public

Die laaste stap behels datavisualisering. Daar is baie programme om data -visualisasies te skep en te vertoon, dws Plotly, maar vir hierdie projek gebruik ons Tableau. Maak Tableau Public oop en maak die gestoorde Excel -lêer as 'n tekslêer oop. Om 'n werkblad te skep, klik op Blad 1 links onder.

Aangesien ons met GPS -data werk, gebruik ons 'n kaart om ons inligting uit te beeld. In die linkerkolom waar daar metings staan, sleep ons lengtegraad na kolomme en breedtegraad in rye bo. Tableau stel beide maatreëls as standaard in AVG, dus klik op die aftreklys langs die terme en verander beide na Dimension. Nou moet die kaart 'n pad vertoon met behulp van die versamelde breedte- en lengtegraadwaardes.

Om u data vir foute op te ruim (wat ook gedoen kan word voordat u Tableau oopmaak), kan u kies om 'n paar liggingsirkels uit te sluit deur daarop te klik en die opsie te kies. My GPS -module is nie 100% akkuraat nie, aangesien sommige dele van my pad nie gevind is nie, maar die algemene pad is aangeteken.

Stap 6: Verfyning van die nl

Verfyning van die nl
Verfyning van die nl

Die laaste deel is om hierdie data meer leesbaar te maak. As u 'n straatkonteks wil hê, kan u na Kaart> Kaartlaag> Strate en snelweë gaan. Eksperimenteer gerus met ander punte. Ek het Spoed oor kleur gesleep om aan te toon hoe die intensiteit van die kleur toeneem wanneer die spoed toeneem. Ek het ook Detail in plaas van Label for Course gebruik, want Label sou die nommers op die kaart vertoon, terwyl ek net wou hê dat inligting opduik as u oor die plekpunte beweeg.

Noudat u die hele proses om data te versamel en te sien wat u in 'n data -visualisering het, ervaar het, kan u dit op ander projekte toepas!

deur Pingdi Huang, somer 2018

Aanbeveel: