Kazalo:

Sledilnik lokacije z NodeMCU ESP8266: 10 korakov
Sledilnik lokacije z NodeMCU ESP8266: 10 korakov

Video: Sledilnik lokacije z NodeMCU ESP8266: 10 korakov

Video: Sledilnik lokacije z NodeMCU ESP8266: 10 korakov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, Julij
Anonim
Sledilnik lokacije z NodeMCU ESP8266
Sledilnik lokacije z NodeMCU ESP8266

Vas zanima, kako lahko vaš NodeMCU sledi vaši lokaciji? Možno je tudi brez modula GPS in brez zaslona. Izhod bodo koordinate, kjer se nahajate, in jih boste videli na svojem serijskem monitorju.

Naslednja nastavitev je bila uporabljena za NodeMCU 1.0 (modul ESP-12E) z Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

1. korak: Kaj potrebujete

Če želite slediti tej vadnici, so naslednje komponente:

  • Kabel mikro USB
  • NodeMCU ESP8266

Poleg tega boste potrebovali:

  • LocationAPI (iz Unwired Labs)
  • Dostop do wifi ali dostopne točke

2. korak: Pojdite v Nežične laboratorije

Pojdite v Unwired Labs
Pojdite v Unwired Labs

Geolokacija je zelo priročna, saj lahko, ko je GPS neaktiven, še vedno uporabljate Geolocation za sledenje svoji lokaciji. Naš gostitelj, ki zagotavlja geolokacijo, bo https://www.unwiredlabs.com/. Pojdite na to spletno mesto in se prijavite (oranžni gumb v zgornjem desnem kotu).

3. korak: Prijavite se za pridobitev žetona API

Prijavite se, če želite dobiti žeton API
Prijavite se, če želite dobiti žeton API

Na strani za registracijo morate vnesti svoje ime, e -poštni naslov (vaš žeton API bo poslan na vaš e -poštni naslov) in primer uporabe (na primer za osebno uporabo). Izberite vrsto računa. Brezplačna različica bo v redu, vendar ne pozabite, da ste omejeni in ne morete slediti svoji lokaciji 24 ur na dan. Začnimo!

4. korak: Preverite svojo e -pošto

Pojdite na svoj e -poštni naslov in videli boste svoj žeton API. Kopirajte žeton API, ker ga potrebujete za kodo, ki jo bomo uporabljali. Tako izgleda e -poštno sporočilo:

Zdravo!

Hvala, ker ste se prijavili pri Unwired Labs LocationAPI! Vaš žeton API je "vaša koda API je tukaj" (brez narekovajev). Tako bo 100 zahtevkov na dan brezplačno - za vedno.

Če želite brezplačno spremljati 5 naprav, odgovorite z naslednjimi podatki in vaš račun bomo nadgradili v 12 urah:

1. Vrsta uvajanja (strojna/ aplikacija/ drugo):

2. O vašem projektu:

3. Spletno mesto:

Na nadzorno ploščo se lahko prijavite tukaj: https://unwiredlabs.com/dashboard. Če naletite na težave ali imate vprašanja, odgovorite na to e -poštno sporočilo in pomagal vam bom!

Veselo lokacijo!

Sagar

Nežični laboratoriji

5. korak: Knjižnice, ki jih boste potrebovali

Knjižnice, ki jih boste potrebovali
Knjižnice, ki jih boste potrebovali

Naslednji korak je odpiranje Arduina in upravljanje knjižnic. Namestiti morate knjižnico ArduinoJson. Druge knjižnice so že vgrajene. Ko ste pripravljeni, lahko začnete pisati kodo.

6. korak: Dodajte kodo v Arduino za povezavo z LocationAPI

Naredite novo skico in dodajte naslednjo kodo v Arduino. Napišite svoje ime wifi/dostopne točke in geslo. Prilepite žeton API, ki ste ga prejeli po e -pošti. Naložite kodo v svoj NodeMCU.

#vključi

#vključi

#include "ESP8266WiFi.h"

// vaš omrežni SSID (ime) in geslo za omrežje

char myssid = "Vaše ime wifi/dostopne točke"; char mypass = "Vaše geslo";

// unwiredlabs URL gostitelja in geolokacije

const char* Host = "www.unwiredlabs.com"; Niz končna točka = "/v2/process.php";

// UnwiredLabs API_Token. Prijavite se tukaj, če želite dobiti brezplačen žeton

Žeton niza = "d99cccda52ec0b";

Niz jsonString = "{ n";

// Spremenljivke za shranjevanje odziva brezžičnih laboratorijev

dvojna zemljepisna širina = 0,0; dvojna zemljepisna dolžina = 0,0; dvojna natančnost = 0,0;

void setup () {

Serial.begin (115200);

// WiFi nastavite na način postaje in prekinite povezavo z dostopno točko, če je bila prej povezana

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Namestitev končana");

// Začnemo s povezavo v omrežje WiFi

Serial.print ("Povezovanje z"); Serial.println (myssid); WiFi.začetek (myssid, mypass);

medtem ko (WiFi.status ()! = WL_CONNECTED) {

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

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks vrne število najdenih omrežij

int n = WiFi.scanNetworks (); Serial.println ("skeniranje opravljeno");

če (n == 0) {

Serial.println ("Ni razpoložljivih omrežij"); } else {Serial.print (n); Serial.println ("najdena omrežja"); }

// zdaj zgradimo jsonString …

jsonString = "{ n"; jsonString += "\" žeton / ": \" "; jsonString += žeton; 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"; če (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

Odjemalec WiFiClientSecure;

// Povežite se s odjemalcem in pokličite api

Serial.println ("Zahtevani URL: https://" + (niz) Host + končna točka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + končna točka + "HTTP/1.1"); client.println ("Gostitelj:" + (niz) gostitelj); client.println ("Povezava: zaprta"); client.println ("Vrsta vsebine: aplikacija/json"); client.println ("Uporabniški agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); zamuda (500); }

// Preberite in razčlenite vse vrstice odgovora s strežnika

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

Serial.println ();

Serial.print ("Latitude ="); Serial.println (zemljepisna širina, 6); Serial.print ("Dolžina ="); Serial.println (zemljepisna dolžina, 6); Serial.print ("Točnost ="); Serial.println (natančnost); }}

Serial.println ("zapiranje povezave");

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

zamuda (5000);

}

7. korak: Odprite serijski monitor in preverite, ali ste povezani

Pojdite na orodja v Arduinu in odprite serijski monitor. Če želite preveriti, ali ste povezani z internetom, bi morali na serijskem monitorju videti naslednje:

Namestitev končana

Vzpostavljanje povezave z (vaše ime wifi) … skeniranje končano

8. korak: Pridobite koordinate

Če je uspelo, bi morali pod skeniranjem videti celoten seznam podatkov. Edino, kar potrebujemo, je koda pod URL -jem, ki zahteva, zato bomo potrebovali zemljepisno širino in dolžino. To so koordinate.

Zahtevani URL:

Povezano

Zemljepisna širina = 52,385259

Dolžina = 5,196099

Natančnost = 41,00

zapiranje povezave

Po 5 sekundah se bo koda nenehno posodabljala in verjetno boste videli širino, dolžino in natančnost. To je zato, ker API poskuša najti lokacijo čim natančneje.

9. korak: Pojdite na Google Zemljevide

Pojdite na Google Zemljevide
Pojdite na Google Zemljevide

Pojdite na https://www.google.com/maps/ in v iskalno vrstico vnesite svoje koordinate. Koordinate je treba zapisati na naslednji način: 52.385259, 5.196099. Google Zemljevidi morajo prikazati, kje se nahajate na zemljevidu.

10. korak: Pošljite lokacijo na svoj mobilni telefon

Pošlji lokacijo na svoj mobilni telefon
Pošlji lokacijo na svoj mobilni telefon

In … končali ste! Če želite lokacijo poslati na svoj mobilni telefon, je to mogoče. Če želite, bodo Google Zemljevidi poslali e -poštno sporočilo z vašimi koordinatami.

Veselo iskanje!

Priporočena: