En este Blog ya hemos visto usar el módulo NEO6MV2 GPS en dos modos diferentes, NEO6MV2 GPS serial y representando la ubicación en un programa escrito en Python y OpenStreetMaps.
Pero ahora toca salir al exterior y probar el el modulo NEO6Mv2, para esto tenemos Geo6Mv2 for Android un pequeño programa para teléfonos Android con el que nos podemos conectar vía Wifi y ver los datos recibidos en nuestro terminal Android.
Además podemos marcar los puntos que necesitemos y la misma aplicación trazará una linea entre los diferentes puntos.
Configuración de Geo6Mv2:
En su configuración podremos cambiar ciertos parámetros como:
- Use Marks: Opción para usar marcadores sobre la pantalla.
- Big Icon mark: Icono de marcación grande o pequeño.
- Short Mark description: Para cambiar el titulo que aparecera en los marcadores
- Minimun distance to update: Distancia mínima a la que el sensor actualizará la posición. Ideal para mejorar la precisión entre puntos. Si la última posición es mayor a ese valor se creará un nuevo punto en el mapa.
- Custom zoom: Zoom con el que se inicia el programa y cualdo se pulse sobre el botón "Centrar.
- Show data input: Muestra en la pantalla principal los datos que recibe directamente desde el módulo NEO6MV2.
- Show coordinates with one tap: Para mostrar las coordenadas al pulsar sobre el mapa.
- Start point: Latitud y longitud en los que aparece el mapa al iniciar el programa.
También podemos copiar esas coordenadas en el portapapeles y copiarlas donde queramos. Para esto haremos una pulsación larga sobre las coordenadas que aparecen en la parte inferior de la pantalla principal:
Con una interfaz sencilla capaz de mostrar todos los datos recibidos por este sensor de posicionamiento.
La librería que se utiliza es "TinyGPSPlus.h" de Mikal. La librería TinyGPSPlus se puede descargar desde el mismo gestor de bibliotecas del que dispone el IDE de Arduino.
Con la librería instalada, descargamos el programa para el ESP8266 geo6mv2-for-android desde GitHub. En este caso la placa que vamos será un NodeMCU 1.0, aunque puede servir cualquier ESP8266 al que le podamos añadir una entrada serial extra con la librería "SoftwareSerial.h". Este es el diagrama de conexiones.
Recuerda que los pines D3(tx) y D4(rx) corresponden a los GPIO 2(tx) y 0(rx). Esto suele crear confusión a la hora de definir los pines. Revisa la hoja de datos de tu placa para evitar posibles errores.
Configuración Geo6mv2-for-android.ino
Unicamente tenemos que configurar la conexión wifi a la que nos vamos a conectar completando los parámetros YOUR_SSID y WIFI_PASSWORD.
const char* ssid = "YOUR_SSID";
const char* password = "WIFI_PASSWORD";
- Wifi en red local
- Android en modo punto de acceso (AP)
Red Local:
Este es el router wifi o punto de acceso que tenemos normalmente en casa, el inconveniente es que solo nos podemos mover en el rango que nos permita el router. En este caso YOUR_SSID y PASSWORD serán las mismas que utilizas para conectar cualquier dispositivo Wifi.
Android en modo punto de acceso (AP):

Esta es la mejor opción para exteriores. Se encuentra en la configuración del propio teléfono, su acceso dependerá de la versión de Android que estemos usando.
Ya en la pantalla de configuración nos muestra el SSID y pulsando sobre Hotspot password nos mostrará el password de la red.
Copiamos estos datos en YOUR_SSID y WIFI_PASSWORD y ya tenemos los datos de la red para exteriores.
Nota:
En algunos modelos de Android es necesario desactivar el Wifi "normal" antes de empezar con la conexión con Arduino
Subir el programa al ESP8266 NodeMCU:
Si ya has configurado la red wifi el último paso es subir el programa al ESP8266 seleccionando el puerto donde este conectado COM X para Windows o /dev/ttyUSBX si usas Linux.
Con la placa y el puerto seleccionado, pulsamos sobre el botón "cargar".
En cualquiera de los dos casos, red local o punto de acceso, cuando abrimos el monitor serial del IDE de Arduino nos aparece la IP a la que nos tenemos que conectar desde el dispositivo Android:
Primera conexión
La primera conexión que realiza el módulo puede demorar más de un minuto dependiendo de la cobertura que tengamos. Recuerda que si estas en un interior poner el módulo cerca de una ventana para mejorar la recepción.
Abrimos el programa que ya tenemos descargado en nuestro dispositivo Android y pulsamos sobre el menú en la opción "Start Wifi y se abrirá la siguiente pantalla:
Y pulsamos sobre el botón "Connect!
Ahora solo hay que esperar a que el módulo Neo6MV2 tenga los suficientes satélites para que podamos fijar la posición.
Como al iniciar el programa aparecemos en Madrid, este valor se puede cambiar para iniciar en la localización que más nos guste. Pulsamos sobre "Add mark" para fijar la posición que recibimos desde el ESP8266 y seguidamente pulsamos "Center" para central la última marcha creada.
Podemos crear todas las marcas que necesitemos y al pulsar sobre ellas si abrirá una ficha con los datos de la posición.
Aquí tienes los programas para probar el módulo NEO6MV2 GPS:
Descargar Geo6MV2 GPS for Android desde GitHub Arduino
Descargar Geo6MV2 for Android desde Play Store Android
Saludos!!!