Cuprins:
- Pasul 1: Piese și instrument
- Pasul 2: Găsiți Google API
- Pasul 3: Configurați NodeMCu pe Arduino IDE
- Pasul 4: Descărcați ArduinoJson Library
- Pasul 5: Program
Video: GEOLOACAȚIE: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Este proiectul meu de stagiu de vară. Mă surprind cu adevărat când aud că putem urmări locația oricărui dispozitiv fără a utiliza modulul GPS doar folosind NodeMCU. Prin aceasta putem urmări orice dispozitiv. De asemenea, surprindeți cum putem urmări dispozitivul folosind doar WiFi. Iată descrierea sortării pentru a o înțelege.
- · Scanează aproape toate conexiunile WiFi.
- · Trimiteți locația acestui dispozitiv către Google utilizând Google API
- · În conformitate cu acest lucru, este localizarea locației dispozitivului dvs.
- · Aveți o conexiune de rețea puternică pentru acest proiect.
Pasul 1: Piese și instrument
Părți
- NodeMCU (ESP8266 1.0 12E)
- Cablu USB
Instrumente
Arduino IDE cu placa NodeMcu 1.0 12E
API Google
Pasul 2: Găsiți Google API
- Deschideți browserul și tastați: console.developer.google.com
- Creați un proiect nou
- După Creați un nou proiect, faceți clic pe acreditări
- Faceți clic pe cheia API
-
Cheia dvs. API a fost generată
Pentru o înțelegere ușoară, consultați următoarea imagine |>
Pasul 3: Configurați NodeMCu pe Arduino IDE
- Descărcați Arduino IDE de pe următorul link: - https:// www. Principal / Software arduino.cc/ro/
- Adăugați placa Node MCu pe Arduino IDE
-
Pentru încărcarea codului pe NodeMCU trebuie să adăugați placa NodeMCu pe ARDUINO IDE.
- Mergeți la fișier și preferințe în Arduino IDE
- Și în secțiunea Administratorilor consiliului suplimentar copiați următorul link
- arduino.esp8266.com/stable/package_esp8266c…
- și faceți clic pe Ok
- Tabloul este descărcat
- Accesați instrumentele și placa și selectați NodeMCU 1.0 12E
- Vedeți imaginea avobe pentru a înțelege cu ușurință
Pasul 4: Descărcați ArduinoJson Library
- Du-te la
Sketch Include Library Manage Library
Tastați Arduino Json în caseta de căutare
Descărcați cea mai recentă versiune a bibliotecii ArduinoJson
după descărcarea bibliotecii, faceți clic pe închidere
Adăugați o bibliotecă din
SketchincludeLibraryArduinoJson
Pasul 5: Program
Încărcați următorul program pe placa NodeMCU. și vedeți locația dispozitivului dvs. (placa NodeMCU 1.0 12E) pe monitorul serial.
#include
#include
#include
char myssid = "SSID-ul tău"; // SSID-ul rețelei (nume)
char mypass = "Parola ta"; // parola de rețea
// acreditări pentru Google GeoLocation API …
const char * Host = "www.googleapis.com";
String thisPage = "/ geolocation / v1 / geolocate? Key =";
// --- Obțineți o cheie ap Google Maps aici:
developers.google.com/maps/documentation/geolocation/intro
String key = „Cheia dvs. API Google”; // Găsiți din pasul 2
Instrucțiuni
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
latitudine dublă = 0,0;
longitudine dublă = 0,0;
precizie dublă = 0,0;
int more_text = 1; // setat la 1 pentru mai multe ieșiri de depanare
configurare nulă () {
Serial.begin (9600);
Serial.println ("Start");
// Setați WiFi în modul stație și
deconectați-vă de la un AP dacă acesta a fost conectat anterior
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
întârziere (100);
Serial.println ( Configurare
Terminat );
// Începem prin conectarea la un
Rețea WiFi
Serial.print ( Conectarea la
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
întârziere (500);
Serial.print (".");
}
Serial.println (".");
}
bucla nulă () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("start scanare");
// WiFi.scanNetworks va reveni
numărul de rețele găsite
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
if (n == 0)
Serial.println („nu s-au găsit rețele”);
altceva
{
Serial.print (n);
Serial.println ("rețele găsite …");
if (more_text) {
// Imprimați json formatat …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // acesta este un adevărat MCC din Marea Britanie
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // și un adevărat MNC din Marea Britanie
Serial.println ("\" radioType / ": \" gsm / ","); // pentru gsm
Serial.println ("\" carrier / ": \" Vodafone / ","); // asociat cu Vodafone
Serial.println ("\" CellTowers / ": ["); // Nu raportez niciun turn de celule
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
for (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));
dacă (i <n - 1)
{
Serial.println ("},");
}
altceva
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// acum construiți jsonString …
jsonString = "{ n";
jsonString + = "\" homeMobileCountryCode / ": 234, / n"; // acesta este un adevărat MCC din Marea Britanie
jsonString + = "\" homeMobileNetworkCode / ": 27, / n"; // și un adevărat MNC din Marea Britanie
jsonString + = "\" radioType / ": \" gsm / ", / n"; // pentru gsm
jsonString + = "\" carrier / ": \" Vodafone / ", / n"; // asociat cu Vodafone
jsonString + = "\" wifiAccessPoints / ": [n";
pentru (int j = 0; j <n; ++ j)
{
jsonString + = "{ n";
jsonString + = "\" macAddress / ": \" ";
jsonString + = (WiFi. BSSIDstr (j));
jsonString + = "\", / n ";
jsonString + = "\" signalStrength / ":";
jsonString + = WiFi. RSSI (j);
jsonString + = "\ n";
dacă (j <n - 1)
{
jsonString + = "}, / n";
}
altceva
{
jsonString + = "} n";
}
}
jsonString + = ("] n");
jsonString + = ("} n");
//--------------------------------------------------------------------
Serial.println ("");
Client WiFiClientSecure;
// Conectați-vă la client și efectuați apelul API
Serial.print („Adresa URL de solicitare:”);
// ---- Obțineți Google Maps Api Key aici, link:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-AICI");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println („Conectat”);
client.println ("POST" + thisPage + cheie + "HTTP / 1.1");
client.println ("Gazdă:" + (Șir) Gazdă);
client.println ("Conexiune: închidere");
client.println ("Content-Type: application / json");
client.println ("User-Agent: Arduino / 1.0");
client.print („Lungime conținut:”);
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
întârziere (500);
}
// Citiți și analizați toate liniile din
răspunsul de la server
while (client.available ()) {
Linia șirului = client.readStringUntil ('\ r');
if (more_text) {
Serial.print (linie);
}
JsonObject & root = jsonBuffer.parseObject (linie);
if (root.success ()) {
latitude = root ["location"] ["lat"];
longitudine = rădăcină ["locație"] ["lng"];
acuratețe = rădăcină ["acuratețe"];
}
}
Serial.println („închiderea conexiunii”);
Serial.println ();
client.stop ();
Serial.print ("Latitudine =");
Serial.println (latitudine, 6);
Serial.print ("Longitudine =");
Serial.println (longitudine, 6);
Serial.print ("Precizie =");
Serial.println (precizie);
întârziere (10000);
Serial.println ();
Serial.println („Repornirea …”);
Serial.println ();
întârziere (2000);
}
Recomandat:
Cum să faci 4G LTE dublă antenă BiQuade Pași simpli: 3 pași
Cum să fac 4G LTE Double BiQuade Antenna Pași simpli: De cele mai multe ori mă confrunt, nu am o putere de semnal bună pentru lucrările mele de zi cu zi. Asa de. Căut și încerc diferite tipuri de antenă, dar nu funcționează. După un timp pierdut, am găsit o antenă pe care sper să o fac și să o testez, pentru că nu se bazează pe principiul
Design de joc în Flick în 5 pași: 5 pași
Designul jocului în Flick în 5 pași: Flick este un mod foarte simplu de a crea un joc, în special ceva de genul puzzle, roman vizual sau joc de aventură
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Detectarea feței pe Raspberry Pi 4B în 3 pași: 3 pași
Detectarea feței pe Raspberry Pi 4B în 3 pași: În acest instructabil vom efectua detectarea feței pe Raspberry Pi 4 cu Shunya O / S folosind Biblioteca Shunyaface. Shunyaface este o bibliotecă de recunoaștere / detectare a feței. Proiectul își propune să obțină cea mai rapidă viteză de detectare și recunoaștere cu
Cum să faci un contor de pași ?: 3 pași (cu imagini)
Cum să fac un contor de pași ?: obișnuiam să performez bine la multe sporturi: mersul pe jos, alergatul, mersul pe bicicletă, jocul de badminton etc. Îmi place să călăresc să călătoresc în preajmă. Ei bine, uită-te la burtica mea ostilă …… Ei bine, oricum, decid să reîncep să fac mișcare. Ce echipament ar trebui să pregătesc?