Përmbajtje:

EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car: 4 Hapa
EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car: 4 Hapa

Video: EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car: 4 Hapa

Video: EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car: 4 Hapa
Video: CS50 2015 - Week 9, continued 2024, Qershor
Anonim
EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car
EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car
EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car
EAL - Industria 4.0 Grumbullimi i të dhënave GPS në Rc Car

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

Konfigurimi i bazës së të dhënave
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

API
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

Aplikimi GPS/Python
Aplikimi GPS/Python
Aplikimi GPS/Python
Aplikimi GPS/Python
Aplikimi GPS/Python
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

Uebfaqe për Projektin
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: