Tabla de contenido
resumen
Esta publicación es sobre el NodeMCU ESP8266 y un rastreador GPS en tiempo real basado en IoT con Blynk y Google Maps. Anteriormente hicimos GSM + rastreador de ubicación basado en GPS Rastree la ubicación del vehículo. En lugar del módulo GSM, utilice el módulo ESP8266WiFi para rastrear la ubicación.
Ser Rastreador GPS es un dispositivo de navegación que se encuentra comúnmente a bordo de un vehículo, activo, persona o animal que utiliza el Sistema de Posicionamiento Global (GPS) para determinar su movimiento y ubicación geográfica. Los dispositivos de rastreo GPS transmiten señales satelitales especiales que son procesadas por el receptor. La ubicación se almacena en la unidad de seguimiento o se transmite a un dispositivo conectado a Internet utilizando una red celular mundial o WiFi. Un rastreador GPS se conecta a una serie de satélites para determinar su ubicación. El rastreador utiliza un proceso llamado trilateración que utiliza la posición de tres o más satélites de la red del Sistema Global de Navegación por Satélite (GNSS) y la distancia desde ellos para determinar la latitud, longitud, altitud y tiempo.
Este proyecto utiliza el módulo GPS Quectel L86 para interactuar con la placa NodeMCU ESP8266. En lugar del módulo GPS Quectel L86, también puede utilizar el módulo GPS Neo-6M u otros módulos GPS similares. Utiliza la biblioteca TinyGPS para determinar la latitud, longitud, velocidad, rumbo y ubicación en el mapa. Envía todos estos parámetros a la aplicación Blynk y monitorea los datos en tiempo real junto con un mapa en el panel de control de Blynk.
Puede consultar proyectos anteriores basados en rastreadores GPS.
Lista de materiales
Para crear un sistema de rastreo GPS en tiempo real basado en ESP8266, necesita los siguientes componentes: Todos estos componentes se pueden comprar en línea en Amazon.
Módulo GPS Cuektel L86/L80
L86 es la solución perfecta para dispositivos portátiles de fitness. Diseño ultracompacto Y Bajo consumo de energía Pedir. Sus características de bajo consumo de energía permiten Conexión GPS Consumo de energía de aproximadamente la mitad del consumo de energía del modo normal durante el modo de recepción estática. Su precisión combinada con una alta sensibilidad hace que el L86 sea adecuado para una amplia gama. Aplicaciones de IoT Dispositivos portátiles, automoción, seguimiento personal, seguridad, PDAs industriales, etc.
L86 Antena de parche Medición en la parte superior 16,0 mm × 16,0 mm × 6,45 mmY 66 canales de adquisición Y 22 canales de seguimientoAdquiera y rastree satélites en el menor tiempo posible, incluso a nivel de señal interior. El módulo funciona con 2.8V ~ 4.3V El consumo de energía típico es inferior a 1 μA. 20mA En el modo de espera, el consumo de energía es de aproximadamente 1.0mA. Para obtener más información acerca del módulo GPS L86, consulte Hoja de datos de L86.
El módulo GPS Quectel L86/L80 tiene 12 pines como se muestra en la imagen de abajo.
El L86 es un pequeño módulo de tipo SMD sin un pin de cabecera macho/hembra para pruebas. Por lo tanto, puede usar pines de cabezal macho espaciados 2.54 para soldar a la PCB L86 desde abajo.
Cuando los 12 pines del módulo L86 están soldados, el módulo está listo para la placa de pruebas. Ahora puede insertar fácilmente el módulo en la placa de pruebas.
Circuito GPS tracker usando ESP8266
Ahora, pasemos a la parte del proyecto y creemos un rastreador GPS en tiempo real usando ESP8266 y Blynk. El diagrama de conexión es bastante simple.
Conecte el módulo GPS L86 VCC/GND al 3.3V/GND del nodo MCU ESP8266. No suministre más de 3.3V. Del mismo modo, conecte la copia de seguridad VCC (V_BCKP) a VCC o a una batería externa. No funcionará si este pin no está encendido.
Conecte el RX/TX del L86 al D1/D2 del nodo MCU. Para la comunicación en serie utilizando software serial.
Puede usar cables de puente para conectarlos directamente, o puede usar una placa de pruebas para ensamblar el circuito. Por lo tanto, el hardware del rastreador GPS con el ESP8266 está listo.
Proyecto PCB Gerber File & PCB Ordering Online
Si no necesita ensamblar circuitos en una placa de pruebas y su proyecto necesita una PCB, esta es la PCB para usted. La placa PCB del ESP8266 es EDA fácil Herramientas de diseño de PCB y esquemáticos en línea. Diseñe primero el esquema y luego conviértalo en PCB.
El archivo Gerber de la PCB se muestra a continuación. Simplemente descargue el archivo Gerber y solicite la PCB. Todas las placas de circuito impreso Y $1$ Solamente.
Puede usar este archivo Gerber para solicitar una PCB de alta calidad para este proyecto. Para ello, Todas las placas de circuito impreso Visite el sitio web oficial haga clic aquí: https://www.allpcb.com/.
Con esto[今すぐ引用]Puede seleccionar una opción para cargar su archivo Gerber. De estas opciones, puede seleccionar el tipo de material, las dimensiones, la cantidad, el grosor, el color de la máscara de soldadura y otros parámetros requeridos.
Una vez que haya ingresado todos los detalles, seleccione su país y método de envío. Finalmente, puede realizar un pedido.
Configuración de la aplicación Blynk
Utilizaremos la aplicación Blynk para monitorizar la ubicación GPS y todos sus valores. La aplicación Blynk también le da acceso a Google Maps.
Parpadear es una nueva plataforma que le permite crear rápidamente interfaces para controlar y monitorear proyectos de hardware desde dispositivos iOS y Android. Una vez que haya descargado la aplicación Blynk, puede crear un panel de control del proyecto y colocar botones, controles deslizantes, gráficos y otros widgets en su pantalla.
Vaya a su tienda de juegos Android y descargue la aplicación Blynk.
Regístrese con su ID de correo electrónico y contraseña o cree una cuenta si es nuevo.
A continuación, seleccione ESP8266 y Conexión como WiFi para crear un nuevo proyecto. Por lo tanto, se crea el proyecto y se envía un token de autenticación a su correo electrónico.
Copie este token de autenticación porque lo necesitará en su código Arduino. Sin este token, el ESP8266 no podrá establecer una conexión con Blynk.
A continuación, necesitamos crear un widget con 6 parámetros diferentes.
Latitude – Valor de visualización – Pin virtual V1
Longitud – Valor de visualización – Pin virtual v2
Satélite – Valor de visualización – Pin virtual V3
Velocidad – Visualización de valor – Pin virtual V4
Rodamiento – Visualización del valor – Pin virtual V5
Mapa – Mapa – Pin virtual V0
Una vez que se hayan creado todos los widgets y se hayan asignado valores, el panel debería verse así:
Ahora ha completado la configuración de su rastreador GPS basado en ESP8266 con Blynk. Así que estás listo para comenzar.
ESP8266 Basado en GPS Tracker Código fuente/Programa
El código para el sistema de rastreo GPS está escrito en el IDE de Arduino. Este códigoestá escrito usando una combinación de los ejemplos de la biblioteca TinyGPS y el código de ejemplo de Blynk.
Para compilar el código, necesita dos bibliotecas: Puede descargar estas bibliotecas y agregarlas a su carpeta de biblioteca Arduino.
1. Pequeña biblioteca GPS ++: https://github.com/mikalhart/TinyGPSPlus
2. Biblioteca Blink ESP8266: https://github.com/blynkkk/blynk-library
Debe cambiar algunas líneas de este código. Ingrese el SSID WiFi, la contraseña y el código de autenticación de Blynk.
chamuscar autenticación[] = “************************”; Token de autenticación de Blynk chamuscar SSID[] = “************************”; SSID de LAN inalámbrica chamuscar pasar[] = “************************”; Contraseña de LAN inalámbrica |
Aquí está el código completo para el ESP8266 y el rastreador GPS en tiempo real usando Blynk y Maps: Copie el código y cárguelo en su placa NodeMCU ESP8266.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | #include <TinyGPS++.h> #include <SoftwareSerial.h> #define BLYNK_PRINT Cereales #include <ESP8266WiFi.h> #include < Blink Simple Esp8266.h> estático constante entero Teletipo = 4, TXPin = 5; GPIO 4 = D2 (conexión GPS Tx) y GPIO 5 = D1 (conexión GPS Rx conectada) estático constante uint32_t GPS Bo = 9600; Si la velocidad en baudios 9600 no funcionó, use 4800 TinyGPSPlus para GPS; Objeto TinyGPS++ Mapa de widgets Mapas(V0); Widget de mapa Pin virtual V0 Software Serie Migpus(Teletipo, TXPin); Conexión serie a un dispositivo GPS Temporizador de parpadeo temporizador; flotar latitud; Ahorro de latitud flotar longitud; Ahorro de longitud flotar velocidad; Variable para almacenar velocidad flotar Sábado; Variable que almacena el número de respuesta del satélite hilo cojinete; Variables que almacenan la orientación y dirección del GPS chamuscar autenticación[] = “********************”; Token de autenticación de Blynk chamuscar SSID[] = “********************”; SSID de LAN inalámbrica chamuscar pasar[] = “********************”; Contraseña de LAN inalámbrica move_index int sin firmar; Mover índices, para su uso posterior Unsigned entero move_index = 1; Ubicación fija por ahora No válido arreglo() { serial.empezar(115200); serial.Printrung(); Migpus.empezar(GPS Bo); Parpadear.empezar(autenticación, SSID, pasar); temporizador.Establecer intervalo(5000 litros, GPS de inspección); Comprueba si el GPS está conectado cada 5 segundos, pero en realidad solo necesitas hacerlo una vez } No válido GPS de inspección() { Si (para GPS.Carácter procesado() < 10) { serial.Printrung(F(“GPS no detectado, verifique el cableado”.)); Parpadear.Escritura virtual(V3, “Error de GPS”); Widget de visualización de valor V3 cuando no se detecta GPS } } No válido bucle() { mientras (Migpus.disponible() > 0) { Sketch muestra información cada vez que se codifica correctamente una nueva instrucción. Si (para GPS.codificar(Migpus.leer())) Mostrar información(); } Parpadear.correr(); temporizador.correr(); } No válido Mostrar información() { Si (para GPS.lugar.válido() ) { Sábado = para GPS.satélite.valor(); Obtener el número de satélites latitud = (para GPS.lugar.latitud()); Almacene lat y ron. longitud = (para GPS.lugar.Gas natural licuado()); velocidad = para GPS.velocidad.Mph(); Obtener velocidad cojinete = TinyGPSPlus::cardenal(para GPS.curso.valor()); Obtener indicaciones serial.Impresión(“SATS: “); serial.Printrung(Sábado); Posición flotante a x decimales serial.Impresión(“Latitud: “); serial.Printrung(latitud, 6); Posición flotante a x decimales serial.Impresión(“Longitud: “); serial.Printrung(longitud, 6); serial.Impresión(“Velocidad: “); serial.Impresión(velocidad); serial.Printrung(“Kumfu”); serial.Impresión(“Dirección: “); serial.Printrung(cojinete); Parpadear.Escritura virtual(V1, hilo(latitud, 6)); Parpadear.Escritura virtual(V2, hilo(longitud, 6)); Parpadear.Escritura virtual(V3, Sábado); Parpadear.Escritura virtual(V4, velocidad); Parpadear.Escritura virtual(V5, cojinete); Mapas.lugar(move_index, latitud, longitud, 「GPS_Location」); } serial.Printrung(); } |
Prueba de rastreo GPS en tiempo real
Después de cargar el código, abra el monitor serie. El ESP8266 intenta conectarse a una red WiFi. Cuando se conecta a una red WiFi, el módulo GPS comenzará a buscar el satélite más cercano. Puede tomar algún tiempo obtener una ubicación basada en las condiciones exteriores interiores.
Cuando adquiere datos de satélite, se muestran la latitud, longitud, velocidad, rumbo y número del satélite al que desea conectarse.
Ahora puede abrir la aplicación Blynk y hacer clic en el botón de reproducción en la esquina superior derecha.
La aplicación Blynk comenzará inmediatamente a mostrar todos los datos anteriores junto con la ubicación de Google Maps.
Ahora puede usar este dispositivo GPS para colocarlo en su vehículo o cualquier activo y rastrear su ubicación en tiempo real. El rastreador siempre debe estar conectado a la red WiFi.
Video Tutorial y Guía
ESP8266 y rastreador de ubicación GPS en tiempo real con Blynk y Google Maps