Turinys:

Vietos stebėjimo priemonė su „NodeMCU ESP8266“: 10 žingsnių
Vietos stebėjimo priemonė su „NodeMCU ESP8266“: 10 žingsnių

Video: Vietos stebėjimo priemonė su „NodeMCU ESP8266“: 10 žingsnių

Video: Vietos stebėjimo priemonė su „NodeMCU ESP8266“: 10 žingsnių
Video: PTZ Stebėjimo kamera su WIFI - EZVIZ H8 / vaizdo kameros apžvalga / EP90 2024, Liepa
Anonim
Vietos stebėjimo priemonė su „NodeMCU ESP8266“
Vietos stebėjimo priemonė su „NodeMCU ESP8266“

Ar jums įdomu, kaip jūsų „NodeMCU“gali stebėti jūsų buvimo vietą? Tai įmanoma, net be GPS modulio ir be ekrano. Išvestis bus koordinatės, kuriose esate, ir jas matysite nuosekliajame monitoriuje.

Ši sąranka buvo naudojama „NodeMCU 1.0“(ESP-12E modulis) su „Arduino IDE“.

  • „Windows 10“
  • „Arduino IDE“v. 1.8.4

1 žingsnis: ko jums reikia

Norint laikytis šios pamokos, jums reikia šių komponentų:

  • Mikro USB kabelis
  • NodeMCU ESP8266

Be to, jums reikės:

  • LocationAPI (iš „Unwired Labs“)
  • Prieiga prie „Wi -Fi“arba viešosios interneto prieigos taško

2 veiksmas: eikite į „Unwired Labs“

Eikite į „Unwired Labs“
Eikite į „Unwired Labs“

Geografinė vieta yra labai naudinga, nes kai jūsų GPS neveikia, vis tiek galite naudoti geografinę vietą savo vietai stebėti. Mūsų šeimininkas, teikiantis geografinę vietą, bus https://www.unwiredlabs.com/. Eikite į tą svetainę ir prisiregistruokite (oranžinis mygtukas viršutiniame dešiniajame kampe).

3 veiksmas: prisiregistruokite gauti API prieigos raktą

Prisiregistruokite, kad gautumėte API prieigos raktą
Prisiregistruokite, kad gautumėte API prieigos raktą

Prisiregistravimo puslapyje turite įvesti savo vardą, el. Pašto adresą (jūsų API prieigos raktas bus išsiųstas į jūsų el. Paštą) ir naudojimo atvejį (pavyzdžiui, asmeniniam naudojimui). Pasirinkite paskyros tipą. Nemokama versija veiks puikiai, tačiau atminkite, kad esate ribotas ir negalite sekti savo buvimo vietos visą parą. Pradėkime!

4 veiksmas: patikrinkite el

Eikite į savo el. Paštą ir pamatysite savo API prieigos raktą. Nukopijuokite API prieigos raktą, nes jums to reikia kodui, kurį naudosime. El. Laiškas atrodo taip:

Sveiki!

Dėkojame, kad prisiregistravote prie „Unwired Labs LocationAPI“! Jūsų API prieigos raktas yra „jūsų API kodas yra čia“(be kabučių). Tai suteiks 100 užklausų per dieną nemokamai - visam laikui.

Jei norite nemokamai stebėti 5 įrenginius, atsakykite nurodydami šią informaciją ir mes atnaujinsime jūsų paskyrą per 12 valandų:

1. Diegimo tipas (aparatūra/ programa/ kita):

2. Apie jūsų projektą:

3. Svetainė:

Prie savo prietaisų skydelio galite prisijungti čia: https://unwiredlabs.com/dashboard. Jei kyla problemų ar turite klausimų, atsakykite į šį el. Laišką ir aš jums padėsiu!

Laimingos vietos!

Sagar

Belaidės laboratorijos

5 žingsnis: bibliotekos, kurių jums reikės

Bibliotekos, kurių jums prireiks
Bibliotekos, kurių jums prireiks

Kitas žingsnis yra atidaryti „Arduino“ir eiti valdyti bibliotekų. Turite įdiegti „ArduinoJson“biblioteką. Kitos bibliotekos jau yra integruotos. Kai būsite pasiruošę, galėsite pradėti rašyti kodą.

6 veiksmas: pridėkite kodą „Arduino“, kad prisijungtumėte prie „LocationAPI“

Sukurkite naują eskizą ir pridėkite šį kodą „Arduino“. Parašykite savo „wifi“/viešosios interneto prieigos taško pavadinimą ir slaptažodį. Įklijuokite el. Laiške gautą API prieigos raktą. Įkelkite kodą į „NodeMCU“.

#įtraukti

#įtraukti

#include "ESP8266WiFi.h"

// jūsų tinklo SSID (vardas) ir tinklo slaptažodis

char myssid = "Jūsų wifi/viešosios interneto prieigos taško pavadinimas"; char mypass = "Jūsų slaptažodis";

// wiredlabs Pagrindinio kompiuterio pavadinimo ir geografinės padėties pabaigos taško URL

const char* Priegloba = "www.unwiredlabs.com"; Eilutės galinis taškas = "/v2/process.php";

// „UnwiredLabs“API_Token. Prisiregistruokite čia, kad gautumėte nemokamą prieigos raktą

Eilutės raktas = "d99cccda52ec0b";

Styga jsonString = "{ n";

// „Wiredlabs“atsakymo saugojimo kintamieji

dviguba platuma = 0,0; dviguba ilguma = 0,0; dvigubas tikslumas = 0,0;

void setup () {

Serial.begin (115200);

// Nustatykite „WiFi“į stoties režimą ir atsijunkite nuo prieigos taško, jei jis anksčiau buvo prijungtas

„WiFi.mode“(WIFI_STA); „WiFi.disconnect“(); Serial.println („Sąranka atlikta“);

// Pradedame prisijungdami prie „WiFi“tinklo

Serial.print („Prisijungimas prie“); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

vėlavimas (500); Serijinis atspaudas ("."); } Serial.println ("."); }

void loop () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// „WiFi.scanNetworks“grąžins rastų tinklų skaičių

int n = WiFi.scanNetworks (); Serial.println („nuskaitymas atliktas“);

jei (n == 0) {

Serial.println („Nėra tinklų“); } else {Serial.print (n); Serial.println („rasti tinklai“); }

// dabar sukurkite „jsonString“…

jsonString = "{ n"; jsonString += "\" žetonas / ": \" "; jsonString += žetonas; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; už (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signalas / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; jei (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

„WiFiClientSecure“klientas;

// Prisijunkite prie kliento ir skambinkite api

Serial.println ("Užklausos URL: https://" + (String) Host + endpoint); if (client.connect (pagrindinis kompiuteris, 443)) {Serial.println ("Prisijungta"); client.println („POST“+ galinis taškas + „HTTP/1.1“); client.println ("Priegloba:" + (eilutės) priegloba); client.println ("Ryšys: uždaryti"); client.println ("Turinio tipas: programa/json"); client.println („Vartotojo agentas:„ Arduino “/1.0“); client.print ("Turinio ilgis:"); client.println (jsonString.length ()); klientas.println (); client.print (jsonString); vėlavimas (500); }

// Perskaitykite ir išanalizuokite visas atsakymo eilutes iš serverio

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (eilutė); if (root.success ()) {platuma = šaknis ["lat"]; ilguma = šaknis ["lon"]; tikslumas = šaknis ["tikslumas"];

Serial.println ();

Serial.print ("Platuma ="); Serial.println (platuma, 6); Serial.print ("Ilguma ="); Serijinis.println (ilguma, 6); Serial.print ("Tikslumas ="); Serial.println (tikslumas); }}

Serial.println („uždaromas ryšys“);

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

vėlavimas (5000);

}

7 veiksmas: atidarykite serijinį monitorių, kad pamatytumėte, ar esate prisijungę

Eikite į „Arduino“įrankius ir atidarykite serijinį monitorių. Jei norite pamatyti, ar esate prisijungę prie interneto, nuosekliajame monitoriuje turėtumėte pamatyti šiuos duomenis:

Sąranka atlikta

Prisijungiama prie (jūsų „wifi“pavadinimo)… nuskaitymas atliktas

8 veiksmas: gaukite koordinates

Jei jis sėkmingai veikė, skenuojant turėtumėte pamatyti visą duomenų sąrašą. Vienintelis dalykas, kurio mums reikia, yra kodas po užklausos URL, todėl mums reikės platumos ir ilgumos. Tai yra koordinatės.

Užklausos URL:

Prijungtas

Platuma = 52.385259

Ilguma = 5.196099

Tikslumas = 41.00

uždarymo jungtis

Po 5 sekundžių kodas bus nuolat atnaujinamas ir tikriausiai matysite platumos, ilgumos ir tikslumo pokyčius. Taip yra todėl, kad API stengiasi kuo tiksliau stebėti vietą.

9 veiksmas: eikite į „Google“žemėlapius

Eikite į „Google“žemėlapius
Eikite į „Google“žemėlapius

Eikite į https://www.google.com/maps/ ir paieškos juostoje įveskite savo koordinates. Koordinates reikia parašyti taip: 52.385259, 5.196099. „Google“žemėlapiai turėtų parodyti, kur esate žemėlapyje.

10 veiksmas: siųskite vietą į savo mobilųjį telefoną

Siųsti vietą į savo mobilųjį telefoną
Siųsti vietą į savo mobilųjį telefoną

Ir … baigėte! Todėl, jei norite nusiųsti vietą į savo mobilųjį telefoną, tai įmanoma. Jei norite, „Google“žemėlapiai atsiųs el. Laišką su jūsų koordinatėmis.

Laimingos vietos!

Rekomenduojamas: