Sisukord:

EAL - Tööstus 4.0 GPS -andmete kogumine Rc -autol: 4 sammu
EAL - Tööstus 4.0 GPS -andmete kogumine Rc -autol: 4 sammu

Video: EAL - Tööstus 4.0 GPS -andmete kogumine Rc -autol: 4 sammu

Video: EAL - Tööstus 4.0 GPS -andmete kogumine Rc -autol: 4 sammu
Video: The Industry Standard for Inspection #bostondynamics 2024, Juuni
Anonim
EAL - Tööstus 4.0 GPS -andmete kogumine Rc Caril
EAL - Tööstus 4.0 GPS -andmete kogumine Rc Caril
EAL - Tööstus 4.0 GPS -andmete kogumine Rc Caril
EAL - Tööstus 4.0 GPS -andmete kogumine Rc Caril

Selles juhendis räägime sellest, kuidas seadistame RC -autosse GPS -mooduli ja postitame kogutud andmed veebilehele, et neid oleks lihtne jälgida. Oleme eelnevalt teinud juhiseid selle kohta, kuidas me oma RC auto tegime, mille leiate siit. See kasutab sama ehitust, kuigi oleme otsustanud ultraheli andurid kasutusest kõrvaldada ja rakendanud selle asemel GPS -mooduli. Projekti käigus oleme seadistanud andmebaasi, mis sisaldab GPS -i andmeid, ja loonud veebilehe, kust andmed leiate, samuti rakendasime need kaardile, et saaksite näha, kus auto on olnud. Veebilehe vaatamiseks külastage veebisaiti Joerha.dk.

Ülaosas oleval vooskeemil näete ülevaadet selles projektis kasutatud tehnoloogiatest. Selle juhendi maksimaalseks ärakasutamiseks peate olema tuttav mõne, kui mitte kõigi kasutatud tehnoloogiatega. See on lingitud vastavalt kasutusele. Aitab ka Githubi alamvaatamine, kuna oleme linkinud oma githubi hoidlatega.

Kommunaalteenuste loend:

  • Github
  • Vaarika PI/Vaarikas

    Python

  • Node.js

    • Express.js
    • Sequelize.js
    • MySQL
  • HTML, CSS, JS

    Bootstrap

Samm: andmebaasi seadistamine

Andmebaasi seadistamine
Andmebaasi seadistamine

Selles segmendis räägime sellest, kuidas me ehitame andmebaasisüsteemi, millest meie GPS -andmed on võetud. Andmebaas on üles ehitatud MySQL -is vastavalt ülaltoodud pildile, kus meil on kaks tabelit - „Kasutajad” ja „GPSEntries”. Kasutajate puhul on meil esmane võti „Id”. Seda kasutatakse unikaalse identifikaatorina. „Nimi” on praegu sisse logitud kasutaja nimi. „Apikey” on ainulaadne võti, mis antakse kasutajale API -le juurdepääsuks. „Aktiivne” on kontrollida, kas kasutaja on aktiivne, saame kasutaja deaktiveerida, nii et ta ei pääse andmebaasile juurde. „CreatedAt” ja „UpdatedAt” valmistatakse andmebaasi loomise käigus.

Tabelis „GPSEntries” on meil kõik atribuudid, mis sisaldavad GPS -mooduli andmeid. “Aeg” on GPS -mooduli praegune aeg, me kasutame seda postitamise aja näitamiseks. Siis on meil asukoht koordinaatides, samuti "kiirus" ja "suund". Meil on ka palju veaatribuute, mis näitab, kas GPS -i andmetes on viga, koordinaatides fx. Oleme need andmebaasi lisanud, kuid me ei näita neid veebilehel. „UserId” on võti, mis sisaldab kasutajate tabeli „id”. Seda kasutatakse selleks, et näidata, milline kasutaja andmed postitas.

2. samm: API

API
API

Selles segmendis räägime API -st, mis kontrollib andmebaasi ja kleebib andmed sinna. Veebi API on loodud Node.js abil, mis kasutab Express.js ja Sequalize.js.

Node.js-d kasutatakse JavaScripti serveripoolseks käitamiseks, kus seda tavaliselt kasutatakse peamiselt kliendile suunatud skriptimiseks veebilehel.

Express.js on raamistik, mida kasutasime API loomiseks.

Sequalize.js kasutatakse linkide loomiseks GPS -i andmete ja andmebaasi atribuutide vahel. Selleks kasutatakse meetodit nimega ORM (Object-Relational Mapping). Siit luuakse ka „CreatedAt” ja „UpdatedAt” (näidatud 1. sammus).

API -d saab kasutada aadressil api.joerha.dk. Seejärel lisage URL -ile /gps, mis näitab kõiki andmebaasi andmeid JSON -vormingus. Soovitud kirjete juhtimiseks saate URL -ile lisada /2 (kasutaja) ja /x (kirjete arv). Fx api.joerha.dk/gps/2/10 näitab 10 viimast sissekannet. Vormindatud andmete väljavõtmine on näidatud ülaltoodud pildil.

Koodi leiate siit: Github

Samm: GPS/Pythoni rakendus

GPS/Pythoni rakendus
GPS/Pythoni rakendus
GPS/Pythoni rakendus
GPS/Pythoni rakendus
GPS/Pythoni rakendus
GPS/Pythoni rakendus

Selles segmendis räägime skriptist, mis töötab vaarikal ja kogub GPS -i andmed ning saadab need API -le.

GPS -i andmete kogumiseks kasutame deemoni nimega gpsd (joonis 1). Siit kogume me andmebaasi postitatud andmed ja meie GPSEntries tabeli aluse. Skript, mis tõmbab andmed gpsd -st ja postitab need API -sse, on kirjutatud pythonis.

Rakendus lähtestab lõime, nii et see võib korraga käivitada nii gpsd kui ka meie programmi. GPS -i voogesitus toimub pidevalt, kui GPS on aktiivne (joonis 2).

Seejärel teeme ajatsükli, mis postitab pidevalt oma kasulikku koormust GPS -i sisaldavasse API -sse. Andmed on vormindatud kui JSON. Kasulik koormus koosneb GPSD -s nähtud atribuutidest. Märgend.fix toimib nagu hetkeandmete ülevaade ja saadab selle API -le. Seda teeb request.post ning kasutab URL -i ja API -võtit. Print (r.status_code) väljastatakse kasutajale, et teada saada, kas andmed said õigesti. Time.sleep (0,5) on andmete postitamise sagedus (joonis 3)

Koodi leiate siit: Github

Samm: projekti veebisait

Projekti veebisait
Projekti veebisait

Selles segmendis räägime sellest, kuidas me lõime oma veebisaidi, mis näitab andmeid ja muud teavet projekti kohta. Sait on ehitatud HTML, css ja JS abil. Alustuseks kasutasime Bootstrap 4.0, mis on HTML, css ja JS raamatukogu. Kaasas palju funktsioone, mis aitavad teil oma veebisaiti üles ehitada. Oleme seda kasutanud ülaosas asuva navigeerimisriba jaoks, samuti ridade ja veergude seadistamiseks, millega sait on üles ehitatud. Siis on meil veel üks väike css -skript, mis kontrollib tausta ja päiste värve. Sellegipoolest oleme kasutanud raamatukogu nimega valguskast, nii et saate piltidel klõpsata ja need avanevad. Saidi sisu sisaldab Google'i kaarti, andmetabelit, videot sõiduautost ja linki sellele lehele.

Google'i kaart on kõige huvitavam. Kaart laaditakse Google'i API kaudu, kus selle toimimiseks sisestatakse unikaalne API -võti. Andmed edastatakse kaardile 500 ms intervalliga. Oleme teinud funktsiooni, kus andmebaasi viimased 100 andmepunkti kuvatakse markeritena, nii et saate jälgida, kus auto on olnud. Seda tehakse AJAX -kõne kaudu.

GPS -i andmetabeli andmekogumeid küsitakse samamoodi. Tabelis näete 10 viimast kirjet, mida uuendatakse reaalajas, kui GPS on aktiivne. Toome andmed andmebaasist välja 500 ms intervalliga.

Koodi leiate siit: Github

Soovitan: