Kazalo:

EAL - Zbiranje podatkov GPS GPS Industry 4.0 na avtomobilu Rc: 4 koraki
EAL - Zbiranje podatkov GPS GPS Industry 4.0 na avtomobilu Rc: 4 koraki

Video: EAL - Zbiranje podatkov GPS GPS Industry 4.0 na avtomobilu Rc: 4 koraki

Video: EAL - Zbiranje podatkov GPS GPS Industry 4.0 na avtomobilu Rc: 4 koraki
Video: Marko Bohar AI Alati u malim i srednjim proizvodnim poduzećima 2024, Junij
Anonim
EAL - Zbiranje podatkov GPS 4.0 za avtomobile Rc
EAL - Zbiranje podatkov GPS 4.0 za avtomobile Rc
EAL - Zbiranje podatkov GPS 4.0 za avtomobile Rc
EAL - Zbiranje podatkov GPS 4.0 za avtomobile Rc

V tem navodilu bomo govorili o tem, kako smo na avtomobil z daljinskim upravljalnikom nastavili modul GPS in zbrane podatke objavili na spletni strani za lažji nadzor. Predhodno smo naredili navodila za izdelavo našega avtomobila RC, ki ga najdete tukaj. Ta uporablja isto konstrukcijo, čeprav smo se odločili, da odstranimo ultrazvočne senzorje in namesto tega uporabimo modul GPS. V projektu smo vzpostavili bazo podatkov, ki vsebuje podatke GPS, in izdelali spletno stran, na kateri je mogoče najti podatke, kakor tudi uporabiti na zemljevidu, tako da lahko vidite, kje je bil avto. Obiščite Joerha.dk in si oglejte spletno stran.

Na diagramu poteka na vrhu si lahko ogledate pregled tehnologij, ki so bile uporabljene v tem projektu. Če želite kar najbolje izkoristiti ta Instructable, se morate seznaniti z nekaterimi, če ne celo z vsemi uporabljenimi tehnologijami. Povezan je glede na uporabo. Razumevanje Github -a bo prav tako v pomoč, saj smo se povezali z našimi skladišči github.

Seznam pripomočkov:

  • Github
  • Raspberry PI/Raspbian

    Python

  • Node.js

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

    Bootstrap

1. korak: Namestitev baze podatkov

Nastavitev zbirke podatkov
Nastavitev zbirke podatkov

V tem segmentu bomo govorili o tem, kako gradimo sistem zbirk podatkov, iz katerega se črpajo naši podatki GPS. Baza podatkov je zgrajena v MySQL po zgornji sliki, kjer imamo dve tabeli - »Uporabniki« in »GPSEntries«. Pri uporabnikih imamo za primarni ključ »ID«. Uporablja se kot edinstven identifikator. »Ime« je ime trenutno prijavljenega uporabnika. »Apikey« je edinstven ključ, ki je uporabniku dan za dostop do API -ja. »Aktivno« je preverjanje, ali je uporabnik aktiven, uporabnika lahko deaktiviramo, tako da ne more dostopati do baze podatkov. »CreatedAt« in »UpdatedAt« nastane s postopkom, ki smo ga uporabili za izdelavo zbirke podatkov.

V tabeli »GPSEntries« imamo vse atribute, ki vsebujejo podatke iz modula GPS. »Čas« je trenutni čas modula GPS, ki ga uporabljamo za prikaz časa objave. Nato imamo položaj v koordinatah, pa tudi "hitrost" in "smer". Imamo tudi veliko atributov napak, ki kažejo, če je prišlo do napake v podatkih iz GPS, fx v koordinatah. Dodali smo jih v bazo podatkov, vendar jih ne prikažemo na spletni strani. "UserId" je tuji ključ, ki vsebuje "id" iz tabele Users. Uporablja se za prikaz, kateri uporabnik je objavil podatke.

2. korak: API

API
API

V tem segmentu bomo govorili o API -ju, ki nadzoruje bazo podatkov in vanj prilepi podatke. Spletni API je zgrajen z Node.js, ki uporablja Express.js in Sequalize.js.

Node.js se uporablja za izvajanje strežnika JavaScript na strani strežnika, kjer se običajno uporablja predvsem za odjemalsko skriptiranje na spletni strani.

Express.js je okvir, ki smo ga uporabili za izdelavo API -ja.

Sequalize.js se uporablja za vzpostavitev povezav med podatki GPS in atributi baze podatkov. Za to uporablja metodo, imenovano ORM (Object-Relational Mapping). Tu nastanejo tudi »CreatedAt« in »UpdatedAt« (prikazano v 1. koraku).

API lahko uporabite na spletnem mestu api.joerha.dk. Nato URL -ju dodajte /gps, ki bo prikazal vse podatke v bazi podatkov v obliki JSON. Če želite nadzirati, koliko vnosov želite, lahko URL -ju dodate /2 (uporabnik) in /x (število vnosov). Fx api.joerha.dk/gps/2/10 bo prikazal 10 najnovejših vnosov. Izvleček oblikovanih podatkov je prikazan na zgornji sliki.

Kodo najdete tukaj: Github

3. korak: Aplikacija GPS/Python

GPS/Python aplikacija
GPS/Python aplikacija
GPS/Python aplikacija
GPS/Python aplikacija
GPS/Python aplikacija
GPS/Python aplikacija

V tem segmentu bomo govorili o skriptu, ki deluje na malini in zbira podatke GPS ter jih pošlje v API.

Za zbiranje podatkov iz GPS -a uporabljamo demon, imenovan gpsd (slika 1). Tu zbiramo podatke, ki jih objavimo v bazi podatkov, in podlago za našo tabelo GPSEntries. Skript, ki potegne podatke iz gpsd in jih objavi v API -ju, je napisan v pythonu.

Aplikacija inicializira nit, tako da lahko hkrati izvaja gpsd in naš program. Podatki Gpsd se neprekinjeno pretakajo, medtem ko je GPS aktiven (slika 2).

Nato naredimo zanko while, ki neprestano objavlja svojo koristno obremenitev v API -ju, ki vsebuje podatke GPS. Podatki so oblikovani kot JSON. Tovor je sestavljen iz atributov, ki jih vidimo v GPSD. Oznaka.fix deluje kot posnetek trenutnih podatkov in to pošlje API -ju. To naredi request.post in uporablja URL in ključ API. Natisni (r.status_code) se prikaže uporabniku, da ugotovi, ali so podatki pravilno prišli. Time.sleep (0,5) je, kako pogosto so podatki objavljeni (slika 3)

Kodo najdete tukaj: Github

4. korak: Spletna stran projekta

Spletna stran projekta
Spletna stran projekta

V tem segmentu bomo govorili o tem, kako smo naredili našo spletno stran, ki prikazuje podatke, in druge podatke o projektu. Spletno mesto je zgrajeno s HTML, css in JS. Za začetek smo uporabili Bootstrap 4.0, ki je knjižnica za HTML, css in JS. Na voljo je z veliko funkcijami, ki vam pomagajo pri izdelavi vaše spletne strani. Uporabili smo ga za navbarno vrstico na vrhu, pa tudi nastavitve vrstic in stolpcev, s katerimi je spletno mesto zgrajeno. Nato imamo še en majhen skript css, ki nadzoruje barve ozadja in glave. Za to smo uporabili knjižnico, imenovano lightbox, tako da lahko kliknete slike in pojavne bodo. Vsebina spletnega mesta vsebuje google zemljevid, tabelo podatkov, videoposnetek avtomobila v akciji in povezavo do te strani.

Googlov zemljevid je najbolj zanimiv. Zemljevid se naloži prek google API -ja, v katerega je vstavljen edinstven ključ API -ja za njegovo delovanje. Podatki se pretakajo na zemljevid v intervalu 500 ms. Ustvarili smo funkcijo, pri kateri je zadnjih 100 podatkovnih točk v bazi podatkov prikazanih kot označevalci, tako da lahko spremljate, kje je bil avto. To se naredi prek tako imenovanega klica AJAX.

Podatkovni niz v podatkovni tabeli GPS se zahteva na enak način. V tabeli si lahko ogledate zadnjih 10 vnosov, posodobljenih v realnem času, ko je GPS aktiven. Podatke iz baze pridobivamo v intervalu 500 ms.

Kodo najdete tukaj: Github

Priporočena: