Obsah:
- Krok 1: Nastavenie databázy
- Krok 2: API
- Krok 3: Aplikácia GPS/Python
- Krok 4: Webová stránka projektu
Video: EAL - Priemysel 4.0 Zhromažďovanie údajov GPS na automobile na diaľkové ovládanie: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:56
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
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
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
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
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:
Auto na diaľkové ovládanie: 3 kroky
Auto na diaľkové ovládanie: Dnes (alebo dnes večer, akokoľvek sa vám bude najlepšie pracovať) vyrobíme auto na diaľkové ovládanie. Prejdeme sa procesom výroby auta, od použitia vopred vyrobenej sady na výrobu samotného auta po prototypovanie diaľkového ovládača na doske a nakoniec spájkovanie
Cisternové auto na diaľkové ovládanie: 3 kroky
Diaľkové ovládanie cisternového auta: Toto je návod, ako vyrobiť cisternové auto na diaľkové ovládanie. Sada, ktorú dnes použijem na výrobu auta, je jednoduchá súprava do auta s cisternovým pohonom a so svetelným senzorom, ktorý sleduje cestu. Vaše auto nepotrebuje svetelný senzor, ale cisternové auto potrebuje
Magic Button 4k: Bezdrôtové diaľkové ovládanie 20USD BMPCC 4k (alebo 6k): 4 kroky (s obrázkami)
Magic Button 4k: Bezdrôtové diaľkové ovládanie BMPCC 4k (alebo 6k) 20USD: Mnoho ľudí ma požiadalo, aby som sa podelil o niektoré podrobnosti o mojom bezdrôtovom ovládači pre BMPCC4k. Väčšina otázok sa týkala ovládania bluetooth, preto o tom uvediem niekoľko podrobností. Predpokladám, že ste oboznámení s prostredím ESP32 Arduino
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
Použitie Meshlabu na čistenie a zhromažďovanie údajov o laserovom skenovaní: 8 krokov
Použitie programu Meshlab na čistenie a zhromažďovanie údajov o laserovom skenovaní: Meshlab je softvérový program s otvoreným zdrojovým kódom, ktorý sa používa na manipuláciu a úpravu údajov siete. Tento tutoriál konkrétne ukáže, ako zostavovať, čistiť a rekonštruovať údaje z 3D laserového skenera. Techniky použité so skenerom použitým tu by mali