Cuprins:

Localizator de locație cu NodeMCU ESP8266: 10 pași
Localizator de locație cu NodeMCU ESP8266: 10 pași

Video: Localizator de locație cu NodeMCU ESP8266: 10 pași

Video: Localizator de locație cu NodeMCU ESP8266: 10 pași
Video: Introducere în NodeMCU ESP8266 placă de dezvoltare WiFi cu exemplu de client HTTP 2024, Noiembrie
Anonim
Urmărire locație cu NodeMCU ESP8266
Urmărire locație cu NodeMCU ESP8266

Sunteți curios despre modul în care NodeMCU vă poate urmări locația? Este posibil, chiar și fără un modul GPS și fără afișaj. Ieșirea va fi coordonatele în care vă aflați și le veți vedea pe monitorul dvs. serial.

Următoarea configurare a fost utilizată pentru NodeMCU 1.0 (modul ESP-12E) cu Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Pasul 1: De ce aveți nevoie

De ce aveți nevoie pentru a urma acest tutorial sunt următoarele componente:

  • Cablu micro USB
  • NodeMCU ESP8266

În plus, veți avea nevoie de:

  • LocationAPI (de la Unwired Labs)
  • Acces la wifi sau la un hotspot

Pasul 2: Mergeți la Unwired Labs

Accesați Unsired Labs
Accesați Unsired Labs

Geolocalizarea este foarte utilă, deoarece când GPS-ul dvs. este defect, puteți utiliza în continuare Geolocația pentru a vă urmări locația. Gazda noastră care oferă geolocalizare va fi https://www.unwiredlabs.com/. Accesați site-ul web respectiv și înscrieți-vă (butonul portocaliu din colțul din dreapta sus).

Pasul 3: Înscrieți-vă pentru a obține jeton API

Înscrieți-vă pentru a obține jeton API
Înscrieți-vă pentru a obține jeton API

Pe pagina de înscriere, trebuie să completați numele, adresa de e-mail (jetonul dvs. API va fi trimis la adresa dvs. de e-mail) și cazul de utilizare (de exemplu, uz personal). Selectați tipul de cont. Versiunea gratuită va merge bine, dar rețineți că sunteți limitat și nu vă puteți urmări locația 24/7. Să începem!

Pasul 4: verificați e-mailul

Accesați adresa de e-mail și veți vedea simbolul API. Copiați simbolul API, pentru că aveți nevoie de codul pe care îl vom folosi. Așa arată e-mailul:

Buna!

Vă mulțumim că v-ați înscris la Unwired Labs LocationAPI! Jetonul dvs. API este „codul dvs. API este aici” (fără ghilimele). Acest lucru va oferi 100 de cereri pe zi gratuit - pentru totdeauna.

Dacă doriți să urmăriți 5 dispozitive gratuit, răspundeți cu următoarele detalii și vă vom actualiza contul în termen de 12 ore:

1. Tipul de implementare (Hardware / Aplicație / Altele):

2. Despre proiectul dvs.:

3. Site web:

Vă puteți conecta la tabloul de bord aici: https://unwiredlabs.com/dashboard. Dacă întâmpinați probleme sau aveți întrebări, răspundeți la acest e-mail și vă voi ajuta!

Localizare fericită!

Sagar

Laboratoare fără fir

Pasul 5: Bibliotecile de care veți avea nevoie

Biblioteci de care veți avea nevoie
Biblioteci de care veți avea nevoie

Următorul pas este să deschideți Arduino și să mergeți la gestionarea bibliotecilor. Trebuie să instalați biblioteca ArduinoJson. Celelalte biblioteci sunt deja încorporate. Când sunteți gata, puteți începe să scrieți codul.

Pasul 6: Adăugați cod în Arduino pentru a vă conecta cu LocationAPI

Faceți o schiță nouă și adăugați următorul cod în Arduino. Scrieți-vă propriul nume wifi / hotspot și parola. Inserați simbolul API pe care l-ați primit în e-mail. Încărcați codul pe NodeMCU.

#include

#include

#include "ESP8266WiFi.h"

// SSID-ul rețelei (numele) și parola rețelei

char myssid = "Numele dvs. wifi / hotspot"; char mypass = "Parola ta";

// unwiredlabs URL-ul Nume gazdă și punct final de geolocalizare

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

// UnwiredLabs API_Token. Înscrieți-vă aici pentru a obține un jeton gratuit

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Variabile pentru a stoca răspunsul neacoperit al labelor

latitudine dublă = 0,0; longitudine dublă = 0,0; precizie dublă = 0,0;

configurare nulă () {

Serial.begin (115200);

// Setați WiFi în modul stație și deconectați-vă de la un AP dacă acesta a fost conectat anterior

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Instalare finalizată");

// Începem prin conectarea la o rețea WiFi

Serial.print („Conectarea la”); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

întârziere (500); Serial.print ("."); } Serial.println ("."); }

bucla nulă () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks va returna numărul de rețele găsite

int n = WiFi.scanNetworks (); Serial.println ("scanare făcută");

if (n == 0) {

Serial.println („Nu există rețele disponibile”); } else {Serial.print (n); Serial.println („rețele găsite”); }

// acum construiți 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);

Client WiFiClientSecure;

// Conectați-vă la client și efectuați apelul API

Serial.println („Adresă URL solicitantă: https://” + (String) Host + endpoint); if (client.connect (Host, 443)) {Serial.println ("Conectat"); client.println ("POST" + punct final + "HTTP / 1.1"); client.println ("Gazdă:" + (Șir) Gazdă); client.println ("Conexiune: închidere"); client.println ("Content-Type: application / json"); client.println ("User-Agent: Arduino / 1.0"); client.print („Lungime conținut:”); client.println (jsonString.length ()); client.println (); client.print (jsonString); întârziere (500); }

// Citiți și analizați toate liniile răspunsului de pe server

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (linie); if (root.success ()) {latitude = root ["lat"]; longitudine = rădăcină ["lon"]; acuratețe = rădăcină ["acuratețe"];

Serial.println ();

Serial.print ("Latitudine ="); Serial.println (latitudine, 6); Serial.print ("Longitudine ="); Serial.println (longitudine, 6); Serial.print ("Precizie ="); Serial.println (precizie); }}

Serial.println („închiderea conexiunii”);

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

întârziere (5000);

}

Pasul 7: Deschideți monitorul serial pentru a vedea dacă sunteți conectat

Accesați instrumentele din Arduino și deschideți monitorul serial. Pentru a vedea dacă sunteți conectat la internet, ar trebui să vedeți următoarele pe monitorul serial:

Configurarea a fost finalizată

Conectarea la (numele dvs. de rețea wifi) … scanare finalizată

Pasul 8: Obțineți coordonatele

Dacă a funcționat cu succes, în scanare ar trebui să vedeți o listă întreagă de date. Singurul lucru de care avem nevoie este codul de sub adresa URL solicitantă, deci vom avea nevoie de latitudine și longitudine. Acestea sunt coordonatele.

Adresa URL de solicitare:

Conectat

Latitudine = 52.385259

Longitudine = 5.196099

Precizie = 41,00

conexiunea de închidere

După 5 secunde, codul se va actualiza constant și veți vedea probabil că latitudinea, longitudinea și precizia se schimbă. Asta pentru că API-ul încearcă că este mai bine să urmăriți locația cât mai precis posibil.

Pasul 9: accesați Google Maps

Accesați Google Maps
Accesați Google Maps

Accesați https://www.google.com/maps/ și introduceți coordonatele în bara de căutare. Coordonatele trebuie scrise în felul următor: 52.385259, 5.196099. Google Maps ar trebui să arate unde vă aflați pe hartă.

Pasul 10: trimiteți locația pe telefonul mobil

Trimiteți locația pe telefonul mobil
Trimiteți locația pe telefonul mobil

Și … ai terminat! Prin urmare, dacă doriți să trimiteți locația pe telefonul dvs. mobil, este posibil. Google Maps va trimite apoi un e-mail cu coordonatele dvs., dacă doriți.

Localizare fericită!

Recomandat: