Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-23 15:10
Në këtë Instructable ne do të flasim për mënyrën sesi vendosëm një modul GPS në një makinë RC dhe i postuam të dhënat e mbledhura në një faqe në internet për monitorim të lehtë. Ne paraprakisht kemi bërë një udhëzues se si e kemi bërë makinën tonë RC, e cila mund të gjendet këtu. Kjo po përdor të njëjtën strukturë, megjithëse ne kemi vendosur të heqim sensorët e ultrazërit dhe në vend të tij kemi aplikuar modulin GPS. Në projekt ne kemi krijuar një bazë të dhënash që përmban të dhënat GPS, dhe kemi ndërtuar një faqe në internet ku të dhënat mund të gjenden, si dhe aplikuar në një hartë, në mënyrë që të shihni se ku ka qenë makina. Vizitoni Joerha.dk për të parë faqen në internet.
Në diagramin e rrjedhës në krye, mund të shihni një përmbledhje të teknologjive që janë përdorur në këtë projekt. Për të përfituar sa më shumë nga ky udhëzues, duhet të kesh famë me disa, nëse jo të gjitha teknologjitë e përdorura. Ajo lidhet sipas përdorimit. Nënvlerësimi i Github gjithashtu do të ndihmojë, pasi ne jemi lidhur me depot tona të github.
Lista e shërbimeve:
- Github
-
Mjedër PI/Raspbian
Python
-
Nyja.js
- Express.js
- Sequelize.js
- MySQL
-
HTML, CSS, JS
Rrip çizme
Hapi 1: Konfigurimi i bazës së të dhënave
Në këtë segment do të flasim për mënyrën sesi ndërtojmë sistemin e bazës së të dhënave nga i cili nxirren të dhënat tona GPS. Baza e të dhënave është ndërtuar në MySQL sipas figurës së mësipërme, ku kemi dy tabela - "Përdoruesit" dhe "GPSEntries". Tek përdoruesit kemi "Id" si çelësin tonë kryesor. Përdoret si një identifikues unik. "Emri" është emri i përdoruesit të regjistruar aktualisht. "Apikey" është çelësi unik që i jepet përdoruesit për të hyrë në API. "Aktiv" është të kontrolloni nëse përdoruesi është aktiv, ne mund ta çaktivizojmë përdoruesin, kështu që ai nuk mund të hyjë në bazën e të dhënave. "CreatedAt" dhe "UpdatedAt" është bërë nga procesi që kemi përdorur për të ndërtuar bazën e të dhënave.
Në tabelën "GPSEntries" kemi të gjitha atributet që përmbajnë të dhëna nga moduli GPS. "Koha" është koha aktuale e modulit GPS, ne e përdorim atë për të treguar kohën e postimit. Pastaj kemi pozicionin në koordinata, si "shpejtësia" dhe "drejtimi". Ne gjithashtu kemi shumë atribute gabimi, që tregojnë nëse ka një gabim në të dhënat nga GPS, fx në koordinatat. Ne i kemi shtuar ato në bazën e të dhënave, por nuk i shfaqim në uebfaqe. "UserId" është një çelës i huaj që përmban "id" nga tabela e Përdoruesve. Kjo përdoret për të treguar se cili përdorues i postoi të dhënat.
Hapi 2: API
Në këtë segment do të flasim për API që kontrollon bazën e të dhënave dhe ngjit të dhënat në të. Web API është ndërtuar me Node.js, e cila përdor Express.js dhe Sequalize.js.
Node.js përdoret për të drejtuar serverin JavaScript, ku zakonisht përdoret kryesisht për skriptimin nga ana e klientit në një faqe në internet.
Express.js është kuadri që kemi përdorur për të ndërtuar API.
Sequalize.js përdoret për të bërë lidhjet midis të dhënave të Gps dhe atributeve të bazës së të dhënave. Përdor një metodë të quajtur ORM (Hartimi Relational i Objektit) për ta bërë këtë. Këtu krijohet edhe "CreatedAt" dhe "UpdatedAt" (Shfaqet në hapin 1).
API mund të përdoret duke vizituar api.joerha.dk. Pastaj shtoni /GPS në url, që do të shfaqë të gjitha të dhënat në bazën e të dhënave në formatin JSON. Për të kontrolluar sa hyrje dëshironi, mund të shtoni /2 (Përdoruesi) dhe /x (numri i shënimeve) në url. Fx api.joerha.dk/gps/2/10 do të tregojë 10 shënimet më të fundit. Një marrje e të dhënave të formatuara tregohet në figurën e mësipërme.
Kodi mund të gjendet këtu: Github
Hapi 3: Aplikimi GPS/Python
Në këtë segment ne do të flasim për skenarin i cili funksionon në mjedër dhe mbledh të dhënat GPS dhe i dërgon në API.
Për të mbledhur të dhënat nga GPS ne po përdorim një demon të quajtur gpsd (Figura 1). Këtu mbledhim të dhënat që postojmë në bazën e të dhënave dhe bazën për tabelën tonë GPSEntries. Skenari që tërheq të dhënat nga gpsd dhe i poston në API, është shkruar në python.
Aplikacioni inicializon një fije, kështu që mund të ekzekutojë si gpsd ashtu edhe programin tonë në të njëjtën kohë. Të dhënat Gpsd transmetohen vazhdimisht ndërsa GPS është aktiv (Figura 2).
Pastaj bëjmë një lak while që poston vazhdimisht ngarkesën e tij në API që përmban të dhënat GPS. Të dhënat janë formatuar si JSON. Ngarkesa përbëhet nga atributet që shihen në GPSD. Etiketa.fix vepron si një fotografi e të dhënave aktuale dhe e dërgon atë në API. Kjo bëhet me request.post, dhe përdor url dhe çelësin API. Printimi (r.status_code) i jepet përdoruesit, për të ditur nëse të dhënat janë shpërndarë siç duhet. Time.sleep (0.5) është sa shpesh postohen të dhënat (Figura 3)
Kodi mund të gjendet këtu: Github
Hapi 4: Uebfaqe për Projektin
Në këtë segment ne do të flasim për mënyrën sesi e krijuam faqen tonë në internet që tregon të dhënat dhe informacione të tjera në lidhje me projektin. Faqja është ndërtuar me HTML, css dhe JS. Për të filluar, ne përdorëm Bootstrap 4.0, e cila është një bibliotekë për HTML, css dhe JS. Ajo vjen me shumë funksione që ju ndihmojnë të krijoni faqen tuaj të internetit. Ne e kemi përdorur atë për navbar në krye, si dhe konfigurimin e rreshtave dhe kolonave me të cilat është ndërtuar faqja. Pastaj kemi një skript tjetër të vogël css që kontrollon ngjyrat e sfondit dhe titujt. Në krye të kësaj ne kemi përdorur një bibliotekë të quajtur lightbox, kështu që ju mund të klikoni fotografitë dhe ato shfaqen. Përmbajtja e faqes përmban një hartë google, një tabelë të të dhënave, një video të makinës në veprim dhe një lidhje me këtë faqe.
Harta e Google është më interesante. Harta ngarkohet përmes një API të Google, ku futet një çelës unik API që ajo të funksionojë. Të dhënat derdhen në hartë në një interval prej 500ms. Ne kemi bërë një funksion ku 100 pikat e fundit të të dhënave në bazën e të dhënave shfaqen si shënues, kështu që ju mund të ndiqni se ku ka qenë makina. Kjo bëhet përmes asaj që quhet thirrje AJAX.
Grupet e të dhënave në tabelën e të dhënave GPS kërkohen në të njëjtën mënyrë. Në tabelë mund të shihni 10 shënimet e fundit, të përditësuara në kohë reale kur GPS është aktiv. Ne marrim të dhëna nga baza e të dhënave në një interval prej 500 ms.
Kodi mund të gjendet këtu: Github
Recommended:
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card - Simulimi DHT11 Regjistruesi i të dhënave në Proteus: 5 hapa
Si të bëni lagështi dhe temperaturë Regjistruese të të dhënave në kohë reale me Arduino UNO dhe SD-Card | Simulimi i regjistruesit të të dhënave DHT11 në Proteus: Hyrje: përshëndetje, ky është Liono Maker, këtu është lidhja në YouTube. Ne po bëjmë projekt krijues me Arduino dhe po punojmë në sisteme të ngulitura. Data-Logger: Një regjistrues i të dhënave (gjithashtu regjistrues i të dhënave ose regjistrues i të dhënave) është një pajisje elektronike që regjistron të dhëna me kalimin e kohës me
Përdorimi i Më shumë se 4 Motors - Grumbullimi i Motorëve të Shumëfishtë: 3 hapa
Përdorimi i Më shumë se 4 Motors - Stacking Multiple Motorshields: Instructable Vibrotactile Sensory Substitution and Augmentation Device (https: //www.instructables.com/id/Vibrotactile-Sens …) tregon një mënyrë sesi të ndërtoni një pajisje që përkthen një shqisore hyrja në stimujt vibrues. Ato stimuj vibrues janë p
Blerja e të Dhënave dhe Sistemi i Vizualizimit të të Dhënave për një Biçikletë Garash MotoStudente Elektrike: 23 hapa
Sistemi i marrjes së të dhënave dhe vizualizimi i të dhënave për një motoçikletë MotoStudent Electric Racing: Një sistem i marrjes së të dhënave është një koleksion i pajisjeve dhe programeve kompjuterike që punojnë së bashku për të mbledhur të dhëna nga sensorë të jashtëm, për t'i ruajtur dhe përpunuar ato më pas në mënyrë që të mund të vizualizohen dhe analizohen, duke lejuar inxhinierët të bëjnë
EASY Arduino OLED Sensori i të dhënave të të dhënave: 4 hapa
EASY Arduino OLED Sensori i të dhënave: Nëse keni punuar ndonjëherë me Arduino, me siguri keni dashur që ai të shfaqë leximet e sensorit. Ndërsa përdorni LCD -in e vjetër klasik Nokia 5110, mund të keni vënë re se lidhja e të gjithë atyre telave është e çrregullt dhe kërkon shumë kunja. Sigurisht, ka një më të mirë
Baza e të dhënave EAL-Industri4.0-RFID Të dhëna të mostrave në të dhëna të mostrave: 10 hapa (me fotografi)
Baza e të dhënave EAL-Industri4.0-RFID Dataopsamling Til: Përcaktoni projektin e mëparshëm të opsamling nga v æ gtdata, duke u regjistruar në identitet. RFID, duke mbetur pas të dhënave në bazën e të dhënave MySQL. nyje-KUQ, së bashku me mënyrën e sjelljes nga të dhënat e zgjedhura dhe programin C# në aplikacionin Windows Form.