Taula de continguts:
- Pas 1: peces i eines
- Pas 2: cerqueu l'API de Google
- Pas 3: configureu NodeMCu a Arduino IDE
- Pas 4: descarregueu la biblioteca ArduinoJson
- Pas 5: programa
Vídeo: GEOLOACACIÓ: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
És el meu projecte de pràctiques d’estiu. Em sorprèn quan sento que podem rastrejar la ubicació de qualsevol dispositiu sense utilitzar el mòdul GPS només mitjançant NodeMCU. Mitjançant això podem rastrejar qualsevol dispositiu. També us sorprèn com podem rastrejar el dispositiu només amb WiFi. Aquí teniu la descripció de l’ordenació per entendre-la.
- · És escanejar la pràctica totalitat del WiFi.
- · Envieu la ubicació d'aquest dispositiu a Google mitjançant l'API de Google
- · Segons això, es localitza la ubicació del dispositiu
- · Teniu una connexió de xarxa forta per a aquest projecte.
Pas 1: peces i eines
Parts
- NodeMCU (ESP8266 1.0 12E)
- Cable USB
Eines
IDE Arduino amb placa NodeMcu 1.0 12E
API de Google
Pas 2: cerqueu l'API de Google
- Obriu el navegador i escriviu: console.developer.google.com
- Crea un projecte nou
- Després de crear un nou projecte, feu clic a la credencial
- Feu clic a la clau API
-
S'ha generat la vostra clau API
Per a una comprensió més fàcil, vegeu la següent imatge |>
Pas 3: configureu NodeMCu a Arduino IDE
- Descarregueu Arduino IDE des de l'enllaç següent: - https:// www. Principal / Programari arduino.cc/ca/
- Afegiu la placa Node MCu a Arduino IDE
-
Per penjar codi a NodeMCU, heu d’afegir la placa NodeMCu a ARDUINO IDE.
- VES al fitxer i preferències en Arduino IDE
- I a la secció Administradors de consells addicionals, copieu el següent enllaç
- arduino.esp8266.com/stable/package_esp8266c…
- i feu clic a D'acord
- Es descarrega el tauler
- Aneu a les eines i al tauler i seleccioneu NodeMCU 1.0 12E
- Vegeu la imatge d’avobe per entendre-la fàcilment
Pas 4: descarregueu la biblioteca ArduinoJson
- Aneu al
Sketch Include Library Gestiona la biblioteca
Escriviu Arduino Json al quadre de cerca
Descarregueu la versió més recent de la biblioteca ArduinoJson
després de descarregar la biblioteca, feu clic a Tanca
Afegeix una biblioteca des de
SketchincludeLibraryArduinoJson
Pas 5: programa
Pengeu el següent programa al tauler NodeMCU. i vegeu la ubicació del dispositiu (placa NodeMCU 1.0 12E) al monitor sèrie.
#incloure
#incloure
#incloure
char myssid = "El vostre SSID"; // el vostre SSID de xarxa (nom)
char mypass = "La vostra contrasenya"; // la vostra contrasenya de xarxa
// Credencials per a l'API de Google GeoLocation …
const char * Host = "www.googleapis.com";
Cadena thisPage = "/ geolocalització / v1 / geolocalitzar? Clau =";
// --- Obteniu una clau d'ap Google Maps aquí:
developers.google.com/maps/documentation/geolocation/intro
String key = "La vostra clau API de Google"; // Cerqueu des del pas 2
Instrucció
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
doble latitud = 0,0;
doble longitud = 0,0;
doble precisió = 0,0;
int more_text = 1; // s'estableix a 1 per obtenir més sortida de depuració
configuració nul·la () {
Serial.begin (9600);
Serial.println ("Inici");
// Estableix WiFi al mode d’estació i
desconnecteu d’un AP si anteriorment estava connectat
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
retard (100);
Serial.println ( Configuració
fet );
// Comencem connectant-nos a a
Xarxa WiFi
Serial.print ( Connexió a
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
retard (500);
Serial.print (".");
}
Serial.println (".");
}
bucle buit () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("inici de digitalització");
// Tornarà WiFi.scanNetworks
el nombre de xarxes trobades
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
if (n == 0)
Serial.println ("no s'ha trobat cap xarxa");
en cas contrari
{
Serial.print (n);
Serial.println ("xarxes trobades …");
if (more_text) {
// Imprimiu el format json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // aquest és un autèntic MCC del Regne Unit
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // i un autèntic MNC del Regne Unit
Serial.println ("\" radioType / ": \" gsm / ","); // per gsm
Serial.println ("\" carrier / ": \" Vodafone / ","); // associat amb Vodafone
Serial.println ("\" cellTowers / ": ["); // No informaré de cap torre cel·lular
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
for (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" adreça mac / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
si (i <n - 1)
{
Serial.println ("}");
}
en cas contrari
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// ara construeix el jsonString …
jsonString = "{ n";
jsonString + = "\" homeMobileCountryCode / ": 234, / n"; // aquest és un autèntic MCC del Regne Unit
jsonString + = "\" homeMobileNetworkCode / ": 27, / n"; // i un autèntic MNC del Regne Unit
jsonString + = "\" radioType / ": \" gsm / ", / n"; // per gsm
jsonString + = "\" carrier / ": \" Vodafone / ", / n"; // associat amb Vodafone
jsonString + = "\" wifiAccessPoints / ": [n";
per a (int j = 0; j <n; ++ j)
{
jsonString + = "{ n";
jsonString + = "\" adreça mac / ": \" ";
jsonString + = (WiFi. BSSIDstr (j));
jsonString + = "\", / n ";
jsonString + = "\" signalStrength / ":";
jsonString + = WiFi. RSSI (j);
jsonString + = "\ n";
si (j <n - 1)
{
jsonString + = "}, / n";
}
en cas contrari
{
jsonString + = "} n";
}
}
jsonString + = ("] n");
jsonString + = ("} n");
//--------------------------------------------------------------------
Serial.println ("");
Client WiFiClientSecure;
// Connecteu-vos al client i feu la trucada API
Serial.print ("URL sol·licitant:");
// ---- Obteniu la clau API de Google Maps aquí, enllaç:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-AQUÍ");
Serial.println ("");
if (client.connect (Amfitrió, 443)) {
Serial.println ("Connectat");
client.println ("POST" + thisPage + key + "HTTP / 1.1");
client.println ("Amfitrió:" + (Cadena) Amfitrió);
client.println ("Connexió: tancar");
client.println ("Tipus de contingut: aplicació / json");
client.println ("Agent d'usuari: Arduino / 1.0");
client.print ("Longitud del contingut:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
retard (500);
}
// Llegiu i analitzeu totes les línies de
la resposta del servidor
while (client.available ()) {
Línia de cadena = client.readStringUntil ('\ r');
if (more_text) {
Serial.print (línia);
}
JsonObject & root = jsonBuffer.parseObject (línia);
if (root.success ()) {
latitud = arrel ["ubicació"] ["lat"];
longitud = arrel ["ubicació"] ["lng"];
exactitud = arrel ["precisió"];
}
}
Serial.println ("tancament de la connexió");
Serial.println ();
client.stop ();
Serial.print ("Latitud =");
Serial.println (latitud, 6);
Serial.print ("Longitud =");
Serial.println (longitud, 6);
Serial.print ("Precisió =");
Serial.println (precisió);
retard (10000);
Serial.println ();
Serial.println ("Reiniciant …");
Serial.println ();
endarreriment (2000);
}
Recomanat:
Disseny de jocs en Flick en 5 passos: 5 passos
Disseny de jocs en Flick en 5 passos: Flick és una manera molt senzilla de fer un joc, sobretot com un trencaclosques, una novel·la visual o un joc d’aventures
Detecció de cares a Raspberry Pi 4B en 3 passos: 3 passos
Detecció de cares a Raspberry Pi 4B en 3 passos: en aquest manual, farem la detecció de cares a Raspberry Pi 4 amb Shunya O / S mitjançant la biblioteca Shunyaface. Shunyaface és una biblioteca de reconeixement / detecció de cares. El projecte té com a objectiu aconseguir una velocitat de detecció i reconeixement més ràpida amb
Com fer un comptador de passos ?: 3 passos (amb imatges)
Com fer un comptador de passos ?: Jo solia tenir un bon rendiment en molts esports: caminar, córrer, anar en bicicleta, jugar a bàdminton, etc. M’encanta viatjar poc després. Bé, mireu el meu ventre corpulent … Bé, de totes maneres, decideixo tornar a començar a fer exercici. Quin equip he de preparar?
Mirall de vanitat de bricolatge en passos senzills (amb llums de tira LED): 4 passos
Mirall de vanitat de bricolatge en passos senzills (amb llums de tires LED): en aquest post vaig crear un mirall de vanitat de bricolatge amb l'ajut de les tires LED. És molt genial i també heu de provar-les
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): 6 passos
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): voleu espantar els vostres amics i fer soroll a Halloween? O simplement voleu fer una bona broma? Aquesta pantalla emergent de Zombies ho pot fer! En aquest instructiu us ensenyaré a fer zombis fàcilment amb Arduino. L'HC-SR0