Tabla de contenido:
- Paso 1: Configuración de ThingsBoard
- Paso 2: verificar la recepción de datos
- Paso 3: Configuración del panel
- Paso 4: ¡Agregar un mapa
- Paso 5: Prueba de carretera
- Paso 6: Resultados
Video: LTE Arduino GPS Tracker + IoT Dashboard (Parte 2): 6 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
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 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
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
¡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
¡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
¡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
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:
Síntesis de voz retro. Parte: 12 IoT, automatización del hogar: 12 pasos (con imágenes)
Síntesis de voz retro. Parte: 12 IoT, automatización del hogar: este artículo es el duodécimo de una serie de Instructables de automatización del hogar que documentan cómo crear e integrar un dispositivo de síntesis de voz retro de IoT en un sistema de automatización del hogar existente, incluida toda la funcionalidad de software necesaria para habilitar t
Botletics LTE CAT-M / NB-IoT + GPS Shield para Arduino: 10 pasos (con imágenes)
Botletics LTE CAT-M / NB-IoT + GPS Shield para Arduino: Descripción general El escudo Botletics SIM7000 LTE CAT-M / NB-IoT utiliza la nueva tecnología LTE CAT-M y NB-IoT y también tiene GNSS integrado (GPS, GLONASS y BeiDou). / Brújula, Galileo, estándares QZSS) para el seguimiento de la ubicación. Hay varios módulos de la serie SIM7000
LTE Arduino GPS Tracker + IoT Dashboard (Parte 1): 6 pasos (con imágenes)
LTE Arduino GPS Tracker + IoT Dashboard (Parte 1): Introducción Este Instructable es un seguimiento de mi primer Instructable sobre el uso del escudo Botletics LTE / NB-IoT para Arduino, por lo que si aún no lo ha hecho, léalo para obtener una buena descripción general de cómo usar el escudo y lo que es todo
Controlador de red IoT. Parte 9: IoT, automatización del hogar: 10 pasos (con imágenes)
Controlador de red IoT. Parte 9: IoT, automatización del hogar: descargo de responsabilidad LEA ESTO PRIMERO Este Instructable detalla un proyecto que usa energía de la red (en este caso, Reino Unido 240VAC RMS), mientras que se ha tomado todo el cuidado para usar prácticas seguras y buenos principios de diseño, siempre existe el riesgo de que sea potencialmente letal. electo
IOT BIT (formalmente conocido como PiAnywhere V1.31) Sombrero 4G y LTE para Raspberry Pi: 10 pasos (con imágenes)
IOT BIT (formalmente conocido como PiAnywhere V1.31) Sombrero 4G y LTE para Raspberry Pi: IOT BIT 4G & Sombrero LTE para Raspberry Pi4G (100 mbps hacia abajo / 50 mbps hacia arriba) y ndash; Conectividad a Internet ultrarrápida para su raspberry pi, excelente para grandes descargas y transmisión de video. IOT BIT 4G & Sombrero LTE para la Raspberry Pi Beta provi