Tabla de contenido:

EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc: 4 pasos
EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc: 4 pasos

Video: EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc: 4 pasos

Video: EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc: 4 pasos
Video: INDUSTRIA 4.0 y habilitadores tecnológicos: IA, Robótica y RPA 2024, Junio
Anonim
EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc
EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc
EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc
EAL: recopilación de datos GPS de la industria 4.0 en automóviles Rc

En este Instructable, hablaremos sobre cómo configuramos un módulo GPS en un automóvil RC y publicamos los datos recopilados en una página web para facilitar el monitoreo. Anteriormente, hicimos un instructivo sobre cómo hicimos nuestro automóvil RC, que se puede encontrar aquí. Esto está usando la misma construcción, aunque hemos decidido descartar los sensores de ultrasonido y aplicar el módulo GPS en su lugar. En el proyecto, hemos configurado una base de datos que contiene los datos del GPS y hemos creado una página web en la que se pueden encontrar los datos, así como la hemos aplicado a un mapa, para que pueda ver dónde ha estado el automóvil. Visite Joerha.dk para ver la página web.

En el diagrama de flujo de la parte superior, puede ver una descripción general de las tecnologías que se han utilizado en este proyecto. Para aprovechar al máximo este Instructable, debe estar familiarizado con algunas, si no todas, las tecnologías utilizadas. Está vinculado según el uso. Tener conocimiento de Github también ayudará, ya que nos hemos vinculado a nuestros repositorios de github.

Lista de utilidades:

  • Github
  • Frambuesa PI / Raspbian

    Pitón

  • Node.js

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

    Oreja

Paso 1: configuración de la base de datos

Configuración de la base de datos
Configuración de la base de datos

En este segmento hablaremos sobre cómo construimos el sistema de base de datos del que se extraen nuestros datos GPS. La base de datos está construida en MySQL de acuerdo con la imagen de arriba, donde tenemos dos tablas: “Usuarios” y “Entradas GPS”. En los usuarios tenemos "Id" como nuestra clave principal. Se utiliza como identificador único. "Nombre" es el nombre del usuario actualmente conectado. "Apikey" es la clave única que se le da al usuario para acceder a la API. "Activo" es para verificar si el usuario está activo, podemos desactivar al usuario, para que no pueda acceder a la base de datos. "CreatedAt" y "UpdatedAt" se crea mediante el proceso que usamos para construir la base de datos.

En la tabla “GPSEntries” tenemos todos los atributos que contienen datos del módulo GPS. “Hora” es la hora actual del módulo GPS, la usamos para mostrar la hora de la publicación. Luego tenemos la posición en coordenadas, así como "velocidad" y "rumbo". También tenemos muchos atributos de error, que muestran si hay un error en los datos del GPS, fx en las coordenadas. Los hemos agregado a la base de datos, pero no los mostramos en la página web. "UserId" es una clave externa que contiene el "id" de la tabla de usuarios. Eso se usa para mostrar qué usuario publicó los datos.

Paso 2: API

API
API

En este segmento hablaremos sobre la API que controla la base de datos y pega los datos en ella. La API web está construida con Node.js, que utiliza Express.js y Sequalize.js.

Node.js se usa para ejecutar JavaScript en el lado del servidor, donde normalmente se usa principalmente para scripts del lado del cliente en una página web.

Express.js es el marco que usamos para construir la API.

Sequalize.js se usa para hacer los enlaces entre los datos de Gps y los atributos de la base de datos. Utiliza un método llamado ORM (Object-Relational Mapping) para hacer esto. Aquí es también donde se crea "CreatedAt" y "UpdatedAt" (se muestra en el paso 1).

La API se puede utilizar visitando api.joerha.dk. Luego agregue / gps a la URL, que mostrará todos los datos en la base de datos en formato JSON. Para controlar cuántas entradas desea, puede agregar / 2 (el usuario) y / x (número de entradas) a la URL. Fx api.joerha.dk/gps/2/10 mostrará las 10 últimas entradas. En la imagen de arriba se muestra una toma de los datos formateados.

El código se puede encontrar aquí: Github

Paso 3: Aplicación GPS / Python

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

En este segmento hablaremos sobre el script que se ejecuta en la frambuesa, recopila los datos del GPS y los envía a la API.

Para recopilar los datos del GPS estamos usando un demonio llamado gpsd (Imagen 1). Aquí es donde recopilamos los datos que publicamos en la base de datos y la base de nuestra tabla GPSEntries. El script que extrae los datos de gpsd y los publica en la API está escrito en Python.

La aplicación inicializa un hilo, por lo que puede ejecutar tanto gpsd como nuestro programa al mismo tiempo. Los datos de Gpsd se transmiten continuamente mientras el GPS está activo (Imagen 2).

Luego, hacemos un ciclo while que publica continuamente su carga útil en la API que contiene los datos del GPS. Los datos tienen el formato JSON. La carga útil consta de los atributos que se ven en el GPSD. La etiqueta.fix actúa como una instantánea de los datos actuales y los envía a la API. Esto se realiza mediante request.post y utiliza la URL y la clave API. Print (r.status_code) se envía al usuario para saber si los datos se transmitieron correctamente. Time.sleep (0.5) es la frecuencia con la que se publican los datos (Imagen 3)

El código se puede encontrar aquí: Github

Paso 4: página web del proyecto

Página web del proyecto
Página web del proyecto

En este segmento hablaremos sobre cómo hicimos nuestra página web que muestra los datos, y otra información sobre el proyecto. El sitio está construido con HTML, CSS y JS. Para empezar usamos Bootstrap 4.0, que es una biblioteca para HTML, css y JS. Viene con muchas funciones que lo ayudan a construir su sitio web. Lo hemos usado para la barra de navegación en la parte superior, así como para la configuración de filas y columnas con las que se construye el sitio. Luego tenemos otro pequeño script CSS que controla los colores del fondo y los encabezados. Después de eso, hemos hecho uso de una biblioteca llamada lightbox, por lo que puede hacer clic en las imágenes y aparecerán. El contenido del sitio contiene un mapa de Google, una tabla de datos, un video del automóvil en acción y un enlace a esta misma página.

El mapa de google es el más interesante. El mapa se carga a través de una API de Google, donde se inserta una clave API única para que funcione. Los datos se transmiten al mapa en un intervalo de 500 ms. Hemos creado una función en la que los últimos 100 puntos de datos de la base de datos se muestran como marcadores, para que pueda seguir dónde ha estado el automóvil. Esto se hace a través de lo que se llama una llamada AJAX.

Los conjuntos de datos de la tabla de datos GPS se solicitan de la misma manera. En la tabla se pueden ver las últimas 10 entradas, actualizadas en tiempo real cuando el GPS está activo. Recuperamos datos de la base de datos en un intervalo de 500 ms.

El código se puede encontrar aquí: Github

Recomendado: