INHOUDSOPGAWE:

Location Tracker With NodeMCU ESP8266: 10 stappe
Location Tracker With NodeMCU ESP8266: 10 stappe

Video: Location Tracker With NodeMCU ESP8266: 10 stappe

Video: Location Tracker With NodeMCU ESP8266: 10 stappe
Video: GPS Tracker With NodeMCU Esp8266 | NodeMCU GPS Blynk 2024, November
Anonim
Liggingstracker met NodeMCU ESP8266
Liggingstracker met NodeMCU ESP8266

Is u nuuskierig oor hoe u NodeMCU u ligging kan dop? Dit is moontlik, selfs sonder 'n GPS -module en sonder 'n skerm. Die uitset sal koördinate wees waar u geleë is en u sal dit op u seriële monitor sien.

Die volgende opstelling is gebruik vir NodeMCU 1.0 (ESP-12E Module) met Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Stap 1: Wat het u nodig

Die volgende komponente benodig u om hierdie tutoriaal te volg:

  • Mikro USB kabel
  • NodeMCU ESP8266

Verder benodig u:

  • LocationAPI (van Unwired Labs)
  • Toegang tot wifi of 'n hotspot

Stap 2: Gaan na Unwired Labs

Gaan na Unwired Labs
Gaan na Unwired Labs

Geolokasie is baie handig, want as u GPS af is, kan u steeds geografiese ligging gebruik om u ligging op te spoor. Ons gasheer wat geografiese ligging bied, sal https://www.unwiredlabs.com/ wees. Gaan na die webwerf en meld aan (die oranje knoppie in die regter boonste hoek).

Stap 3: Teken in om API -token te kry

Sluit aan om API -token te kry
Sluit aan om API -token te kry

Op die aanmeldingsbladsy moet u u naam, e -posadres invul (u API -token word na u e -pos gestuur) en die gebruiksgeval (byvoorbeeld persoonlike gebruik). Kies u rekeningtipe. Die gratis weergawe werk goed, maar hou in gedagte dat u beperk is en nie u ligging 24/7 kan opspoor nie. Laat ons begin!

Stap 4: Gaan u e -pos na

Gaan na u e -posadres en u sal u API -token sien. Kopieer die API -token, want u benodig dit vir die kode wat ons gaan gebruik. So lyk die e -pos:

Hallo!

Dankie dat u aangemeld het by Unwired Labs LocationAPI! U API -teken is 'u API -kode is hier' (sonder aanhalings). Dit gee 100 versoeke per dag gratis - vir ewig.

As u 5 toestelle gratis wil opspoor, reageer asseblief met die volgende besonderhede en ons sal u rekening binne 12 uur opgradeer:

1. Implementeringstipe (hardeware/ app/ ander):

2. Oor u projek:

3. Webwerf:

U kan hier by u dashboard aanmeld: https://unwiredlabs.com/dashboard. As u probleme ondervind of vrae het, beantwoord hierdie e -pos en ek sal u help!

Gelukkige vind!

Sagar

Onbedrade laboratoriums

Stap 5: Biblioteke wat u benodig

Biblioteke wat u benodig
Biblioteke wat u benodig

Die volgende stap is om Arduino oop te maak en biblioteke te bestuur. U moet die ArduinoJson -biblioteek installeer. Die ander biblioteke is reeds ingebou. As u gereed is, kan u die kode begin skryf.

Stap 6: Voeg kode in Arduino by om verbinding te maak met LocationAPI

Maak 'n nuwe skets en voeg die volgende kode by in Arduino. Skryf u eie wifi/hotspot -naam en u wagwoord in. Plak die API -token wat u in die e -pos ontvang het. Laai u kode op na u NodeMCU.

#insluit

#insluit

#sluit "ESP8266WiFi.h" in

// u netwerk -SSID (naam) en netwerkwagwoord

char myssid = "Jou wifi/hotspot naam"; char mypass = "U wagwoord";

// unwiredlabs Gasheernaam en geografiese eindpunt -url

const char* Host = "www.unwiredlabs.com"; String eindpunt = "/v2/process.php";

// UnwiredLabs API_Token. Meld u hier aan om 'n gratis teken https://unwiredlabs.com/trial te kry

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Veranderlikes om die reaksie van unwiredlabs op te slaan

dubbele breedtegraad = 0,0; dubbele lengte = 0,0; dubbele akkuraatheid = 0,0;

ongeldige opstelling () {

Serial.begin (115200);

// Stel WiFi in die stasie -modus en ontkoppel van 'n AP as dit voorheen gekoppel was

WiFi.mode (WIFI_STA); WiFi. Ontkoppel (); Serial.println ("Opstelling voltooi");

// Ons begin deur aan te sluit op 'n WiFi -netwerk

Serial.print ("Koppel aan"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

vertraging (500); Serial.print ("."); } Serial.println ("."); }

leemte -lus () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks sal die aantal netwerke terugstuur

int n = WiFi.scanNetworks (); Serial.println ("scan gedoen");

as (n == 0) {

Serial.println ("Geen netwerke beskikbaar nie"); } anders {Serial.print (n); Serial.println ("netwerke gevind"); }

// bou nou die jsonString …

jsonString = "{ n"; jsonString += "\" token / ": \" "; jsonString += token; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; vir (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" sein / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; as (j <n - 1) {jsonString += "}, / n"; } anders {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure -kliënt;

// Koppel aan die kliënt en maak die api -oproep

Serial.println ("URL versoek: https://" + (string) gasheer + eindpunt); if (client.connect (gasheer, 443)) {Serial.println ("verbind"); client.println ("POST" + eindpunt + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Verbinding: sluit"); client.println ("Inhoudstipe: toepassing/json"); client.println ("Gebruikersagent: Arduino/1.0"); client.print ("Inhoudlengte:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); vertraging (500); }

// Lees en ontleed al die reëls van die antwoord vanaf die bediener

terwyl (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (reël); as (root.success ()) {latitude = root ["lat"]; lengtegraad = wortel ["lon"]; akkuraatheid = root ["akkuraatheid"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (breedtegraad, 6); Serial.print ("Lengtegraad ="); Serial.println (lengtegraad, 6); Serial.print ("Akkuraatheid"); Serial.println (akkuraatheid); }}

Serial.println ("verbinding sluit");

Serial.println (); client.stop ();

vertraging (5000);

}

Stap 7: Maak die seriële monitor oop om te sien of u gekoppel is

Gaan na die gereedskap in Arduino en maak die seriële monitor oop. Om te sien of u aan die internet gekoppel is, moet u die volgende in die seriële monitor sien:

Opstelling gedoen

Koppel aan (u wifi -naam) … skandering gedoen

Stap 8: Kry die koördinate

As dit suksesvol gewerk het, moet u 'n hele lys data onder skandering sien. Die enigste ding wat ons nodig het, is die kode onder die versoekende URL, sodat ons die breedtegraad en lengtegraad benodig. Dit is die koördinate.

URL versoek:

Koppel

Breedtegraad = 52.385259

Lengtegraad = 5.196099

Akkuraatheid = 41,00

sluit verbinding

Na 5 sekondes word die kode voortdurend bygewerk, en u sal waarskynlik sien hoe die breedtegraad, lengtegraad en akkuraatheid verander. Dit is omdat die API probeer om die ligging so presies moontlik op te spoor.

Stap 9: Gaan na Google Maps

Gaan na Google Maps
Gaan na Google Maps

Gaan na https://www.google.com/maps/ en tik u koördinate in die soekbalk. Die koördinate moet op die volgende manier geskryf word: 52.385259, 5.196099. Google Maps moet wys waar jy op die kaart geleë is.

Stap 10: Stuur ligging na u selfoon

Stuur ligging na u selfoon
Stuur ligging na u selfoon

En … jy is klaar! As u dus die ligging na u selfoon wil stuur, is dit moontlik. Google Maps stuur dan 'n e -pos met u koördinate as u wil.

Gelukkige vind!

Aanbeveel: