Taula de continguts:

EAL - Recollida de dades GPS de la indústria 4.0 en cotxe Rc: 4 passos
EAL - Recollida de dades GPS de la indústria 4.0 en cotxe Rc: 4 passos

Vídeo: EAL - Recollida de dades GPS de la indústria 4.0 en cotxe Rc: 4 passos

Vídeo: EAL - Recollida de dades GPS de la indústria 4.0 en cotxe Rc: 4 passos
Vídeo: ආසාවට චුට්ටයි පැගුවෙ 🙆 පොලිසිය වට කර ගත්තා #srilanka #lamborghini #topspeed #fastestcars 2024, Desembre
Anonim
EAL: recopilació de dades GPS de la indústria 4.0 a Rc Car
EAL: recopilació de dades GPS de la indústria 4.0 a Rc Car
EAL: recopilació de dades GPS de la indústria 4.0 a Rc Car
EAL: recopilació de dades GPS de la indústria 4.0 a Rc Car

En aquest instructiu parlarem de com configurem un mòdul GPS en un cotxe RC i publiquem les dades recopilades a una pàgina web per facilitar el control. Anteriorment hem fet una instrucció sobre com hem fabricat el nostre cotxe RC, que es pot trobar aquí. S’utilitza la mateixa versió, tot i que hem decidit desfer els sensors d’ultrasons i aplicar el mòdul GPS. Al projecte hem configurat una base de dades que conté les dades del GPS i construïm una pàgina web on es poden trobar les dades, a més d’aplicar-les a un mapa, perquè pugueu veure on ha estat el cotxe. Visiteu Joerha.dk per veure la pàgina web.

Al diagrama de flux de la part superior, podeu veure una visió general de les tecnologies que s’han utilitzat en aquest projecte. Per treure el màxim profit d’aquest Instructible, heu de tenir familiaritat amb algunes tecnologies utilitzades, si no totes. S'enllaça segons l'ús. Tenir una versió inferior de Github també ajudarà, ja que hem enllaçat amb els nostres dipòsits de github.

Llista de serveis públics:

  • Github
  • Raspberry PI / Raspbian

    Python

  • Node.js

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

    Bootstrap

Pas 1: Configuració de la base de dades

Configuració de la base de dades
Configuració de la base de dades

En aquest segment parlarem de com construïm el sistema de base de dades del qual s’extreuen les nostres dades GPS. La base de dades es basa en MySQL segons la imatge anterior, on tenim dues taules: "Usuaris" i "GPSEntries". En els usuaris tenim la clau principal "Identificador". S'utilitza com a identificador únic. "Nom" és el nom de l'usuari que ha iniciat la sessió. "Apikey" és la clau única que es dóna a l'usuari per accedir a l'API. "Actiu" consisteix a comprovar si l'usuari està actiu, podem desactivar-lo, de manera que no pugui accedir a la base de dades. "CreatedAt" i "UpdatedAt" es produeix pel procés que hem utilitzat per construir la base de dades.

A la taula "GPSEntries" tenim tots els atributs que contenen dades del mòdul GPS. "Hora" és l'hora actual del mòdul GPS, la fem servir per mostrar l'hora de la publicació. Després tenim la posició en coordenades, així com "velocitat" i "rumb". També tenim molts atributs d’error, que mostren si hi ha un error a les dades del GPS, fx a les coordenades. Els hem afegit a la base de dades, però no els mostrem a la pàgina web. "UserId" és una clau externa que conté l '"id" de la taula Usuaris. S’utilitza per mostrar quin usuari ha publicat les dades.

Pas 2: API

API
API

En aquest segment parlarem de l'API que controla la base de dades i hi enganxa les dades. L’API web es crea amb Node.js, que utilitza Express.js i Sequalize.js.

Node.js s'utilitza per executar el servidor de JavaScript, ja que normalment s'utilitza principalment per a la creació de scripts del client en una pàgina web.

Express.js és el marc que hem utilitzat per crear l'API.

Sequalize.js s’utilitza per fer enllaços entre les dades de GPS i els atributs de la base de dades. Utilitza un mètode anomenat ORM (Object-Relational Mapping) per fer-ho. Aquí també es creen "CreatedAt" i "UpdatedAt" (es mostra al pas 1).

L'API es pot utilitzar visitant api.joerha.dk. A continuació, afegiu / gps a la URL, que mostrarà totes les dades de la base de dades en format JSON. Per controlar quantes entrades voleu, podeu afegir / 2 (L'usuari) i / x (nombre d'entrades) a l'URL. Fx api.joerha.dk/gps/2/10 mostrarà les 10 darreres entrades. A la imatge superior es mostra una captura de dades formatades.

El codi es pot trobar aquí: Github

Pas 3: Aplicació GPS / Python

Aplicació GPS / Python
Aplicació GPS / Python
Aplicació GPS / Python
Aplicació GPS / Python
Aplicació GPS / Python
Aplicació GPS / Python

En aquest segment parlarem de l'script que s'executa al raspberry i que recull les dades GPS i les envia a l'API.

Per recopilar les dades del GPS, fem servir un dimoni anomenat gpsd (imatge 1). Aquí és on recopilem les dades que publiquem a la base de dades i la base de la nostra taula GPSEntries. L'escriptura que treu les dades de gpsd i les publica a l'API, està escrit en python.

L’aplicació inicialitza un fil, de manera que pot executar gpsd i el nostre programa alhora. Les dades de GPS es transmeten de forma contínua mentre el GPS està actiu (imatge 2).

A continuació, fem un bucle de temps que publica contínuament la seva càrrega útil a l'API que conté les dades GPS. Les dades tenen el format JSON. La càrrega útil consisteix en els atributs que es veuen al GPSD. L'etiqueta.fix actua com una instantània de les dades actuals i l'envia a l'API. Això es fa mitjançant request.post i utilitza la URL i la clau API. Print (r.status_code) s’envia a l’usuari per saber si les dades s’han transmès correctament. Time.sleep (0,5) és la freqüència amb què es publiquen les dades (imatge 3)

El codi es pot trobar aquí: Github

Pas 4: pàgina web del projecte

Pàgina web del projecte
Pàgina web del projecte

En aquest segment parlarem de com hem creat la nostra pàgina web que mostra les dades i altra informació sobre el projecte. El lloc es crea amb HTML, css i JS. Per començar, hem utilitzat Bootstrap 4.0, que és una biblioteca per a HTML, css i JS. Inclou moltes funcions que us ajuden a crear el vostre lloc web. L'hem utilitzat per a la barra de navegació de la part superior, així com per a la configuració de files i columnes amb què es construeix el lloc. Després tenim un altre petit script CSS que controla els colors del fons i les capçaleres. Per acabar, hem utilitzat una biblioteca anomenada lightbox, de manera que podeu fer clic a les imatges i apareixeran. El contingut del lloc conté un mapa de google, una taula de dades, un vídeo del cotxe en acció i un enllaç a aquesta mateixa pàgina.

El google map és el més interessant. El mapa es carrega mitjançant una API de Google, on s’insereix una clau API única perquè funcioni. Les dades es transmeten al mapa en un interval de 500 ms. Hem fet una funció on els darrers 100 punts de dades de la base de dades es mostren com a marcadors, de manera que podeu seguir on ha estat el cotxe. Això es fa mitjançant el que s’anomena trucada AJAX.

Els conjunts de dades de la taula de dades GPS es demanen de la mateixa manera. A la taula podeu veure les darreres 10 entrades, actualitzades en temps real quan el GPS està actiu. Recuperem dades de la base de dades en un interval de 500 ms.

El codi es pot trobar aquí: Github

Recomanat: