INHOUDSOPGAWE:

EAL - Industrie 4.0 GPS -dataversameling op Rc -motor: 4 stappe
EAL - Industrie 4.0 GPS -dataversameling op Rc -motor: 4 stappe

Video: EAL - Industrie 4.0 GPS -dataversameling op Rc -motor: 4 stappe

Video: EAL - Industrie 4.0 GPS -dataversameling op Rc -motor: 4 stappe
Video: Невероятное Изобретение - Этот Дрон Изменит Все 2024, Junie
Anonim
EAL - Industrie 4.0 GPS -dataversameling op Rc Car
EAL - Industrie 4.0 GPS -dataversameling op Rc Car
EAL - Nywerheid 4.0 -versameling van GPS -data op Rc Car
EAL - Nywerheid 4.0 -versameling van GPS -data op Rc Car

In hierdie instruksies sal ons praat oor hoe ons 'n GPS -module op 'n RC -motor opstel en die versamelde data op 'n webblad plaas vir maklike monitering. Ons het vroeër 'n instruksie gemaak oor hoe ons ons RC -motor gemaak het, wat u hier kan vind. Ons gebruik dieselfde weergawe, alhoewel ons besluit het om die ultraklanksensors te verwyder en eerder die GPS -module toe te pas. In die projek het ons 'n databasis opgestel wat die GPS -data bevat, en 'n webblad gebou waarop die data gevind kan word, sowel as dit op 'n kaart toegepas, sodat u kan sien waar die motor was. Besoek Joerha.dk om die webblad te sien.

Op die vloeidiagram bo -aan kan u 'n oorsig sien van die tegnologieë wat in hierdie projek gebruik is. Om die beste uit hierdie instruksies te haal, moet u kennis hê met sommige, indien nie al die tegnologieë wat gebruik word nie. Dit word volgens gebruik gekoppel. Om Github te onderbeklemtoon, sal ook help, aangesien ons gekoppel het aan ons github -bewaarplekke.

Lys van hulpprogramme:

  • Github
  • Framboos PI/Raspbian

    Python

  • Node.js

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

    Bootstrap

Stap 1: Opstel van databasis

Opstel van databasis
Opstel van databasis

In hierdie segment sal ons praat oor hoe ons die databasisstelsel bou waaruit ons GPS -data gehaal word. Die databasis is ingebou in MySQL volgens die prent hierbo, waar ons twee tabelle het - "gebruikers" en "GPSEntries". By gebruikers het ons 'Id' as ons primêre sleutel. Dit word gebruik as 'n unieke identifiseerder. 'Naam' is die naam van die gebruiker wat tans aangemeld is. 'Apikey' is die unieke sleutel wat aan die gebruiker gegee word om toegang tot die API te verkry. 'Aktief' is om te kyk of die gebruiker aktief is; ons kan die gebruiker deaktiveer, sodat hy nie toegang tot die databasis het nie. “CreatedAt” en “UpdatedAt” word gemaak deur die proses wat ons gebruik het om die databasis te bou.

In die tabel "GPSEntries" het ons al die eienskappe wat data van die GPS -module bevat. 'Tyd' is die huidige tyd van die GPS -module; ons gebruik dit om die tyd van die plasing te wys. Dan het ons die posisie in koördinate, sowel as "snelheid" en "koers". Ons het ook baie fouteienskappe, wat aandui of daar 'n fout is in die data van die GPS, byvoorbeeld in die koördinate. Ons het dit by die databasis gevoeg, maar ons wys dit nie op die webblad nie. 'UserId' is 'n vreemde sleutel wat die 'id' uit die tabel 'Gebruikers' bevat. Dit word gebruik om aan te toon watter gebruiker die data geplaas het.

Stap 2: API

API
API

In hierdie segment sal ons praat oor die API wat die databasis beheer en die data daarop plak. Die web -API is gebou met Node.js, wat Express.js en Sequalize.js gebruik.

Node.js word gebruik om JavaScript-bedienerside te bestuur, waar dit normaalweg hoofsaaklik gebruik word vir scripts aan die kliëntkant op 'n webblad.

Express.js is die raamwerk wat ons gebruik het om die API te bou.

Sequalize.js word gebruik om die skakels tussen die Gps -data en die databasiskenmerke te maak. Dit gebruik 'n metode genaamd ORM (Object-Relational Mapping) om dit te doen. Dit is ook waar 'CreatedAt' en 'UpdatedAt' geskep word (getoon in stap 1).

Die API kan gebruik word deur api.joerha.dk te besoek. Voeg dan /gps by die url, wat alle data in die databasis in JSON -formaat sal wys. Om te bepaal hoeveel inskrywings u wil hê, kan u /2 (die gebruiker) en /x (aantal inskrywings) by die url voeg. Fx api.joerha.dk/gps/2/10 wys die 10 nuutste inskrywings. Op die foto hierbo word 'n opname van die geformateerde data getoon.

Die kode kan hier gevind word: Github

Stap 3: GPS/Python -toepassing

GPS/Python -toepassing
GPS/Python -toepassing
GPS/Python -toepassing
GPS/Python -toepassing
GPS/Python -toepassing
GPS/Python -toepassing

In hierdie segment sal ons praat oor die script wat op die framboos loop en die GPS -data versamel en dit na die API stuur.

Om die data van die GPS te versamel, gebruik ons 'n demoon genaamd gpsd (prent 1). Dit is waar ons die data versamel wat ons in die databasis plaas, en die basis vir ons GPSEntries -tabel. Die skrif wat die data van gpsd haal en dit na die API plaas, word in python geskryf.

Die toepassing initialiseer 'n draad, sodat dit gpsd sowel as ons program op dieselfde tyd kan uitvoer. Die Gpsd -data word deurlopend gestroom terwyl die GPS aktief is (prent 2).

Dan maak ons 'n tyd -lus wat die loonvrag voortdurend na die API met die GPS -data plaas. Die data is geformateer as JSON. Die lading bestaan uit die eienskappe wat in die GPSD gesien word. Die.fix -tag werk soos 'n momentopname van die huidige data en stuur dit na die API. Dit word gedoen deur request.post en gebruik die url en API -sleutel. Druk (r.status_code) word aan die gebruiker gestuur om te weet of die data korrek oorgekom het. Time.sleep (0.5) is hoe gereeld die data geplaas word (prent 3)

Die kode kan hier gevind word: Github

Stap 4: Webblad vir die projek

Webblad vir die projek
Webblad vir die projek

In hierdie segment sal ons praat oor hoe ons ons webwerf gemaak het wat die data en ander inligting oor die projek toon. Die webwerf is gebou met HTML, css en JS. Om mee te begin gebruik ons Bootstrap 4.0, 'n biblioteek vir HTML, css en JS. Dit bevat baie funksies wat u help om u webwerf te bou. Ons het dit gebruik vir die navbar aan die bokant, sowel as die ry- en kolomopstelling waarmee die webwerf gebou is. Dan het ons nog 'n klein css -skrif wat die kleure van die agtergrond en opskrifte beheer. Daarop het ons gebruik gemaak van 'n biblioteek genaamd lightbox, sodat u op die foto's kan klik en dit verskyn. Die inhoud van die webwerf bevat 'n Google -kaart, 'n tabel met gegewens, 'n video van die motor in aksie en 'n skakel na hierdie bladsy.

Die Google -kaart is die interessantste. Die kaart word deur 'n Google API gelaai, waar 'n unieke API -sleutel ingevoeg word sodat dit kan werk. Die data word binne 'n interval van 500 ms na die kaart gestroom. Ons het 'n funksie gemaak waar die laaste 100 datapunte in die databasis as merkers verskyn, sodat u kan volg waar die motor was. Dit word gedoen deur 'n sogenaamde AJAX -oproep.

Die datastelle in die GPS -datatabel word op dieselfde manier aangevra. In die tabel kan u die laaste 10 inskrywings sien, wat intyds bygewerk word wanneer die GPS aktief is. Ons haal data uit die databasis met 'n interval van 500 ms.

Die kode kan hier gevind word: Github

Aanbeveel: