Tabla de contenido:
- Paso 1: Adquirir materiales
- Paso 2: configurar los dispositivos
- Paso 3: codificar el Arduino para extraer datos
- Paso 4: utilizar el procesamiento para escuchar
- Paso 5: mostrar datos en Tableau Public
- Paso 6: refinando la visualización
Video: The Path Mapper: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
En este proyecto de IoT, conectamos un NEO-6M (módulo GPS) para entregar datos de ubicación a través del Arduino a una hoja de Excel que se guardará en la computadora. Luego, con Tableau Public, creamos una visualización de datos de estos datos para trazar el camino que tomamos. Si bien esta es una forma de recopilar y presentar datos en tiempo real en una visualización de datos altamente correlacionados, este proceso también se puede aplicar a otros proyectos basados en datos.
Paso 1: Adquirir materiales
Para este proyecto, necesitará lo siguiente:
- Módulo GPS NEO-6M
- Arduino Uno
- Cables de puente macho / macho (necesitará 4 cables)
- Cable USB 2.0 tipo A a B
- Computadora con estos programas: Tableau Public, Arduino IDE (con TinyGPS ++) y Processing
Paso 2: configurar los dispositivos
Primero necesitamos configurar el módulo GPS con Arduino UNO para que Arduino nos brinde una interfaz para mostrar los datos. Cada uno de los cuatro cables conectados al NEO-6M corresponde a puertos específicos. Si su NEO-6M no viene con los cables, tendrá que conectarlo directamente con cables de puente. En el diagrama anterior, el rojo corresponde a la potencia (VCC), el negro a tierra (GND), el amarillo para transmitir datos (TxD) y el blanco para recibir datos (RxD). Conectamos estos cables a cables de puente macho / macho para poder conectarlos al Arduino. Siguiendo el diagrama anterior, conectamos el cable de tierra al pin digital GND en el Arduino, el cable TxD al 4, el cable RxD a ~ 3 y el cable VCC a 5V para voltaje. En un paso futuro, necesitaremos definir TxD y RxD con los números correctos en SoftwareSerial.
Una vez que los dos dispositivos están conectados entre sí, debemos proporcionar una fuente de alimentación. Conecte el cable USB 2.0 a su computadora portátil y la luz del NEO-6M debería encenderse.
Paso 3: codificar el Arduino para extraer datos
Ahora que tenemos los dispositivos configurados para recopilar datos GPS de los satélites, escribiremos un código para analizar los datos GPS que queremos. Suponiendo que haya captado una señal (mi módulo GPS parpadeará en azul), el NEO-6M imprime por defecto datos sin procesar en el monitor en serie en forma de mensajes NMEA, que se parecen a $ GP seguido de más letras y una serie de números. La imagen de arriba da una idea general de lo que debe mostrarse en su monitor serial una vez que se ingresa el código básico de Arduino.
Para explicar el código que he adjuntado (o si desea intentar codificarlo usted mismo), primero debe incluir las bibliotecas SoftwareSerial y TinyGPS ++ (para este último, Sketch> Incluir> Agregar biblioteca. ZIP). SoftwareSerial nos permite tener una conexión en serie; TinyGPS ++ nos brinda una herramienta fácil para imprimir la información de destino en una forma legible. Asegúrese de inicializar el objeto SoftwareSerial en los pines correspondientes del Arduino. En la función de configuración, usamos 9600 como velocidad en baudios.
Para el propósito de este instructable, solo imprimiremos siete tipos de datos en la función de bucle: latitud (grados), longitud (grados), velocidad (km), rumbo (grados), altitud (km), número de satélites en use y hdop. Puede buscar la sintaxis para imprimir esta información en la biblioteca Arduiniana. La forma general es Serial.print (). Por ejemplo, para imprimir la longitud, escribiríamos Serial.print (gps.location.lng (), 6). El 6 representa cuántos dígitos queremos a la derecha del punto decimal.
Mi código tiene caracteres adicionales impresos por el bien de una expresión regular fácilmente formateada en el siguiente paso. Sin embargo, si desea detenerse en este paso, no dude en formatear los datos de manera diferente para facilitar la visualización en el monitor en serie.
Paso 4: utilizar el procesamiento para escuchar
Si bien tenemos un código para la configuración del IDE de Arduino, tenemos un problema para guardar estos datos. A partir de este momento, solo podemos ver los datos en el monitor en serie mientras los recopilamos. Hay muchas formas de registrar estos datos, pero elegí Processing principalmente porque su interfaz imita el IDE de Arduino y usa Java, un lenguaje con el que estoy familiarizado (tenga en cuenta que también puede controlar la placa Arduino con Processing si descarga Firmata). El procesamiento escucha en el puerto conectado al Arduino y tiene la capacidad de manipular los datos que se leen en el monitor en serie. Para encontrar el nombre de este puerto, vuelva a consultar su archivo IDE de Arduino y verifique en Herramientas> Puerto.
Proporcioné el código de procesamiento, pero aquí hay una descripción general rápida de cómo funciona el código.
Antes de la función de configuración, asegúrese de tener variables para el puerto, la tabla resultante, la fila con la que trabajaremos y el nombre del archivo. Luego, en la función de configuración, hay parámetros para establecer el tamaño de su ventana Ejecutar, pero esos números no afectan nuestra funcionalidad (por ejemplo, configúrelos en (500, 500)). Cuando esté inicializando el puerto, use el nombre del puerto en forma de cadena y una velocidad en baudios de 9600. Por último, cree las nueve columnas (para las siete categorías de GPS, hora y fecha) para inicializar la tabla.
En la función de dibujo, utilizamos las funciones integradas de fecha y hora para realizar un seguimiento de cuándo se extrae cada conjunto de datos GPS. Ahora, para leer el flujo de datos del Arduino y colocarlo bajo los encabezados apropiados con la fecha y hora correctas, utilizamos expresiones regulares.
Utilizo expresiones regulares para analizar los datos exactos con la función matchAll que busca cualquier expresión entre el signo igual y el punto y coma (los delimitadores que puse en mi código Arduino). Esto posteriormente coloca todas las etiquetas coincidentes, los datos numéricos, en una matriz bidimensional. Luego podemos recurrir a estos índices de matriz para colocarlos debajo de los encabezados de la hoja de Excel.
Para guardar el nuevo archivo.csv, usamos una tecla para cerrar la ventana Ejecutar. Cuanto más espere para presionar una tecla, más datos recopilará. Siguiendo la forma de otra guía, también decidí guardar el archivo en la carpeta de datos con la fecha y la hora como nombre de archivo.
Paso 5: mostrar datos en Tableau Public
El paso final implica cierta visualización de datos. Hay muchos programas para crear y mostrar visualizaciones de datos, es decir, Plotly, pero para este proyecto usaremos Tableau. Abra Tableau Public y abra el archivo de Excel guardado como un archivo de texto. Para crear una hoja de trabajo, haga clic en la Hoja 1 en la parte inferior izquierda.
Dado que estamos trabajando con datos de GPS, usaremos un mapa para representar nuestra información. En la columna de la izquierda donde dice Medidas, arrastraremos Longitud a Columnas y Latitud a Filas en la parte superior. Tableau establece de forma predeterminada ambas medidas en AVG, por lo que debe hacer clic en el menú desplegable junto a los términos y cambiar ambas a Dimensión. Ahora el mapa debería mostrar una ruta usando los valores de latitud y longitud recopilados.
Para limpiar sus datos en busca de errores (lo que también se puede hacer antes de abrir Tableau), puede optar por excluir algunos círculos de ubicación haciendo clic en ellos y seleccionando la opción. Mi módulo GPS no es 100% preciso, ya que algunas partes de mi ruta no se han localizado, pero la ruta general se ha registrado.
Paso 6: refinando la visualización
La última parte es hacer que estos datos sean más legibles. Si desea el contexto de la calle, puede ir a Mapa> Capa de mapa> Calles y carreteras. No dude en experimentar con otras marcas. Arrastré Velocidad sobre Color para mostrar cómo aumenta la intensidad del color cuando aumenta la velocidad. También utilicé Detail en lugar de Label for Course porque Label mostraría los números en el mapa, mientras que solo quería que apareciera información cuando pasas el cursor sobre los puntos de ubicación.
Ahora que ha experimentado todo el proceso de recopilar datos y mostrar lo que tiene en una visualización de datos, ¡puede aplicar esto a otros proyectos!
por Pingdi Huang, verano de 2018
Recomendado:
Cómo hacer una antena 4G LTE Doble BiQuade Pasos sencillos: 3 pasos
Cómo hacer una antena 4G LTE Doble BiQuade Pasos sencillos: La mayoría de las veces que me enfrenté, no tengo una buena intensidad de señal para mis trabajos diarios. Entonces. Busco y pruebo diferentes tipos de antena pero no trabajo. Después de perder el tiempo, encontré una antena que espero hacer y probar, porque es un principio de construcción, no
Diseño de juegos en Flick en 5 pasos: 5 pasos
Diseño de juegos en Flick en 5 pasos: Flick es una forma realmente sencilla de hacer un juego, especialmente algo como un rompecabezas, una novela visual o un juego de aventuras
Detección facial en Raspberry Pi 4B en 3 pasos: 3 pasos
Detección de rostros en Raspberry Pi 4B en 3 pasos: En este Instructable vamos a realizar la detección de rostros en Raspberry Pi 4 con Shunya O / S usando la Biblioteca Shunyaface. Shunyaface es una biblioteca de reconocimiento / detección de rostros. El proyecto tiene como objetivo lograr la velocidad de detección y reconocimiento más rápida con
ESP32 Scraper-parser-mailer y Live Mapper: 4 pasos (con imágenes)
ESP32 Scraper-parser-mailer y Live Mapper: ¡Hola mundo! ¡Este es mi primer Instructable! Soy Marco de Grosseto Italia, no soy un desarrollador, no soy un ingeniero electrónico pero soy un guía ambiental en nuestro parque natural local (parque natural de Maremma). En mi cooperativa trabajamos mucho con canoas
¿Cómo hacer un contador de pasos ?: 3 pasos (con imágenes)
¿Cómo hacer un contador de pasos ?: Solía desempeñarme bien en muchos deportes: caminar, correr, andar en bicicleta, jugar al bádminton, etc. Me encanta andar en bicicleta para viajar en poco tiempo. Bueno, mira mi corpulento vientre … Bueno, de todos modos, decido volver a hacer ejercicio. ¿Qué equipo debo preparar?