Innholdsfortegnelse:

Stedsporing med NodeMCU ESP8266: 10 trinn
Stedsporing med NodeMCU ESP8266: 10 trinn

Video: Stedsporing med NodeMCU ESP8266: 10 trinn

Video: Stedsporing med NodeMCU ESP8266: 10 trinn
Video: Голубая стрела (1958) фильм 2024, November
Anonim
Stedsporing med NodeMCU ESP8266
Stedsporing med NodeMCU ESP8266

Er du nysgjerrig på hvordan NodeMCU kan spore posisjonen din? Det er mulig, selv uten en GPS -modul og uten skjerm. Utgangen vil være koordinater der du befinner deg, og du vil se dem på din serielle skjerm.

Følgende oppsett ble brukt for NodeMCU 1.0 (ESP-12E Module) med Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Trinn 1: Hva trenger du

Det du trenger for å følge denne opplæringen er følgende komponenter:

  • Micro USB -kabel
  • NodeMCU ESP8266

Videre trenger du:

  • LocationAPI (fra Unwired Labs)
  • Tilgang til wifi eller et hotspot

Trinn 2: Gå til Unwired Labs

Gå til Unwired Labs
Gå til Unwired Labs

Geolokalisering er veldig nyttig fordi når GPS -en er nede, kan du fortsatt bruke Geolocation til å spore posisjonen din. Verten vår som tilbyr geografisk plassering, vil være https://www.unwiredlabs.com/. Gå til nettstedet og registrer deg (den oransje knappen øverst til høyre).

Trinn 3: Registrer deg for å få API -token

Registrer deg for å få API -token
Registrer deg for å få API -token

På registreringssiden må du fylle ut ditt navn, e -post (API -tokenet ditt blir sendt til e -posten din) og brukstilfelle (for eksempel personlig bruk). Velg kontotypen din. Gratisversjonen vil fungere helt fint, men husk at du er begrenset og ikke kan spore posisjonen din døgnet rundt. La oss komme i gang!

Trinn 4: Sjekk e -posten din

Gå til e -posten din, så ser du API -tokenet ditt. Kopier API -tokenet, fordi du trenger det for koden vi skal bruke. Slik ser e -posten ut:

Hallo!

Takk for at du registrerte deg hos Unwired Labs LocationAPI! API -tokenet ditt er 'API -koden din er her' (uten anførselstegn). Dette vil gi 100 forespørsler/ dag gratis - for alltid.

Hvis du vil spore 5 enheter gratis, kan du svare med følgende informasjon, så oppgraderer du kontoen din innen 12 timer:

1. Distribusjonstype (maskinvare/ app/ annet):

2. Om prosjektet ditt:

3. Nettsted:

Du kan logge deg på dashbordet her: https://unwiredlabs.com/dashboard. Hvis du får problemer eller har spørsmål, svar på denne e -posten, så hjelper jeg deg!

Glad lokalisering!

Sagar

Ukablede laboratorier

Trinn 5: Biblioteker du trenger

Biblioteker du trenger
Biblioteker du trenger

Det neste trinnet er å åpne Arduino og gå for å administrere biblioteker. Du må installere ArduinoJson -biblioteket. De andre bibliotekene er allerede innebygd. Når du er klar, kan du begynne å skrive koden.

Trinn 6: Legg til kode i Arduino for å koble til med LocationAPI

Lag en ny skisse og legg til følgende kode i Arduino. Skriv ditt eget wifi/hotspot -navn og passord. Lim inn API -tokenet du mottok i e -posten. Last opp koden din til NodeMCU.

#inkludere

#inkludere

#include "ESP8266WiFi.h"

// nettverks -SSID (navn) og nettverkspassord

char myssid = "Ditt wifi/hotspot -navn"; char mypass = "Ditt passord";

// unwiredlabs Hostname & Geolocation Endpoint url

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

// UnwiredLabs API_Token. Registrer deg her for å få et gratis token

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Variabler for lagring av unwiredlabs -respons

dobbel breddegrad = 0,0; dobbel lengdegrad = 0,0; dobbel nøyaktighet = 0,0;

ugyldig oppsett () {

Serial.begin (115200);

// Sett WiFi til stasjonsmodus og koble fra en AP hvis den tidligere var tilkoblet

WiFi.mode (WIFI_STA); WiFi. Koble fra (); Serial.println ("Oppsett utført");

// Vi starter med å koble til et WiFi -nettverk

Serial.print ("Koble til"); Serial.println (myssid); WiFi. Begynner (myssid, mypass);

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

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

void loop () {

røye bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks returnerer antall nettverk som er funnet

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

hvis (n == 0) {

Serial.println ("Ingen nettverk tilgjengelig"); } annet {Serial.print (n); Serial.println ("nettverk funnet"); }

// bygg nå jsonString …

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

WiFiClientSecure -klient;

// Koble til klienten og ring api

Serial.println ("Be om URL: https://" + (String) Host + endepunkt); if (client.connect (Host, 443)) {Serial.println ("Tilkoblet"); client.println ("POST" + endepunkt + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Tilkobling: lukk"); client.println ("Innholdstype: applikasjon/json"); client.println ("User-Agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); forsinkelse (500); }

// Les og analyser alle linjene i svaret fra serveren

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

Serial.println ();

Serial.print ("Latitude ="); Serial.println (breddegrad, 6); Serial.print ("Lengdegrad ="); Serial.println (lengdegrad, 6); Serial.print ("Nøyaktighet ="); Serial.println (nøyaktighet); }}

Serial.println ("lukke tilkobling");

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

forsinkelse (5000);

}

Trinn 7: Åpne Serial Monitor for å se om du er tilkoblet

Gå til verktøy i Arduino og åpne den serielle skjermen. For å se om du er koblet til internett, bør du se følgende på den serielle skjermen:

Oppsettet gjort

Kobler til (ditt wifi -navn) … skanningen er ferdig

Trinn 8: Få koordinatene

Hvis det fungerte vellykket, bør du se under skanning en hel liste med data. Det eneste vi trenger er koden under URL -en som ber om det, så vi trenger breddegrad og lengdegrad. Dette er koordinatene.

Be om URL:

Tilkoblet

Breddegrad = 52.385259

Lengdegrad = 5.196099

Nøyaktighet = 41,00

lukking av tilkobling

Etter 5 sekunder vil koden stadig oppdateres, og du vil sannsynligvis se breddegrad, lengdegrad og nøyaktighet endres. Det er fordi API -et prøver å best å spore stedet så presist som mulig.

Trinn 9: Gå til Google Maps

Gå til Google Maps
Gå til Google Maps

Gå til https://www.google.com/maps/ og skriv inn koordinatene i søkefeltet. Koordinatene må skrives på følgende måte: 52.385259, 5.196099. Google Maps skal vise hvor du befinner deg på kartet.

Trinn 10: Send posisjon til mobilen din

Send posisjon til mobilen din
Send posisjon til mobilen din

Og … du er ferdig! Derfor, hvis du vil sende posisjonen til mobilen din, er det mulig. Google Maps sender deretter en e -post med koordinatene dine hvis du vil.

Glad for å finne!

Anbefalt: