EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa: 4 vaihetta
EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa: 4 vaihetta
Anonim
EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa
EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa
EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa
EAL - Industry 4.0 GPS -tiedonkeruu Rc -autossa

Tässä Instructable -ohjelmassa puhumme siitä, miten asennamme GPS -moduulin RC -autoon ja lähetimme kerätyt tiedot verkkosivulle helpon seurannan vuoksi. Olemme aiemmin tehneet ohjeen siitä, miten teimme RC -auton, joka löytyy täältä. Tämä käyttää samaa rakennetta, vaikka olemme päättäneet hävittää ultraäänianturit ja käyttäneet sen sijaan GPS -moduulia. Hankkeessa olemme perustaneet tietokannan, joka sisältää GPS -tiedot, ja rakennamme verkkosivun, josta tiedot löytyvät, sekä sovellamme sitä karttaan, jotta näet, missä auto on ollut. Käy osoitteessa Joerha.dk nähdäksesi verkkosivun.

Yläreunan vuokaaviossa näet yleiskuvan tässä projektissa käytetyistä tekniikoista. Jotta saat kaiken irti tästä Instructable -ohjelmasta, sinun on perehdyttävä joihinkin, ellei kaikkiin käytettyihin tekniikoihin. Se on linkitetty käytön mukaan. Githubin aliedustaminen auttaa myös, koska olemme linkittäneet github -arkistoihimme.

Luettelo apuohjelmista:

  • Github
  • Vadelma PI/Raspbian

    Python

  • Node.js

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

    Bootstrap

Vaihe 1: Tietokannan asennus

Tietokannan asennus
Tietokannan asennus

Tässä segmentissä puhumme siitä, miten rakennamme tietokantajärjestelmän, josta GPS -tiedot on otettu. Tietokanta on rakennettu MySQL: ään yllä olevan kuvan mukaisesti, jossa meillä on kaksi taulukkoa - "Käyttäjät" ja "GPSEntries". Käyttäjien ensisijainen avain on "Id". Sitä käytetään ainutlaatuisena tunnisteena. "Nimi" on tällä hetkellä kirjautuneen käyttäjän nimi. "Apikey" on yksilöllinen avain, joka annetaan käyttäjälle päästäkseen sovellusliittymään. "Aktiivinen" on tarkistaa, onko käyttäjä aktiivinen. Voimme deaktivoida käyttäjän, jotta hän ei pääse tietokantaan. "CreatedAt" ja "UpdatedAt" tehdään prosessilla, jota käytimme tietokannan rakentamisessa.

GPSEntries -taulukossa on kaikki määritteet, jotka sisältävät tietoja GPS -moduulista. "Aika" on GPS -moduulin nykyinen aika, käytämme sitä näyttämään lähettämisen ajan. Sitten meillä on sijainti koordinaateissa sekä "nopeus" ja "suunta". Meillä on myös paljon virheominaisuuksia, jotka osoittavat, onko GPS: n tiedoissa virhe, fx koordinaateissa. Olemme lisänneet ne tietokantaan, mutta emme näytä niitä verkkosivulla. "UserId" on vieraa avain, joka sisältää käyttäjätunnuksen käyttäjätunnuksen. Sitä käytetään osoittamaan, kuka käyttäjä lähetti tiedot.

Vaihe 2: API

API
API

Tässä segmentissä puhumme sovellusliittymästä, joka ohjaa tietokantaa ja liittää tiedot siihen. Web -sovellusliittymä on rakennettu Node.js: llä, joka käyttää Express.js- ja Sequalize.js -tiedostoja.

Node.js-tiedostoa käytetään JavaScript-palvelinpuolen suorittamiseen, missä sitä tavallisesti käytetään pääasiassa asiakaspuolen komentosarjoihin verkkosivulla.

Express.js on kehys, jota käytimme sovellusliittymän rakentamisessa.

Sequalize.js -linkkiä käytetään linkkien luomiseen GPS -datan ja tietokannan määritteiden välillä. Se käyttää ORM (Object-Relational Mapping) -menetelmää tähän. Tässä luodaan myös "CreatedAt" ja "UpdatedAt" (näytetään vaiheessa 1).

Sovellusliittymää voidaan käyttää osoitteessa api.joerha.dk. Lisää sitten URL -osoitteeseen /gps, joka näyttää kaikki tietokannan tiedot JSON -muodossa. Voit hallita kuinka monta merkintää haluat lisätä URL -osoitteeseen /2 (käyttäjä) ja /x (merkintöjen määrä). Fx api.joerha.dk/gps/2/10 näyttää 10 uusinta merkintää. Muotoiltujen tietojen saanti näkyy yllä olevassa kuvassa.

Koodi löytyy täältä: Github

Vaihe 3: GPS/Python -sovellus

GPS/Python -sovellus
GPS/Python -sovellus
GPS/Python -sovellus
GPS/Python -sovellus
GPS/Python -sovellus
GPS/Python -sovellus

Tässä segmentissä puhumme komentosarjasta, joka toimii vadelmalla ja kerää GPS -tiedot ja lähettää ne sovellusliittymään.

Tietojen keräämiseksi GPS: stä käytämme daemonia nimeltä gpsd (Kuva 1). Täältä keräämme tietokantaan lähettämämme tiedot ja GPSEntries -taulukon perustan. Skripti, joka vetää tiedot gpsd: stä ja lähettää ne sovellusliittymään, on kirjoitettu pythonilla.

Sovellus alustaa säikeen, joten se voi ajaa sekä gpsd: tä että ohjelmaa samanaikaisesti. GPS -tietoja lähetetään jatkuvasti, kun GPS on aktiivinen (Kuva 2).

Sitten teemme hetken silmukan, joka lähettää jatkuvasti hyötykuormansa sovellusliittymään, joka sisältää GPS -tiedot. Tiedot on muotoiltu muotoon JSON. Hyötykuorma koostuu GPSD: ssä näkyvistä ominaisuuksista.. Fix -tunniste toimii kuin tilannekuva nykyisistä tiedoista ja lähettää sen sovellusliittymään. Tämä tehdään request.postin avulla ja käyttää URL- ja API -avainta. Tulosta (r.status_code) tulostetaan käyttäjälle, jotta tiedetään, ovatko tiedot menneet oikein. Aika. Unta (0,5) on kuinka usein tiedot julkaistaan (Kuva 3)

Koodi löytyy täältä: Github

Vaihe 4: Projektin verkkosivu

Projektin verkkosivu
Projektin verkkosivu

Tässä segmentissä puhumme siitä, miten teimme verkkosivumme, joka näyttää tiedot ja muut tiedot projektista. Sivusto on rakennettu HTML: llä, css: llä ja JS: llä. Aloitimme Bootstrap 4.0: lla, joka on HTML-, css- ja JS -kirjasto. Sen mukana tulee paljon toimintoja, jotka auttavat sinua rakentamaan verkkosivustosi. Olemme käyttäneet sitä yläreunan navigointipalkissa sekä rivi- ja sarakeasetuksissa, joilla sivusto rakennetaan. Sitten meillä on toinen pieni css -komentosarja, joka ohjaa taustan ja otsikoiden värejä. Tämän lisäksi olemme käyttäneet Lightbox-kirjastoa, joten voit napsauttaa kuvia ja ne avautuvat. Sivuston sisältö sisältää Google -kartan, tietotaulukon, videon toiminnassa olevasta autosta ja linkin tälle sivulle.

Googlen kartta on mielenkiintoisin. Kartta ladataan Googlen sovellusliittymän kautta, johon lisätään ainutlaatuinen sovellusliittymäavain, jotta se toimii. Tiedot siirretään kartalle 500 ms: n välein. Olemme tehneet toiminnon, jossa tietokannan viimeiset 100 datapistettä näytetään merkkeinä, joten voit seurata auton sijaintia. Tämä tehdään niin kutsutun AJAX -puhelun kautta.

GPS -tietotaulukon tietojoukkoja pyydetään samalla tavalla. Taulukossa näet viimeiset 10 merkintää, jotka päivitetään reaaliajassa, kun GPS on aktiivinen. Haemme tietoja tietokannasta 500 ms: n välein.

Koodi löytyy täältä: Github

Suositeltava: