Sisukord:

Asukohajälgija koos NodeMCU ESP8266 -ga: 10 sammu
Asukohajälgija koos NodeMCU ESP8266 -ga: 10 sammu

Video: Asukohajälgija koos NodeMCU ESP8266 -ga: 10 sammu

Video: Asukohajälgija koos NodeMCU ESP8266 -ga: 10 sammu
Video: Haagise alarm ja GPS jälgimine - CarCops 2024, November
Anonim
Asukohajälgija koos NodeMCU ESP8266 -ga
Asukohajälgija koos NodeMCU ESP8266 -ga

Kas olete huvitatud sellest, kuidas teie NodeMCU saab teie asukohta jälgida? See on võimalik isegi ilma GPS -moodulita ja ilma ekraanita. Väljundiks on teie asukoha koordinaadid ja näete neid oma jadamonitoris.

NodeMCU 1.0 (ESP-12E moodul) ja Arduino IDE puhul kasutati järgmist seadistust.

  • Windows 10
  • Arduino IDE v. 1.8.4

Samm: mida vajate

Selle õpetuse järgimiseks on vaja järgmisi komponente:

  • Micro USB kaabel
  • SõlmMCU ESP8266

Lisaks vajate:

  • LocationAPI (juhtmeta laboritest)
  • Juurdepääs WiFi -le või levialale

2. samm: minge juhtmeta laborisse

Minge jaotisse Unwired Labs
Minge jaotisse Unwired Labs

Geolokatsioon on väga kasulik, sest kui teie GPS on maas, saate oma asukoha jälgimiseks siiski kasutada geolokatsiooni. Meie host, kes pakub geograafilist asukohta, on https://www.unwiredlabs.com/. Minge sellele veebisaidile ja registreeruge (oranž nupp paremas ülanurgas).

Samm: registreeruge API -märgi hankimiseks

Registreeruge API -märgi saamiseks
Registreeruge API -märgi saamiseks

Registreerimislehel peate sisestama oma nime, e -posti aadressi (teie API -märgi saadetakse teie e -posti aadressile) ja kasutusjuhtumi (näiteks isiklikuks kasutamiseks). Valige oma konto tüüp. Tasuta versioon läheb suurepäraselt, kuid pidage meeles, et olete piiratud ja te ei saa oma asukohta ööpäevaringselt jälgida. Alustame!

Samm: kontrollige oma e -posti

Minge oma e -posti aadressile ja näete oma API -märki. Kopeerige API -luba, kuna vajate seda koodi jaoks, mida kasutame. Nii näeb meil välja:

Tere!

Täname, et registreerusite Unwired Labsi asukohaAPI -ga! Teie API -märk on „teie API -kood on siin” (ilma jutumärkideta). See annab 100 taotlust päevas tasuta - igavesti.

Kui soovite 5 seadet tasuta jälgida, vastake palun järgmise teabega ja uuendame teie konto 12 tunni jooksul:

1. Juurutamise tüüp (riistvara/ rakendus/ muu):

2. Teie projekti kohta:

3. Veebisait:

Oma armatuurlauale saate sisse logida siin: https://unwiredlabs.com/dashboard. Kui teil tekib probleeme või teil on küsimusi, vastake sellele meilile ja ma aitan teid!

Head asukoha leidmist!

Sagar

Traadita laborid

Samm: raamatukogud, mida vajate

Raamatukogud, mida vajate
Raamatukogud, mida vajate

Järgmine samm on Arduino avamine ja raamatukogude haldamine. Peate installima ArduinoJsoni kogu. Teised teegid on juba sisse ehitatud. Kui olete valmis, võite hakata koodi kirjutama.

Samm: lisage kood Arduinos, et luua ühendus asukohaAPI -ga

Tehke uus visand ja lisage Arduinos järgmine kood. Kirjutage oma wifi/leviala nimi ja parool. Kleepige meilis saadud API -luba. Laadige oma kood üles oma NodeMCU -sse.

#kaasake

#kaasake

#include "ESP8266WiFi.h"

// teie võrgu SSID (nimi) ja võrgu parool

char myssid = "Sinu wifi/leviala nimi"; char mypass = "Teie parool";

// wiredlabs Hostname & Geolocation Endpoint url

const char* Host = "www.unwiredlabs.com"; Stringi lõpp -punkt = "/v2/process.php";

// UnwiredLabs API_Token. Registreeruge siin tasuta märgi saamiseks

String token = "d99cccda52ec0b";

String jsonString = "{ n";

// Muutujad soovimatute vastuste salvestamiseks

kahekordne laiuskraad = 0,0; kahekordne pikkuskraad = 0,0; kahekordne täpsus = 0,0;

tühine seadistus () {

Seriaalne algus (115200);

// Lülitage WiFi jaamarežiimi ja katkestage ühendus AP -ga, kui see oli varem ühendatud

WiFi -režiim (WIFI_STA); WiFi.disconnect (); Serial.println ("Seadistus tehtud");

// Alustame WiFi -võrguga ühenduse loomisest

Serial.print ("Ühendamine"); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

viivitus (500); Seeria.print ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks tagastab leitud võrkude arvu

int n = WiFi.scanNetworks (); Serial.println ("skannimine tehtud");

kui (n == 0) {

Serial.println ("Võrke pole saadaval"); } else {Serial.print (n); Serial.println ("võrgud leitud"); }

// ehita nüüd jsonString …

jsonString = "{ n"; jsonString += "\" märk / ": \" "; jsonString += märk; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; jaoks (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signaal / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; kui (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure klient;

// Looge ühendus kliendiga ja tehke api kõne

Serial.println ("Taotlev URL: https://" + (String) Host + lõpp -punkt); if (client.connect (Host, 443)) {Serial.println ("Ühendatud"); client.println ("POST" + lõpp -punkt + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Ühendus: sulge"); client.println ("Sisu tüüp: rakendus/json"); client.println ("Kasutajaagent: Arduino/1.0"); client.print ("Sisu-pikkus:"); klient.println (jsonString.length ()); klient.println (); klient.print (jsonString); viivitus (500); }

// Loe ja analüüsi kõiki serveri vastuse ridu

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (rida); if (root.success ()) {laiuskraad = juur ["lat"]; pikkuskraad = juur ["lon"]; täpsus = juur ["täpsus"];

Serial.println ();

Serial.print ("Laiuskraad ="); Serial.println (laiuskraad, 6); Serial.print ("Pikkuskraad ="); Seeria.println (pikkuskraad, 6); Serial.print ("Täpsus ="); Serial.println (täpsus); }}

Serial.println ("ühenduse sulgemine");

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

viivitus (5000);

}

Samm: avage jadamonitor, et näha, kas olete ühendatud

Minge Arduino tööriistadesse ja avage jadamonitor. Et näha, kas teil on Interneti -ühendus, peaksite jadamonitoris nägema järgmist.

Seadistus tehtud

Ühendamine (teie wifi nimi) … skannimine on tehtud

Samm: hankige koordinaadid

Kui see õnnestus, peaksite skannimise all nägema tervet andmete loendit. Ainus, mida vajame, on taotleva URL -i all olev kood, seega vajame laius- ja pikkuskraade. Need on koordinaadid.

Taotlev URL:

Ühendatud

Laiuskraadid = 52,3385259

Pikkuskraadid = 5,196099

Täpsus = 41.00

sulguv ühendus

5 sekundi pärast uuendatakse koodi pidevalt ja tõenäoliselt näete laiuse, pikkuskraadi ja täpsuse muutumist. Selle põhjuseks on asjaolu, et API püüab asukohta võimalikult täpselt jälgida.

9. samm: minge Google Mapsi

Avage Google Maps
Avage Google Maps

Minge aadressile https://www.google.com/maps/ ja sisestage otsinguribale oma koordinaadid. Koordinaadid tuleb kirjutada järgmiselt: 52.385259, 5.196099. Google Maps peaks kaardil näitama, kus te asute.

Samm: saatke asukoht oma mobiiltelefonile

Saada asukoht mobiiltelefonile
Saada asukoht mobiiltelefonile

Ja… olete valmis! Seega, kui soovite asukoha oma mobiiltelefonile saata, on see võimalik. Seejärel saadab Google Maps soovi korral meili koos teie koordinaatidega.

Head leidmist!

Soovitan: