Sisukord:

GEOLOACATION: 5 sammu
GEOLOACATION: 5 sammu

Video: GEOLOACATION: 5 sammu

Video: GEOLOACATION: 5 sammu
Video: Мини GPS-Трекер GF-07 с Микрофоном Обзор и Настройка 2024, November
Anonim
GEOLOATSIOON
GEOLOATSIOON

See on minu suvine praktikaprojekt. Ma olen tõesti üllatunud, kui kuulen, et saame tuvastada mis tahes seadme asukoha ilma GPS -moodulit kasutamata ainult NodeMCU abil. Selle kaudu saame jälgida mis tahes seadet. Üllatate ka seda, kuidas saame seadet jälgida ainult WiFi kaudu. Siin on selle kirjeldamiseks selle kirjeldus.

  • · See skaneerib peaaegu kogu WiFi.
  • · Saatke selle seadme asukoht Google'ile, kasutades Google'it
  • · Selle järgi tuvastage oma seadme asukoht
  • · Teil on selle projekti jaoks tugev võrguühendus.

Samm: osad ja tööriist

Osad

  • NodeMCU (ESP8266 1.0 12E)
  • USB -kaabel

Tööriistad

Arduino IDE koos NodeMcu 1.0 12E tahvliga

Google'i API

2. toiming: leidke Google'i API

Leidke Google'i API
Leidke Google'i API
Leidke Google'i API
Leidke Google'i API
Leidke Google'i API
Leidke Google'i API
  • Avage oma brauser ja tippige: console.developer.google.com
  • Loo uus projekt
  • Pärast uue projekti loomist klõpsake mandaadil
  • Klõpsake API võtit
  • Teie API võti on loodud

    Lihtsaks mõistmiseks vaadake järgmist pilti |>

Samm: seadistage NodeMCu Arduino IDE -sse

Seadistage NodeMCu Arduino IDE -s
Seadistage NodeMCu Arduino IDE -s
Seadistage NodeMCu Arduino IDE -s
Seadistage NodeMCu Arduino IDE -s
Seadistage NodeMCu Arduino IDE -s
Seadistage NodeMCu Arduino IDE -s
  • Laadige Arduino IDE alla järgmiselt lingilt:- https:// www. Avaleht/Tarkvara arduino.cc/en/
  • Lisage Arduino IDE -le Node MCu plaat
  • NodeMCU -s koodi üleslaadimiseks peate ARDUINO IDE -s lisama NodeMCu tahvli.

    • Avage Arduino IDE -s fail ja eelistused
    • Ja lisahalduse haldamise jaotises kopeerige järgmine link
    • arduino.esp8266.com/stable/package_esp8266c…
    • ja klõpsake nuppu OK
    • Laud on alla laaditud
    • Minge tööriistade ja tahvli juurde ja valige NodeMCU 1.0 12E
    • Vaadake hõlpsasti mõistmiseks avobe pilti

Samm: laadige alla ArduinoJsoni teek

Laadige alla ArduinoJsoni raamatukogu
Laadige alla ArduinoJsoni raamatukogu
  • Minge
  • Visand Kaasa raamatukogu Halda kogu

    Sisestage otsingukasti Arduino Json

    Laadige alla ArduinoJsoni kogu uusim versioon

    pärast kogu allalaadimist klõpsake nuppu Sule

    Lisage kogu raamatukogust

    SketchincludeLibraryArduinoJson

Samm: programm

Laadige järgmine programm NodeMCU tahvlile üles. ja vaadake oma seadme (NodeMCU 1.0 12E plaat) asukohta jadamonitoril.

#kaasake

#kaasake

#kaasake

char myssid = "Teie SSID"; // teie võrgu SSID (nimi)

char mypass = "Teie parool"; // teie võrgu parool

// Google GeoLocation API volikirjad…

const char* Host = "www.googleapis.com";

String thisPage = "/geolokatsioon/v1/geolokatsioon? Võti =";

// --- Hankige Google'i kaartide ap-võti siit:

developers.google.com/maps/documentation/geolocation/intro

String key = "Sinu Google API võti"; // Leia 2. sammult

Juhend

int olek = WL_IDLE_STATUS;

String jsonString = "{ n";

kahekordne laiuskraad = 0,0;

kahekordne pikkuskraad = 0,0;

kahekordne täpsus = 0,0;

int rohkem_tekst = 1; // seadistage 1, et saada rohkem silumist

tühine seadistus () {

Seriaalne algus (9600);

Serial.println ("Start");

// Lülita WiFi jaamarežiimile ja

katkestage juurdepääs AP -ga, kui see oli varem ühendatud

WiFi -režiim (WIFI_STA);

WiFi.disconnect ();

viivitus (100);

Serial.println ( Seadistamine

tehtud );

// Alustame ühenduse loomisega a

WiFi võrk

Serial.print ( Ühendamine

);

Serial.println (myssid);

WiFi.begin (myssid, mypass);

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

viivitus (500);

Seeria.print (".");

}

Serial.println (".");

}

void loop () {

char bssid [6];

DynamicJsonBuffer jsonBuffer;

Serial.println ("skannimise algus");

// WiFi.scanNetworks naaseb

leitud võrkude arv

int n = WiFi.scanNetworks ();

Serial.println ("skandoon");

kui (n == 0)

Serial.println ("võrke ei leitud");

muidu

{

Seeriatrükk (n);

Serial.println ("leitud võrgud …");

if (more_text) {

// Prindige vormindatud json välja …

Serial.println ("{");

Serial.println ("\" homeMobileCountryCode / ": 234,"); // see on tõeline Ühendkuningriigi MCC

Serial.println ("\" homeMobileNetworkCode / ": 27,"); // ja tõeline Ühendkuningriigi MNC

Serial.println ("\" radioType / ": \" gsm / ","); // gsm jaoks

Serial.println ("\" operaator / ": \" Vodafone / ","); // seotud Vodafone'iga

Serial.println ("\" cellTowers / ": ["); // Ma ei teata ühestki kambrist

Serial.println ("],");

Serial.println ("\" wifiAccessPoints / ": [");

jaoks (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));

kui (i <n - 1)

{

Serial.println ("},");

}

muidu

{

Serial.println ("}");

}

}

Serial.println ("]");

Serial.println ("}");

}

Serial.println ("");

}

// ehita nüüd jsonString …

jsonString = "{ n";

jsonString += "\" homeMobileCountryCode / ": 234, / n"; // see on tõeline Ühendkuningriigi MCC

jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // ja tõeline Ühendkuningriigi MNC

jsonString += "\" radioType / ": \" gsm / ", / n"; // gsm jaoks

jsonString += "\" operaator / ": \" Vodafone / ", / n"; // seotud Vodafone'iga

jsonString += "\" wifiAccessPoints / ": [n";

jaoks (int j = 0; j <n; ++ j)

{

jsonString += "{ n";

jsonString += "\" macAddress / ": \" ";

jsonString += (WiFi. BSSIDstr (j));

jsonString += "\", / n ";

jsonString += "\" signalStrength / ":";

jsonString += WiFi. RSSI (j);

jsonString += "\ n";

kui (j <n - 1)

{

jsonString += "}, / n";

}

muidu

{

jsonString += "} n";

}

}

jsonString += ("] n");

jsonString += ("} n");

//--------------------------------------------------------------------

Serial.println ("");

WiFiClientSecure klient;

// Looge ühendus kliendiga ja tehke api kõne

Serial.print ("Taotlev URL:");

// ---- Hankige Google Mapsi Api võti siit, link:

Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");

Serial.println ("");

if (client.connect (hosti, 443)) {

Serial.println ("Ühendatud");

client.println ("POST" + see leht + võti + "HTTP/1.1");

client.println ("Host:" + (String) Host);

client.println ("Ühendus: sulge");

client.println ("Sisu tüüp: rakendus/json");

client.println ("Kasutajaagent: Arduino/1.0");

client.print ("Sisu-pikkus:");

klient.println (jsonString.length ());

klient.println ();

klient.print (jsonString);

viivitus (500);

}

// Lugege ja analüüsige kõiki ridasid

vastus serverilt

while (client.available ()) {

Stringirida = client.readStringUntil ('\ r');

if (more_text) {

Serial.print (rida);

}

JsonObject & root = jsonBuffer.parseObject (rida);

if (root.success ()) {

laiuskraad = juur ["asukoht"] ["laius"];

pikkuskraad = juur ["asukoht"] ["lng"];

täpsus = juur ["täpsus"];

}

}

Serial.println ("ühenduse sulgemine");

Serial.println ();

klient.peatus ();

Serial.print ("Laiuskraad =");

Serial.println (laiuskraad, 6);

Serial.print ("Pikkuskraad =");

Seeria.println (pikkuskraad, 6);

Serial.print ("Täpsus =");

Serial.println (täpsus);

viivitus (10000);

Serial.println ();

Serial.println ("Taaskäivitamine …");

Serial.println ();

viivitus (2000);

}

Soovitan: