Tabla de contenido:
- Paso 1: Piezas y herramienta
- Paso 2: Encuentra la API de Google
- Paso 3: Configurar NodeMCu en Arduino IDE
- Paso 4: descargue la biblioteca ArduinoJson
- Paso 5: Programa
Video: GEOLOACACIÓN: 5 Pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Es mi proyecto de prácticas de verano. Realmente me sorprende cuando escucho que podemos rastrear la ubicación de cualquier dispositivo sin usar el módulo GPS solo usando NodeMCU. A través de esto podemos rastrear cualquier dispositivo. También sorprende cómo podemos rastrear un dispositivo usando solo WiFi. Aquí está la descripción del tipo para entenderlo.
- · Es escanea tu casi todo WiFi.
- · Enviar la ubicación de este dispositivo a Google mediante la API de Google
- · De acuerdo con esto, es localizar la ubicación de su dispositivo
- · Tiene una conexión de red sólida para este proyecto.
Paso 1: Piezas y herramienta
Partes
- NodeMCU (ESP8266 1.0 12E)
- Cable USB
Instrumentos
Arduino IDE con placa NodeMcu 1.0 12E
API de Google
Paso 2: Encuentra la API de Google
- Abra su navegador y escriba: console.developer.google.com
- Crea un nuevo proyecto
- Después de Crear un nuevo proyecto, haga clic en la credencial.
- Haga clic en API Key
-
Se ha generado su clave de API
Para una mejor comprensión, consulte la siguiente imagen |>
Paso 3: Configurar NodeMCu en Arduino IDE
- Descargue Arduino IDE desde el siguiente enlace: - https:// www. Principal / Software arduino.cc/en/
- Agregar placa Node MCu en Arduino IDE
-
Para cargar código en NodeMCU, debe agregar la placa NodeMCu en ARDUINO IDE.
- Vaya a archivo y preferencia en Arduino IDE
- Y en la sección de administración de la Junta Adicional copie el siguiente enlace
- arduino.esp8266.com/stable/package_esp8266c…
- y haga clic en Aceptar
- El tablero está descargado
- Vaya a las herramientas y el tablero y seleccione NodeMCU 1.0 12E
- Vea la imagen de avobe para entender fácilmente
Paso 4: descargue la biblioteca ArduinoJson
- Ve a la
Sketch Incluir biblioteca Administrar biblioteca
Escriba Arduino Json en el cuadro de búsqueda
Descargue la última versión de la biblioteca ArduinoJson
después de descargar la biblioteca, haga clic en cerrar
Agregar biblioteca desde
SketchincludeLibraryArduinoJson
Paso 5: Programa
Cargue el siguiente programa en la placa NodeMCU. y vea la ubicación de su dispositivo (placa NodeMCU 1.0 12E) en el monitor serial.
#incluir
#incluir
#incluir
char myssid = "Su SSID"; // el SSID de su red (nombre)
char mypass = "Su contraseña"; // su contraseña de red
// Credenciales para la API de ubicación geográfica de Google…
const char * Host = "www.googleapis.com";
String thisPage = "/ geolocalización / v1 / geolocate? Key =";
// --- Obtener una clave ap de Google Maps aquí:
developers.google.com/maps/documentation/geolocation/intro
String key = "Su clave de API de Google"; // Buscar en el paso 2
Instrucción
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
latitud doble = 0,0;
longitud doble = 0,0;
doble precisión = 0,0;
int more_text = 1; // establecer en 1 para obtener más resultados de depuración
configuración vacía () {
Serial.begin (9600);
Serial.println ("Inicio");
// Establecer WiFi en modo de estación y
desconectarse de un AP si estaba previamente conectado
Modo WiFi (WIFI_STA);
WiFi.disconnect ();
retraso (100);
Serial.println ( Configuración
hecho );
// Empezamos por conectarnos a un
Red Wi Fi
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;
Serial.println ("inicio de escaneo");
// WiFi.scanNetworks volverá
la cantidad de redes encontradas
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
si (n == 0)
Serial.println ("no se encontraron redes");
demás
{
Serial.print (n);
Serial.println ("redes encontradas …");
if (more_text) {
// Imprime el json formateado …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // este es un verdadero MCC del Reino Unido
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // y una verdadera multinacional del Reino Unido
Serial.println ("\" radioType / ": \" gsm / ","); // para gsm
Serial.println ("\" operador / ": \" Vodafone / ","); // asociado a Vodafone
Serial.println ("\" cellTowers / ": ["); // No estoy reportando ninguna torre celular
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
para (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
si (i <n - 1)
{
Serial.println ("},");
}
demás
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// ahora construye el jsonString…
jsonString = "{ n";
jsonString + = "\" homeMobileCountryCode / ": 234, / n"; // este es un verdadero MCC del Reino Unido
jsonString + = "\" homeMobileNetworkCode / ": 27, / n"; // y una verdadera multinacional del Reino Unido
jsonString + = "\" radioType / ": \" gsm / ", / n"; // para gsm
jsonString + = "\" operador / ": \" Vodafone / ", / n"; // asociado a Vodafone
jsonString + = "\" wifiAccessPoints / ": [n";
para (int j = 0; j <n; ++ j)
{
jsonString + = "{ n";
jsonString + = "\" macAddress / ": \" ";
jsonString + = (WiFi. BSSIDstr (j));
jsonString + = "\", / n ";
jsonString + = "\" signalStrength / ":";
jsonString + = WiFi. RSSI (j);
jsonString + = "\ n";
si (j <n - 1)
{
jsonString + = "}, / n";
}
demás
{
jsonString + = "} n";
}
}
jsonString + = ("] n");
jsonString + = ("} n");
//--------------------------------------------------------------------
Serial.println ("");
Cliente WiFiClientSecure;
// Conéctese al cliente y realice la llamada a la API
Serial.print ("URL de solicitud:");
// ---- Obtenga la clave de API de Google Maps aquí, enlace:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-AQUÍ");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Conectado");
client.println ("POST" + thisPage + clave + "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 ()) {
Línea de cadena = cliente.readStringUntil ('\ r');
if (more_text) {
Serial.print (línea);
}
JsonObject & root = jsonBuffer.parseObject (línea);
if (root.success ()) {
latitud = raíz ["ubicación"] ["lat"];
longitud = raíz ["ubicación"] ["lng"];
exactitud = raíz ["exactitud"];
}
}
Serial.println ("cerrando conexión");
Serial.println ();
client.stop ();
Serial.print ("Latitud =");
Serial.println (latitud, 6);
Serial.print ("Longitud =");
Serial.println (longitud, 6);
Serial.print ("Precisión =");
Serial.println (precisión);
retraso (10000);
Serial.println ();
Serial.println ("Reiniciando …");
Serial.println ();
retraso (2000);
}
Recomendado:
Cómo hacer una antena 4G LTE Doble BiQuade Pasos sencillos: 3 pasos
Cómo hacer una antena 4G LTE Doble BiQuade Pasos sencillos: La mayoría de las veces que me enfrenté, no tengo una buena intensidad de señal para mis trabajos diarios. Entonces. Busco y pruebo diferentes tipos de antena pero no trabajo. Después de perder el tiempo, encontré una antena que espero hacer y probar, porque es un principio de construcción, no
Diseño de juegos en Flick en 5 pasos: 5 pasos
Diseño de juegos en Flick en 5 pasos: Flick es una forma realmente sencilla de hacer un juego, especialmente algo como un rompecabezas, una novela visual o un juego de aventuras
Detección facial en Raspberry Pi 4B en 3 pasos: 3 pasos
Detección de rostros en Raspberry Pi 4B en 3 pasos: En este Instructable vamos a realizar la detección de rostros en Raspberry Pi 4 con Shunya O / S usando la Biblioteca Shunyaface. Shunyaface es una biblioteca de reconocimiento / detección de rostros. El proyecto tiene como objetivo lograr la velocidad de detección y reconocimiento más rápida con
¿Cómo hacer un contador de pasos ?: 3 pasos (con imágenes)
¿Cómo hacer un contador de pasos ?: Solía desempeñarme bien en muchos deportes: caminar, correr, andar en bicicleta, jugar al bádminton, etc. Me encanta andar en bicicleta para viajar en poco tiempo. Bueno, mira mi corpulento vientre … Bueno, de todos modos, decido volver a hacer ejercicio. ¿Qué equipo debo preparar?
Espejo de tocador de bricolaje en sencillos pasos (usando tiras de luces LED): 4 pasos
Espejo de tocador de bricolaje en sencillos pasos (usando tiras de luces LED): En esta publicación, hice un espejo de tocador de bricolaje con la ayuda de las tiras de LED. Es realmente genial y debes probarlos también