Cuprins:

GEOLOACAȚIE: 5 pași
GEOLOACAȚIE: 5 pași

Video: GEOLOACAȚIE: 5 pași

Video: GEOLOACAȚIE: 5 pași
Video: Setup Campanie Google AdWords - 8 Pasi Catre Vanzari Prin PPC 2024, Noiembrie
Anonim
GEOLOACAȚIE
GEOLOACAȚIE

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

Găsiți Google API
Găsiți Google API
Găsiți Google API
Găsiți Google API
Găsiți Google API
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

Configurați NodeMCu pe Arduino IDE
Configurați NodeMCu pe Arduino IDE
Configurați NodeMCu pe Arduino IDE
Configurați NodeMCu pe Arduino IDE
Configurați NodeMCu pe Arduino IDE
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

Descărcați ArduinoJson Library
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: