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, Studeni
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 zaslona. Izlaz će biti koordinate na kojima se nalazite i vidjet ćete ih na svom serijskom monitoru.

Sljedeće postavke korištene su za NodeMCU 1.0 (ESP-12E modul) s Arduino IDE-om.

  • Windows 10
  • Arduino IDE v. 1.8.4

Korak 1: Što vam treba

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

  • Mikro USB kabel
  • NodeMCU ESP8266

Nadalje, trebat će vam:

  • LocationAPI (iz Unwired Labs)
  • Pristup Wi -Fi -ju ili hotspotu

Korak 2: Idite u Nežičane laboratorije

Idite u Nežičane laboratorije
Idite u Nežičane laboratorije

Geolokacija je vrlo korisna jer kada vam je GPS u kvaru, 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časti gumb 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 unijeti svoje ime, e -adresu (vaš API token bit će poslan na vašu e -poštu) i slučaj upotrebe (na primjer, osobna upotreba). 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. Započnimo!

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, a mi ćemo nadograditi vaš račun u roku od 12 sati:

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

2. O vašem projektu:

3. Web stranica:

Ovdje se možete prijaviti na svoju nadzornu ploču: 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

Laboratorije bez žica

Korak 5: Knjižnice koje će vam trebati

Knjižnice koje će vam trebati
Knjižnice koje će vam trebati

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

Korak 6: Dodajte kôd u Arduino za povezivanje s LocationAPI -jem

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

#uključi

#uključi

#include "ESP8266WiFi.h"

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

char myssid = "Vaš naziv wifi/hotspota"; char mypass = "Vaša lozinka";

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

const char* Host = "www.unwiredlabs.com"; Krajnja točka niza = "/v2/process.php";

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

Oznaka niza = "d99cccda52ec0b";

Niz jsonString = "{ n";

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

dvostruka zemljopisna širina = 0,0; dvostruka zemljopisna dužina = 0,0; dvostruka točnost = 0,0;

void setup () {

Serial.begin (115200);

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

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

// Počinjemo povezivanjem na WiFi mrežu

Serial.print ("Povezivanje s"); Serial.println (myssid); WiFi.počnite (myssid, mypass);

while (WiFi.status ()! = WL_CONNECTED) {{100} {101}

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 obavljeno");

ako (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"; za (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 točka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + krajnja toč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 retke odgovora s poslužitelja

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 (zemljopisna dužina, 6); Serial.print ("Točnost ="); Serial.println (toč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 vidjeli jeste li povezani s internetom, trebali biste vidjeti sljedeće na serijskom monitoru:

Postavljanje je dovršeno

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

Korak 8: Dobijte koordinate

Ako je uspješno radio, pod skeniranjem bi trebao vidjeti 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ženi URL:

Povezano

Geografska širina = 52,385259

Geografska dužina = 5,196099

Toč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 točnosti. To je zato što API pokušava najbolje je što preciznije pratiti lokaciju.

Korak 9: Idite na Google karte

Idite na Google karte
Idite na Google karte

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 trebale bi pokazati gdje se nalazite na karti.

Korak 10: Pošaljite lokaciju na svoj mobitel

Pošaljite lokaciju na svoj mobitel
Pošaljite lokaciju na svoj mobitel

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

Sretno lociranje!

Preporučeni: