Tabla de contenido:

Rastreador de ubicación con NodeMCU ESP8266: 10 pasos
Rastreador de ubicación con NodeMCU ESP8266: 10 pasos

Video: Rastreador de ubicación con NodeMCU ESP8266: 10 pasos

Video: Rastreador de ubicación con NodeMCU ESP8266: 10 pasos
Video: Sistema de Seguimiento en tiempo real (GPS) 2024, Noviembre
Anonim
Rastreador de ubicación con NodeMCU ESP8266
Rastreador de ubicación con NodeMCU ESP8266

¿Tiene curiosidad sobre cómo su NodeMCU puede rastrear su ubicación? Es posible, incluso sin módulo GPS y sin pantalla. La salida serán las coordenadas donde se encuentra y las verá en su monitor de serie.

La siguiente configuración se utilizó para NodeMCU 1.0 (módulo ESP-12E) con Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Paso 1: ¿Qué necesitas?

Lo que necesita para seguir este tutorial son los siguientes componentes:

  • Cable micro USB
  • NodeMCU ESP8266

Además, necesitará:

  • LocationAPI (de Unwired Labs)
  • Acceso a wifi o hotspot

Paso 2: vaya a Unwired Labs

Ir a Unwired Labs
Ir a Unwired Labs

La geolocalización es muy útil porque cuando su GPS está inactivo, aún puede usar la geolocalización para rastrear su ubicación. Nuestro anfitrión que proporciona geolocalización, será https://www.unwiredlabs.com/. Vaya a ese sitio web y regístrese (el botón naranja en la esquina superior derecha).

Paso 3: Regístrese para obtener el token de API

Regístrese para obtener el token de API
Regístrese para obtener el token de API

En la página de registro, debe ingresar su nombre, correo electrónico (su token de API se enviará a su correo electrónico) y caso de uso (por ejemplo, uso personal). Seleccione su tipo de cuenta. La versión gratuita funcionará bien, pero tenga en cuenta que tiene limitaciones y no puede rastrear su ubicación las 24 horas del día, los 7 días de la semana. ¡Empecemos!

Paso 4: revisa tu correo electrónico

Vaya a su correo electrónico y verá su token de API. Copie el token de API, porque lo necesita para el código que usaremos. Así es como se ve el correo electrónico:

¡Hola!

¡Gracias por registrarte en Unwired Labs LocationAPI! Su token de API es 'su código de API está aquí' (sin comillas). Esto le dará 100 solicitudes / día de forma gratuita, para siempre.

Si desea realizar un seguimiento de 5 dispositivos de forma gratuita, responda con los siguientes detalles y actualizaremos su cuenta en un plazo de 12 horas:

1. Tipo de implementación (hardware / aplicación / otro):

2. Acerca de su proyecto:

3. Sitio web:

Puede iniciar sesión en su panel de control aquí: https://unwiredlabs.com/dashboard. Si tienes problemas o preguntas, responde a este correo electrónico y te ayudaré.

¡Feliz localización!

Sagar

Laboratorios sin cables

Paso 5: Bibliotecas que necesitará

Bibliotecas que necesitará
Bibliotecas que necesitará

El siguiente paso es abrir Arduino e ir a administrar bibliotecas. Necesita instalar la biblioteca ArduinoJson. Las otras bibliotecas ya están integradas. Cuando esté listo, puede comenzar a escribir el código.

Paso 6: agregue código en Arduino para conectarse con LocationAPI

Haga un nuevo boceto y agregue el siguiente código en Arduino. Escriba su propio nombre de wifi / hotspot y su contraseña. Pegue el token de API que recibió en el correo electrónico. Sube tu código a tu NodeMCU.

#incluir

#incluir

#include "ESP8266WiFi.h"

// su SSID de red (nombre) y contraseña de red

char myssid = "Nombre de tu punto de acceso / wifi"; char mypass = "Su contraseña";

// URL de punto final de geolocalización y nombre de host de unsiredlabs

const char * Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";

// UnwiredLabs API_Token. Regístrese aquí para obtener un token gratuito

Token de cadena = "d99cccda52ec0b";

String jsonString = "{ n";

// Variables para almacenar la respuesta de unsiredlabs

latitud doble = 0,0; longitud doble = 0,0; doble precisión = 0,0;

configuración vacía () {

Serial.begin (115200);

// Establecer WiFi en modo de estación y desconectarse de un AP si estaba previamente conectado

Modo WiFi (WIFI_STA); WiFi.disconnect (); Serial.println ("Configuración realizada");

// Empezamos por conectarnos a una red WiFi

Serial.print ("Conectando a"); Serial.println (myssid); WiFi.begin (myssid, mypass);

while (WiFi.status ()! = WL_CONNECTED) {

retraso (500); Serial.print ("."); } Serial.println ("."); }

bucle vacío () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks devolverá el número de redes encontradas

int n = WiFi.scanNetworks (); Serial.println ("escaneo hecho");

si (n == 0) {

Serial.println ("No hay redes disponibles"); } else {Serial.print (n); Serial.println ("redes encontradas"); }

// ahora construye el jsonString…

jsonString = "{ n"; jsonString + = "\" token / ": \" "; jsonString + = token; jsonString + =" / ", / n"; jsonString + = "\" id / ": \" saikirandevice01 / ", / n"; jsonString + = "\" wifi / ": [n"; para (int j = 0; j <n; ++ j) {jsonString + = "{ n"; jsonString + = "\" bssid / ": \" "; jsonString + = (WiFi. BSSIDstr (j)); jsonString + =" / ", / n"; jsonString + = "\" señal / ":"; jsonString + = WiFi. RSSI (j); jsonString + = "\ n"; if (j <n - 1) {jsonString + = "}, / n"; } else {jsonString + = "} n"; }} jsonString + = ("] n"); jsonString + = ("} n"); Serial.println (jsonString);

Cliente WiFiClientSecure;

// Conéctese al cliente y realice la llamada a la API

Serial.println ("URL de solicitud: https://" + (String) Host + punto final); if (client.connect (Host, 443)) {Serial.println ("Conectado"); client.println ("POST" + punto final + "HTTP / 1.1"); client.println ("Host:" + (String) Host); client.println ("Conexión: cerrar"); client.println ("Tipo de contenido: aplicación / json"); client.println ("Usuario-Agente: Arduino / 1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); cliente.println (); client.print (jsonString); retraso (500); }

// Leer y analizar todas las líneas de la respuesta del servidor

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (línea); if (root.success ()) {latitud = root ["lat"]; longitud = raíz ["lon"]; exactitud = raíz ["exactitud"];

Serial.println ();

Serial.print ("Latitud ="); Serial.println (latitud, 6); Serial.print ("Longitud ="); Serial.println (longitud, 6); Serial.print ("Precisión ="); Serial.println (precisión); }}

Serial.println ("cerrando conexión");

Serial.println (); client.stop ();

retraso (5000);

}

Paso 7: abra el monitor en serie para ver si está conectado

Vaya a herramientas en Arduino y abra el monitor en serie. Para ver si está conectado a Internet, debería ver lo siguiente en el monitor en serie:

Configuración hecha

Conectando a (su nombre de wifi)… escaneo hecho

Paso 8: Obtenga las coordenadas

Si funcionó con éxito, debería ver debajo del escaneo hecho una lista completa de datos. Lo único que necesitamos es el código debajo de la URL solicitante, por lo que necesitaremos la latitud y la longitud. Estas son las coordenadas.

URL de solicitud:

Conectado

Latitud = 52.385259

Longitud = 5.196099

Precisión = 41,00

cierre de conexión

Después de 5 segundos, el código se actualizará constantemente y probablemente verá cambiar la latitud, la longitud y la precisión. Eso es porque la API está tratando de rastrear la ubicación con la mayor precisión posible.

Paso 9: ve a Google Maps

Ir a Google Maps
Ir a Google Maps

Ve a https://www.google.com/maps/ y escribe tus coordenadas en la barra de búsqueda. Las coordenadas deben escribirse de la siguiente manera: 52.385259, 5.196099. Google Maps debería mostrar dónde se encuentra en el mapa.

Paso 10: envía la ubicación a tu móvil

Enviar ubicación a su móvil
Enviar ubicación a su móvil

¡Y tu estas listo! Por lo tanto, si desea enviar la ubicación a su móvil, es posible. Google Maps le enviará un correo electrónico con sus coordenadas si así lo desea.

¡Feliz localización!

Recomendado: