Sadržaj:

Praćenje lokacije s NodeMCU ESP8266: 10 koraka
Praćenje lokacije s NodeMCU ESP8266: 10 koraka

Video: Praćenje lokacije s NodeMCU ESP8266: 10 koraka

Video: Praćenje lokacije s NodeMCU ESP8266: 10 koraka
Video: Майнинг Duinocoin с использованием процессоров ноутбуков и ПК 2024, Decembar
Anonim
Praćenje lokacije s NodeMCU ESP8266
Praćenje lokacije s NodeMCU ESP8266

Zanima vas kako vaš NodeMCU može pratiti vašu lokaciju? Moguće je, čak i bez GPS modula i bez ekrana. Izlaz će biti koordinate na kojima se nalazite i vidjet ćete ih na svom serijskom monitoru.

Sljedeća postavka je korištena za NodeMCU 1.0 (ESP-12E modul) s Arduino IDE-om.

  • Windows 10
  • Arduino IDE v. 1.8.4

Korak 1: Šta vam treba

Da biste slijedili ovaj vodič, potrebne su vam sljedeće komponente:

  • Mikro USB kabl
  • NodeMCU ESP8266

Osim toga, trebat će vam:

  • LocationAPI (iz Unwired Labs)
  • Pristup WiFi -u ili hotspotu

Korak 2: Idite u Nežičane laboratorije

Idite u Unwired Labs
Idite u Unwired Labs

Geolokacija je vrlo korisna jer kada vam je GPS neispravan, i dalje možete koristiti Geolokaciju za praćenje svoje lokacije. Naš domaćin koji pruža geolokaciju bit će https://www.unwiredlabs.com/. Idite na tu web stranicu i prijavite se (narančasto dugme u gornjem desnom kutu).

Korak 3: Prijavite se za dobivanje API tokena

Prijavite se za dobivanje API tokena
Prijavite se za dobivanje API tokena

Na stranici za registraciju morate popuniti svoje ime, e -adresu (vaš API token bit će poslan na vašu e -poštu) i slučaj upotrebe (na primjer, za ličnu upotrebu). Odaberite vrstu računa. Besplatna verzija bit će sasvim u redu, ali imajte na umu da ste ograničeni i ne možete pratiti svoju lokaciju 24 sata dnevno. Hajde da počnemo!

Korak 4: Provjerite svoju e -poštu

Idite na svoju e -poštu i vidjet ćete svoj API token. Kopirajte API token jer vam je to potrebno za kôd koji ćemo koristiti. Ovako izgleda e -poruka:

Zdravo!

Hvala vam što ste se prijavili na Unwired Labs LocationAPI! Vaš API token je 'vaš API kôd je ovdje' (bez navodnika). Ovo će dati 100 zahtjeva dnevno besplatno - zauvijek.

Ako želite besplatno pratiti 5 uređaja, odgovorite sa sljedećim detaljima i nadogradit ćemo vaš račun u roku od 12 sati:

1. Vrsta implementacije (hardverska/ aplikacija/ ostalo):

2. O vašem projektu:

3. Web stranica:

Možete se prijaviti na svoju nadzornu ploču ovdje: https://unwiredlabs.com/dashboard. Ako naiđete na probleme ili imate pitanja, odgovorite na ovu poruku e -pošte i pomoći ću vam!

Sretno lociranje!

Sagar

Unwired Labs

Korak 5: Biblioteke koje će vam trebati

Biblioteke koje će vam trebati
Biblioteke koje će vam trebati

Sljedeći korak je otvaranje Arduina i upravljanje bibliotekama. Morate instalirati ArduinoJson biblioteku. Ostale biblioteke su već ugrađene. Kada budete spremni, možete početi pisati kôd.

Korak 6: Dodajte kôd u Arduino da biste se povezali s LocationAPI

Napravite novu skicu i dodajte sljedeći kod u Arduino. Napišite svoje ime wifi/hotspota i lozinku. Zalijepite API token koji ste primili u e -poruci. Otpremite svoj kôd na svoj NodeMCU.

#include

#include

#include "ESP8266WiFi.h"

// vaš mrežni SSID (ime) i mrežna lozinka

char myssid = "Ime vaše WiFi/hotspot"; char mypass = "Vaša lozinka";

// unwiredlabs Naziv hosta i URL krajnje točke geolokacije

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

// UnwiredLabs API_Token. Prijavite se ovdje da biste dobili besplatni token

String token = "d99cccda52ec0b";

Niz jsonString = "{ n";

// Varijable za spremanje odgovora ožičenih laboratorija

dvostruka širina = 0,0; dvostruka geografska dužina = 0,0; dvostruka tačnost = 0,0;

void setup () {

Serial.begin (115200);

// Postavite WiFi na način rada stanice i odspojite AP ako je prethodno bio povezan

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Postavljanje je završeno");

// Počinjemo povezivanjem na WiFi mrežu

Serial.print ("Povezivanje sa"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

kašnjenje (500); Serial.print ("."); } Serial.println ("."); }

void loop () {{100} {101}

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks će vratiti broj pronađenih mreža

int n = WiFi.scanNetworks (); Serial.println ("skeniranje završeno");

if (n == 0) {

Serial.println ("Nema dostupnih mreža"); } else {Serial.print (n); Serial.println ("pronađene mreže"); }

// sada sastavite 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"; if (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure klijent;

// Povežite se s klijentom i uputite api poziv

Serial.println ("URL koji traži: https://" + (String) Host + krajnja tačka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + krajnja tačka + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Veza: zatvori"); client.println ("Vrsta sadržaja: aplikacija/json"); client.println ("Korisnički agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); kašnjenje (500); }

// Pročitajte i raščlanite sve redove odgovora sa servera

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (linija); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; točnost = korijen ["točnost"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (zemljopisna širina, 6); Serial.print ("Longitude ="); Serial.println (longitude, 6); Serial.print ("Tačnost ="); Serial.println (tačnost); }}

Serial.println ("zatvaranje veze");

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

kašnjenje (5000);

}

Korak 7: Otvorite serijski monitor da vidite jeste li povezani

Idite na alate u Arduinu i otvorite serijski monitor. Da biste provjerili jeste li povezani s internetom, trebali biste vidjeti sljedeće na serijskom monitoru:

Postavljanje završeno

Povezivanje na (vaše ime WiFi) … skeniranje završeno

Korak 8: Dobijte koordinate

Ako je uspješno funkcionirao, trebali biste vidjeti pod skeniranjem obavljen cijeli popis podataka. Jedino što nam treba je kôd ispod URL -a koji traži, pa će nam trebati zemljopisna širina i dužina. Ovo su koordinate.

Traženje URL -a:

Povezano

Geografska širina = 52,385259

Geografska dužina = 5,196099

Tačnost = 41,00

zatvaranje veze

Nakon 5 sekundi kôd će se stalno ažurirati i vjerojatno ćete vidjeti promjenu zemljopisne širine, dužine i tačnosti. To je zato što API pokušava najbolje je pratiti lokaciju što je moguće preciznije.

Korak 9: Idite na Google mape

Idite na Google mape
Idite na Google mape

Idite na https://www.google.com/maps/ i unesite svoje koordinate u traku za pretraživanje. Koordinate je potrebno napisati na sljedeći način: 52.385259, 5.196099. Google karte bi trebale pokazati gdje se nalazite na karti.

Korak 10: Pošaljite lokaciju na svoj mobilni telefon

Pošaljite lokaciju na svoj mobilni telefon
Pošaljite lokaciju na svoj mobilni telefon

I … završili ste! Stoga, ako želite poslati lokaciju na svoj mobilni telefon, to je moguće. Google karte će tada poslati e -poruku s vašim koordinatama ako želite.

Sretno lociranje!

Preporučuje se: