Tabla de contenido:

LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 pasos (con imágenes)
LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 pasos (con imágenes)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 pasos (con imágenes)

Video: LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 pasos (con imágenes)
Video: NEO 6M GPS Module with Arduino : Introduction Video 2024, Mes de julio
Anonim
Image
Image
Configuración de ThingsBoard
Configuración de ThingsBoard

Introducción y resumen de la parte 1

¡Sí, es hora de otro Instructable en el rastreador GPS SIM7000 con Arduino y LTE! Si aún no lo ha hecho, revise el tutorial de introducción para el escudo Botletics SIM7000 CAT-M / NB-IoT y luego lea la Parte 1 del tutorial de rastreo GPS. Como tal, voy a suponer que tiene todo el hardware configurado y listo para publicar datos en la nube, todo lo que realmente necesitamos hacer en este tutorial es familiarizarnos con ThingsBoard y hacer otra prueba práctica para ver los datos asombrosos que contiene. espectáculos!

En la Parte 1, logramos que nuestro ingenioso rastreador GPS enviara datos a dweet.io y obtuvimos los datos en freeboard.io para visualizar los datos. Sin embargo, pronto me di cuenta de que la funcionalidad del mapa era bastante escasa en el francobordo, ya que no le permite mover el cursor o incluso cambiar el tamaño de la ventana del widget. Esto me llevó a una mejor solución: ThingsBoard.io, que es un tablero de IoT súper impresionante (¡y gratuito!) Que le permite almacenar, visualizar y personalizar al máximo sus datos. Puede arrastrar para reorganizar los widgets (y funciona en Chrome a diferencia del francobordo), y la calidad general es la crema de la cosecha. Lo más importante es que el widget de mapa de Google le permite moverse libremente, acercar y alejar y seleccionar diferentes estilos (satélite, vista de la carretera, etc.) e incluso le permite arrastrar y soltar al pequeño chico amarillo en la carretera para ver la calle. !

Paso 1: Configuración de ThingsBoard

Configuración de ThingsBoard
Configuración de ThingsBoard
Configuración de ThingsBoard
Configuración de ThingsBoard

Configuración de dispositivo y cuenta de ThingsBoard

Lo primero que debe hacer es ir a la página de inicio de ThingsBoard y luego crear una cuenta haciendo clic en el botón de menú superior derecho y seleccionando "Demo en vivo". Cree una cuenta, verifique su cuenta en un correo electrónico que le envíen y luego vuelva a iniciar sesión en la pantalla de inicio de la demostración en vivo. Esto debería llevarlo a una pantalla donde puede administrar todos sus dispositivos, editar paneles, etc.

A continuación, seleccione la pestaña "Dispositivos" en el lado izquierdo. Esto debería mostrar un montón de dispositivos de demostración como ESP8266, DHT22, demostraciones de Arduino y Pi, etc. Cree un nuevo dispositivo haciendo clic en el botón rojo "+" en la parte inferior derecha e ingrese un nombre y elija "predeterminado" para el tipo de dispositivo. Después de hacer clic en "AÑADIR", debería ver su nuevo dispositivo en la pestaña Dispositivos. Haga clic en "Administrar credenciales" y debería ver una pequeña ventana emergente que muestra el token de acceso del dispositivo. Este es esencialmente el ID del dispositivo y es análogo al ID del dispositivo utilizado para publicar datos en dweet.io. Puede cambiar esta ID de dispositivo al número IMEI de su escudo si lo desea, pero también puede usar el token generado automáticamente. Copie este token ya que lo necesitará en el boceto de Arduino.

Configuración de ejemplo de Arduino

En este tutorial usaremos exactamente el mismo boceto de Arduino de ejemplo que en el primer tutorial, pero esta vez he actualizado el boceto para incluir código para enviar datos directamente a ThingsBoard.io en lugar de dweet.io en la Parte 1. Como siempre, puede encontrar el código de ejemplo aquí en Github.

Lo primero que debe hacer es comentar las líneas que hacen que el escudo se publique en dweet.io:

// OBTENER solicitud / * // Puedes ajustar el contenido de la solicitud si no necesitas ciertas cosas como velocidad, altitud, etc. sprintf (URL, "https://dweet.io/dweet/for/%s ? lat =% s & long =% s & speed =% s & head =% s & alt=% s & temp =% s & batt =% s ", imei, latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff);

int contador = 0; // Esto cuenta el número de intentos fallidos

// Prueba un total de tres veces si la publicación no tuvo éxito (prueba 2 veces más) mientras (contador <3 &&! Fona.postData ("GET", URL, "")) {// Agrega las comillas "" como tercero entrada porque para la solicitud GET no hay "cuerpo" Serial.println (F ("Error al publicar datos, reintentando …")); contador ++; // Incrementar el retardo del contador (1000); } * /

A continuación, elimine los comentarios de las líneas que se publican en thingsboard.io:

// Probemos una solicitud POST a thingsboard.io const char * token = "YOUR_DEVICE_TOKEN"; // Desde el dispositivo thingsboard.io sprintf (URL, "https://demo.thingsboard.io/api/v1/%s/telemetry", token); sprintf (cuerpo, "{" latitud / ":% s, \" longitud / ":% s, \" velocidad / ":% s, \" cabeza / ":% s, \" alt / ":% s, / "temp \":% s, / "batt \":% s} ", latBuff, longBuff, speedBuff, headBuff, altBuff, tempBuff, battBuff); // sprintf (cuerpo, "{" lat / ":% s, \" long / ":% s}", latBuff, longBuff); // Si todo lo que quieres es lat / long

int contador = 0;

while (! fona.postData ("POST", URL, cuerpo)) {Serial.println (F ("No se pudo completar HTTP POST…")); contador ++; retraso (1000); }

Sube el código a tu Arduino, asegúrate de tener la tarjeta SIM y la antena conectadas, y verifica que el escudo esté enviando el código a la nube antes de continuar.

NOTA: El Arduino Uno tiene muy poca memoria (RAM) y la publicación en Thingsboard puede hacer que Arduino se bloquee. Si experimenta el reinicio del boceto aproximadamente en la ubicación de la función postData () u otro comportamiento extraño, lo más probable es que eso sea lo que está sucediendo. La solución fácil es cambiar el Uno por un Arduino Mega o una placa con más RAM. También puede intentar minimizar el tamaño de las matrices y dividir los datos en varias publicaciones.

Paso 2: verificar la recepción de datos

Verificar la recepción de datos
Verificar la recepción de datos

Para verificar realmente que los datos se envían correctamente a ThingsBoard, vaya a la misma página de detalles del dispositivo (haga clic en el mosaico del dispositivo GPS Tracker en la página "Dispositivos") y luego haga clic en la pestaña "Última telemetría". Si su rastreador GPS está enviando valores a ThingsBoard, debería ver los valores más recientes aquí y se actualizarán en tiempo real a medida que ingresen.

Ahora que ha verificado que ThingsBoard está obteniendo los datos, es hora de configurar el panel para que podamos visualizar nuestros datos cuando los recopilemos. (O después del hecho)

Paso 3: Configuración del panel

Configuración del panel
Configuración del panel
Configuración del panel
Configuración del panel
Configuración del panel
Configuración del panel

¡Ahora es el momento de la parte divertida! Ahora haga clic en la pestaña "Paneles de control" a la izquierda y seleccione su dispositivo rastreador GPS. Esto debería abrir una nueva página que le pedirá que agregue widgets. Haga clic en el botón "+" de la parte inferior derecha y "crear un nuevo widget" para que aparezca un menú desplegable de widgets para elegir. Por ahora agreguemos un "indicador digital". Seleccionar esto debería cargar un montón de vistas previas para todos los diferentes tipos de medidores digitales entre los que puede elegir. Cuando haga clic en uno, aparecerá otra pantalla para que configure los parámetros del widget. Lo primero que debe agregar es la fuente de datos (su dispositivo rastreador GPS que envía los datos a ThingsBoard). Presione el botón "+ AGREGAR" y seleccione su dispositivo "GPS Tracker" y seleccione la variable apropiada que desea que muestre el widget. En este caso, escojamos la variable "temp" (temperatura).

Ahora, si desea agregar cosas como un título para el widget, vaya a la pestaña "Configuración", marque "Mostrar título" e ingrese un título. Hay muchas otras cosas que puede hacer en la pestaña "Avanzado", ¡pero dejaré que las investigue usted mismo! ¡Diviértase cambiando los rangos de valores, el texto de la etiqueta, los colores y más! Después de agregar el widget, aparecerá en la parte inferior izquierda de su tablero (es posible que deba desplazarse hacia abajo si tiene varios widgets llenando la pantalla). Puede editar el widget en cualquier momento presionando el botón en el widget si ya está en el modo de edición del tablero, o ingrese al modo de edición presionando el botón de lápiz en la parte inferior derecha de toda la pantalla primero para permitirle editar los widgets. ¡Muy claro!

Paso 4: ¡Agregar un mapa

¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!
¡Añadiendo un mapa!

¡Ahora, para un rastreador GPS, un mapa es imprescindible! Agreguemos uno creando un nuevo widget (botón "+" en la parte inferior derecha nuevamente) y esta vez desplácese hacia abajo y seleccione "Mapas". Continúe y haga clic en uno y aparecerán las opciones para él. Agregue la fuente de datos como de costumbre, pero esta vez, seleccione las variables "lat" y "long", ya que necesitará ambas para obtener la ubicación. A continuación, vaya a la pestaña "Configuración" y aquí puede establecer la ventana de tiempo de los datos que se mostrarán en el mapa. Por ejemplo, es posible que solo desee que aparezcan los últimos 2 minutos de datos, o puede que desee todos los datos desde ayer, o tal vez solo desee una ventana fija en el tiempo (como las 2 p.m. de ayer a las 10 a.m. de hoy).

Si lo desea, puede ir a la pestaña "Avanzado" y seleccionar el tipo de mapa (mapa de ruta, satélite, híbrido o terreno). Quizás la parte más importante de todo esto es verificar los nombres de las claves de latitud y longitud. Asegúrese de que estos nombres se correspondan exactamente con los nombres de las variables que está enviando realmente a ThingsBoard. Por ejemplo, si su boceto de Arduino dice que está enviando variables "lat" y "long" (que es por defecto) entonces necesita cambiar los nombres de las teclas a "lat" y "long" y usar "latitude" y "longitude" ¡no recuperará sus datos!

Nuevamente, después de agregar el mapa, aparecerá en la parte inferior del tablero. Simplemente arrástrelo para reposicionarlo en el tablero y haga clic y arrastre los bordes para cambiar su tamaño. Si su ventana de tiempo se configuró correctamente, debería ver su ubicación actual aparecer en el mapa. Super ordenado, ¿eh? ¡Ahora estamos listos para una prueba real!

Paso 5: Prueba de carretera

Prueba en carretera
Prueba en carretera
Prueba en carretera
Prueba en carretera

¡Probar el rastreador GPS es súper simple! Simplemente conecte el Arduino a un adaptador USB de automóvil para encenderlo, asegúrese de que el LED verde se encienda y ¡debería comenzar a enviar datos! Para cambiar la frecuencia de muestreo del rastreador GPS, asegúrese de encontrar esta línea de código en el boceto de ejemplo:

#define samplingRate 10 // El tiempo entre publicaciones, en segundos

y ajústelo a lo que desee. Descubrí que los 10 funcionan bastante bien para una prueba de carretera tranquila, pero si eres rápido y furioso, ¡quizás quieras una frecuencia de muestreo aún mayor!

Paso 6: Resultados

Resultados
Resultados
Resultados
Resultados
Resultados
Resultados

En las imágenes de arriba, puede ver la configuración de mi tablero. Agregué gráficos para graficar datos históricos para cosas como velocidad, altitud y temperatura, y también incluí medidores en tiempo real en caso de que quiera verlos en tiempo real en otro viaje por carretera (¡imagínelo en un RV!).

El mapa era increíblemente impresionante y logré recopilar algunos datos realmente precisos de una ruta que tomé. Además, los datos de velocidad fueron extremadamente precisos porque nunca superamos las 40 mph (el gráfico está en kph) en las carreteras de la ciudad. Las numerosas fluctuaciones de velocidad se explican por los semáforos. En general, excelentes resultados y ¡imagínense para qué más podríamos usar esto! ¡Puede instalar esto en una casa rodante, motocicleta, automóvil, etc. y hacer que se rastree todo el tiempo y muestre los resultados en ThingsBoard!

Para resumir, en este tutorial programamos nuestro rastreador GPS para enviar datos directamente a ThingsBoard a través de solicitudes HTTP POST y administramos los datos en un tablero. Puede agregar varios dispositivos y paneles, cada uno con varios widgets que se ven súper geniales y tienen muchas opciones de personalización. ThingsBoard ha demostrado ser una herramienta muy poderosa (¡y gratuita!) Para ver datos de IoT e incluso hay otras características que ni siquiera he rayado. Siéntete libre de jugar con él y ver qué encuentras.

  • Si le gustó este tutorial, hizo el suyo propio o tiene alguna pregunta, ¡haga un comentario a continuación!
  • ¡Asegúrate de darle un corazón a este Instructable y suscríbete aquí y en mi canal de YouTube para obtener más tutoriales increíbles relacionados con Arduino!
  • Si desea apoyar lo que hago, considere comprar su propio escudo Botletics SIM7000 en Amazon.com.

¡Con eso, te veré la próxima!

Recomendado: