INHOUDSOPGAWE:
- Stap 1: Verkry materiaal
- Stap 2: Die opstel van toestelle
- Stap 3: Kodering van die Arduino om data te onttrek
- Stap 4: Gebruik verwerking om te luister
- Stap 5: Gee data op Tableau Public
- Stap 6: Verfyning van die nl
Video: Die padkaart: 6 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
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
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
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
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
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
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
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:
Verhoog die speling tussen die kopervliegtuig en die seinspoor: 3 stappe
Verhoog die speling tussen die kopervliegtuig en die seinspoor: ek is 'n stokperdjie en ek ontwerp printplate (PCB) vir my blogs en Youtube -video's. Ek het my PCB aanlyn bestel by LionCircuits. Dit is 'n Indiese onderneming en het 'n outomatiese vervaardigingsplatform. Dit hersien u Ger outomaties
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder op: 5 stappe
Konfigurasie van die AVR -mikrobeheerder. Skep en laai die LED -knipperprogram in die flitsgeheue van die mikrokontroleerder: In hierdie geval sal ons 'n eenvoudige program in C -kode skep en dit in die geheue van die mikrokontroleerder verbrand. Ons sal ons eie program skryf en die hex -lêer saamstel, met behulp van die Atmel Studio as die geïntegreerde ontwikkelingsplatform. Ons sal die sekering van twee instel
Hoe om die veiligheid van die meeste blokkeerders aan die kant van die bediener te omseil: 3 stappe
Hoe om die veiligheid van die meeste webblokkers op die bediener te verlig: dit is my eerste instruksie, so hou my in gedagte: Ok, ek sal u vertel hoe u die webblokkers wat ek in skole gebruik het, kan omseil. Al wat u nodig het, is 'n flash drive en 'n paar sagteware aflaai
Hoe om probleme op te los met die afstandsbediening van die Pionner -stuurwiel - Verhoog die IR -sein en herstel die klein slot: 14 stappe
Hoe om probleme op te los met die afstandsbediening van die stuurwiel van Pionner - Verhoog die IR -sein en herstel die klein slot.: Hierdie afstandsbediening is baie mooi en gerieflik, maar soms werk dit nie behoorlik nie. projek is nie 'n voorbeeld van doeltreffendheid nie. Ek kom uit Brasilië en het hierdie wenk op Amaz gekry
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek