Sisukord:
Video: EAL - Tööstus 4.0 GPS -andmete kogumine Rc -autol: 4 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
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
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
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
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
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:
EAL- manustatud - kombineeritud lukk: 4 sammu
EAL-Embedded- kombineeritud lukk: see projekt on üks kooliprojekt, mille olen valinud EAL-is aine 2.1 C-programmeerimine. See on esimene kord, kui tegin Arduino projekti ja C-programmeerimise. See on projekt, mis esitab kombineeritud luku. Kombineeritud lukk
EAL - sisseehitatud programmeerimine: Candy Mixer 1000: 9 sammu
EAL - sisseehitatud programmeerimine: Candy Mixer 1000: Meie Arduino projekti jaoks oleme otsustanud teha kommidele mikseri. Idee on selles, et kasutaja saab nupule vajutada ja siis hakkavad mootorid kommi kaussi väljutama ning kui programm on oma kursuse lõpetanud, siis see peatub. Esimene mustand
EAL- Sisseehitatud sisekliima: 5 sammu
EAL- sisseehitatud sisekliima: meie kooliprojekti jaoks tehti meile ülesandeks integreerida arduino automaatsesse süsteemi. Valisime sisekliima anduri valmistamise, mis suudab siseruumides tajuda temperatuuri, niiskust ja detsibelli taset. Puurisime kappi paar auku
Osade kogumine laserprinterist: 10 sammu (piltidega)
Osade kogumine laserprinterist: TASUTA! Armas sõna, kas pole. Vaba on nii mõnegi põneva kõnepruugi eesliide; Sõnavabadus, vaba raha, tasuta lõunasöök ja vaba armastus on vaid mõned. Kuid miski ei sütita kujutlusvõimet ega pane südant tuksuma nagu mõte
Kuidas ühendada DeLorme Earthmate GPS LT-20 oma Google Earthiga suurepärase GPS-i jälgimiskaardi jaoks: 5 sammu
Kuidas ühendada DeLorme Earthmate GPS LT-20 oma Google Earthiga suurepärase GPS-i jälgimiskaardi jaoks: näitan teile, kuidas ühendada GPS-seade populaarse programmiga Google Earth ilma Google Earth Plusi kasutamata. Mul ei ole suurt eelarvet, seega võin garanteerida, et see on võimalikult odav