Innehållsförteckning:

Location Tracker With NodeMCU ESP8266: 10 steg
Location Tracker With NodeMCU ESP8266: 10 steg

Video: Location Tracker With NodeMCU ESP8266: 10 steg

Video: Location Tracker With NodeMCU ESP8266: 10 steg
Video: 10 Great ESP8266 Projects for Beginners! 2024, November
Anonim
Location Tracker With NodeMCU ESP8266
Location Tracker With NodeMCU ESP8266

Är du nyfiken på hur din NodeMCU kan spåra din plats? Det är möjligt, även utan en GPS -modul och utan display. Utdata kommer att vara koordinater där du befinner dig och du kommer att se dem i din seriella bildskärm.

Följande inställning användes för NodeMCU 1.0 (ESP-12E Module) med Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Steg 1: Vad behöver du

Vad du behöver för att följa denna handledning är följande komponenter:

  • Micro USB -kabel
  • NodeMCU ESP8266

Dessutom behöver du:

  • LocationAPI (från Unwired Labs)
  • Tillgång till wifi eller en hotspot

Steg 2: Gå till Unwired Labs

Gå till Unwired Labs
Gå till Unwired Labs

Geolokalisering är mycket praktiskt eftersom när din GPS är nere kan du fortfarande använda Geolocation för att spåra din plats. Vår värd som tillhandahåller geolokalisering kommer att vara https://www.unwiredlabs.com/. Gå till den webbplatsen och registrera dig (den orange knappen i det övre högra hörnet).

Steg 3: Registrera dig för att få API -token

Registrera dig för att få API -token
Registrera dig för att få API -token

På registreringssidan måste du fylla i ditt namn, din e -post (din API -token skickas till din e -postadress) och användningsfall (till exempel personlig användning). Välj din kontotyp. Den fria versionen kommer att fungera bra, men kom ihåg att du är begränsad och inte kan spåra din plats 24/7. Låt oss börja!

Steg 4: Kontrollera din e -post

Gå till din e -post så ser du din API -token. Kopiera API -token, eftersom du behöver det för koden som vi kommer att använda. Så här ser mejlet ut:

Hej!

Tack för att du anmälde dig till Unwired Labs LocationAPI! Din API -token är "din API -kod är här" (utan citattecken). Detta ger 100 förfrågningar/ dag gratis - för alltid.

Om du vill spåra 5 enheter gratis svarar du med följande information så uppgraderar vi ditt konto inom 12 timmar:

1. Distributionstyp (maskinvara/ app/ annat):

2. Om ditt projekt:

3. Webbplats:

Du kan logga in på din instrumentpanel här: https://unwiredlabs.com/dashboard. Om du stöter på problem eller har frågor, svara på det här e -postmeddelandet så hjälper jag dig!

Glad lokalisering!

Sagar

Oavbundna labb

Steg 5: Bibliotek du behöver

Bibliotek du behöver
Bibliotek du behöver

Nästa steg är att öppna Arduino och gå till hantera bibliotek. Du måste installera ArduinoJson -biblioteket. De andra biblioteken är redan inbyggda. När du är klar kan du börja skriva koden.

Steg 6: Lägg till kod i Arduino för att ansluta till LocationAPI

Gör en ny skiss och lägg till följande kod i Arduino. Skriv ditt eget wifi/hotspot -namn och ditt lösenord. Klistra in API -token som du fick i e -postmeddelandet. Ladda upp din kod till din NodeMCU.

#omfatta

#omfatta

#inkludera "ESP8266WiFi.h"

// ditt nätverks -SSID (namn) och nätverkslösenord

char myssid = "Ditt wifi/hotspots namn"; char mypass = "Ditt lösenord";

// unwiredlabs Hostname & Geolocation Endpoint url

const char* Host = "www.unwiredlabs.com"; Sträng slutpunkt = "/v2/process.php";

// UnwiredLabs API_Token. Registrera dig här för att få en gratis token

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Variabler för att lagra unwiredlabs -svar

dubbel latitud = 0,0; dubbel longitud = 0,0; dubbel noggrannhet = 0,0;

void setup () {

Serial.begin (115200);

// Ställ in WiFi på stationsläge och koppla från ett AP om det tidigare var anslutet

WiFi.mode (WIFI_STA); WiFi. Koppla bort (); Serial.println ("Installation klar");

// Vi börjar med att ansluta till ett WiFi -nätverk

Serial.print ("Ansluter till"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

fördröjning (500); Serial.print ("."); } Serial.println ("."); }

void loop () {

röding bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks returnerar antalet hittade nätverk

int n = WiFi.scanNetworks (); Serial.println ("skanning klar");

om (n == 0) {

Serial.println ("Inga tillgängliga nätverk"); } annat {Serial.print (n); Serial.println ("nätverk hittade"); }

// bygg nu jsonString …

jsonString = "{ n"; jsonString += "\" token / ": \" "; jsonString += token; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [ n"; för (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signal / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; if (j <n - 1) {jsonString += "}, / n"; } annat {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure -klient;

// Anslut till klienten och ring api -samtalet

Serial.println ("Begär URL: https://" + (String) Host + slutpunkt); if (client.connect (Host, 443)) {Serial.println ("Connected"); client.println ("POST" + slutpunkt + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Anslutning: stäng"); client.println ("Innehållstyp: applikation/json"); client.println ("User-Agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); fördröjning (500); }

// Läs och analysera alla rader i svaret från servern

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (line); if (root.success ()) {latitude = root ["lat"]; longitud = root ["lon"]; precision = root ["precision"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (latitud, 6); Serial.print ("Longitud ="); Serial.println (longitud, 6); Serial.print ("Noggrannhet ="); Serial.println (noggrannhet); }}

Serial.println ("stängande anslutning");

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

fördröjning (5000);

}

Steg 7: Öppna Serial Monitor för att se om du är ansluten

Gå till verktyg i Arduino och öppna seriell bildskärm. För att se om du är ansluten till internet bör du se följande på den seriella bildskärmen:

Inställningen klar

Ansluter till (ditt wifi -namn) … skanning klar

Steg 8: Skaffa koordinaterna

Om det fungerade framgångsrikt bör du se under scan en hel lista med data. Det enda vi behöver är koden under den begärande URL: en, så vi kommer att behöva latitud och longitud. Dessa är koordinaterna.

Begäran URL:

Ansluten

Latitud = 52.385259

Longitud = 5.196099

Noggrannhet = 41,00

stängande anslutning

Efter 5 sekunder uppdateras koden ständigt och du kommer förmodligen att se latitud, longitud och noggrannhet förändras. Det beror på att API: et försöker att det är bäst att spåra platsen så exakt som möjligt.

Steg 9: Gå till Google Maps

Gå till Google Maps
Gå till Google Maps

Gå till https://www.google.com/maps/ och skriv dina koordinater i sökfältet. Koordinaterna måste skrivas på följande sätt: 52.385259, 5.196099. Google Maps ska visa var du befinner dig på kartan.

Steg 10: Skicka plats till din mobil

Skicka plats till din mobil
Skicka plats till din mobil

Och … du är klar! Därför, om du vill skicka platsen till din mobil, är det möjligt. Google Maps skickar sedan ett e -postmeddelande med dina koordinater om du vill.

Glad lokalisering!

Rekommenderad: