Obsah:

EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie: 4 kroky
EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie: 4 kroky

Video: EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie: 4 kroky

Video: EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie: 4 kroky
Video: 千万不要低估美国制裁川普禁的是WEIXIN还是WECHAT?天下公理不守规则背信弃义容易挨削 No underestimate sanction, Trump bans WECHAT / WEIXIN 2024, Jún
Anonim
EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie
EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie
EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie
EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie

V tomto návode budeme hovoriť o tom, ako nastavíme modul GPS na RC automobile a zverejníme zozbierané údaje na webovej stránke, aby sme ich mohli ľahko monitorovať. Predtým sme urobili návod, ako sme vyrobili naše RC auto, ktorý nájdete tu. Používa sa rovnaká konštrukcia, aj keď sme sa rozhodli zošrotovať ultrazvukové senzory a namiesto toho sme použili modul GPS. V projekte sme nastavili databázu, ktorá obsahuje údaje GPS, a vytvorili sme webovú stránku, na ktorej sa údaje dajú nájsť, a tiež sme ich aplikovali na mapu, aby ste videli, kde auto bolo. Webovú stránku zobrazíte na adrese Joerha.dk.

Na vývojovom diagrame v hornej časti môžete vidieť prehľad technológií, ktoré boli v tomto projekte použité. Aby ste z tohto Instructable získali maximum, musíte mať blízkosť niektorých, ak nie všetkých použitých technológií. Je prepojený podľa použitia. Pomôže aj podhodnotenie Githubu, pretože sme sa prepojili s našimi úložiskami github.

Zoznam pomôcok:

  • Github
  • Raspberry PI/Raspbian

    Python

  • Node.js

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

    Bootstrap

Krok 1: Nastavenie databázy

Nastavenie databázy
Nastavenie databázy

V tomto segmente si povieme, ako budujeme databázový systém, z ktorého sú čerpané naše údaje GPS. Databáza je postavená na MySQL podľa obrázku vyššie, kde máme dve tabuľky - „Používatelia“a „GPSEntries“. V používateľoch máme ako primárny kľúč „Id“. Používa sa ako jedinečný identifikátor. „Meno“je meno aktuálne prihláseného používateľa. „Apikey“je jedinečný kľúč daný používateľovi na prístup k rozhraniu API. „Aktívny“je skontrolovať, či je používateľ aktívny, môžeme ho deaktivovať, aby nemal prístup k databáze. „CreatedAt“a „UpdatedAt“sa vyrába procesom, ktorý sme použili na zostavenie databázy.

V tabuľke „GPSEntries“máme všetky atribúty obsahujúce údaje z modulu GPS. „Čas“je aktuálny čas modulu GPS, ktorý používame na zobrazenie času uverejnenia. Potom máme polohu v súradniciach, ako aj „rýchlosť“a „smer“. Máme tiež veľa chybových atribútov, ktoré ukazujú, či sú chyby v údajoch z GPS, fx v súradniciach. Pridali sme ich do databázy, ale nezobrazujeme ich na webovej stránke. „UserId“je cudzí kľúč, ktorý obsahuje „id“z tabuľky Používatelia. Slúži na zobrazenie toho, ktorý používateľ zverejnil údaje.

Krok 2: API

API
API

V tomto segmente budeme hovoriť o rozhraní API, ktoré riadi databázu a vkladá do nej údaje. Webové API je postavené na Node.js, ktorý využíva Express.js a Sequalize.js.

Node.js sa používa na spustenie servera JavaScript na serveri, kde sa bežne používa predovšetkým na skriptovanie na strane klienta na webovej stránke.

Express.js je rámec, ktorý sme použili na zostavenie API.

Sequalize.js sa používa na vytváranie prepojení medzi údajmi GPS a atribútmi databázy. Na to používa metódu nazývanú ORM (Object-Relational Mapping). Tu sa tiež vytvárajú „CreatedAt“a „UpdatedAt“(zobrazené v kroku 1).

Rozhranie API je možné použiť na adrese api.joerha.dk. Potom na adresu URL pridajte /gps, ktoré zobrazia všetky údaje v databáze vo formáte JSON. Ak chcete ovládať, koľko záznamov chcete, môžete do adresy URL pridať /2 (používateľ) a /x (počet záznamov). Fx api.joerha.dk/gps/2/10 zobrazí 10 najnovších záznamov. Príjem formátovaných údajov je zobrazený na obrázku vyššie.

Kód nájdete tu: Github

Krok 3: Aplikácia GPS/Python

Aplikácia GPS/Python
Aplikácia GPS/Python
Aplikácia GPS/Python
Aplikácia GPS/Python
Aplikácia GPS/Python
Aplikácia GPS/Python

V tomto segmente budeme hovoriť o skripte, ktorý beží na Raspberry a zbiera údaje GPS a odosiela ich do API.

Na zber údajov z GPS používame démona s názvom gpsd (obrázok 1). Tu zhromažďujeme údaje, ktoré uverejňujeme v databáze, a základ pre našu tabuľku GPSEntries. Skript, ktorý sťahuje údaje z gpsd a zverejňuje ich v rozhraní API, je napísaný v pythone.

Aplikácia inicializuje vlákno, takže môže súčasne bežať ako gpsd, tak aj náš program. Kým je GPS aktívny, údaje Gpsd sa nepretržite streamujú (obrázok 2).

Potom vytvoríme slučku while, ktorá priebežne odosiela svoje užitočné zaťaženie do rozhrania API obsahujúceho údaje GPS. Údaje sú formátované vo formáte JSON. Užitočné zaťaženie pozostáva z atribútov uvedených v smernici GPSD. Značka.fix funguje ako snímka aktuálnych údajov a odosiela ju do rozhrania API. Vykonáva to request.post a používa URL a API kľúč. Vytlačí sa (r.status_code) používateľovi, aby zistil, či sa údaje správne dostali. Time.sleep (0,5) je frekvencia odosielania údajov (obrázok 3)

Kód nájdete tu: Github

Krok 4: Webová stránka projektu

Webová stránka projektu
Webová stránka projektu

V tomto segmente budeme hovoriť o tom, ako sme vytvorili našu webovú stránku, ktorá zobrazuje údaje a ďalšie informácie o projekte. Stránka je postavená na HTML, CSS a JS. Na začiatok sme použili Bootstrap 4.0, čo je knižnica pre HTML, css a JS. Obsahuje množstvo funkcií, ktoré vám pomôžu pri vytváraní vašich webových stránok. Použili sme to pre navbar v hornej časti, ako aj pre nastavenie riadkov a stĺpcov, pomocou ktorých je stránka vytvorená. Potom tu máme ďalší malý skript css ovládajúci farby pozadia a hlavičiek. Na tento účel sme použili knižnicu s názvom lightbox, takže môžete kliknúť na obrázky a zobrazia sa. Obsah stránok obsahuje mapu Google, tabuľku údajov, video z auta v prevádzke a odkaz na túto stránku.

Mapa Google je najzaujímavejšia. Mapa sa načítava prostredníctvom rozhrania Google API, kde je vložený jedinečný kľúč API, aby fungoval. Údaje sú streamované na mapu v intervale 500 ms. Vytvorili sme funkciu, kde je posledných 100 dátových bodov v databáze zobrazených ako značky, takže môžete sledovať, kde auto bolo. To sa deje prostredníctvom toho, čo sa nazýva volanie AJAX.

Sady údajov v tabuľke údajov GPS sa požadujú rovnakým spôsobom. V tabuľke môžete vidieť posledných 10 záznamov, aktualizovaných v reálnom čase, keď je GPS aktívne. Údaje získavame z databázy v intervale 500 ms.

Kód nájdete tu: Github

Odporúča: