Obsah:

Sledovač polohy s NodeMCU ESP8266: 10 krokov
Sledovač polohy s NodeMCU ESP8266: 10 krokov

Video: Sledovač polohy s NodeMCU ESP8266: 10 krokov

Video: Sledovač polohy s NodeMCU ESP8266: 10 krokov
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Sledovač polohy s NodeMCU ESP8266
Sledovač polohy s NodeMCU ESP8266

Zaujíma vás, ako môže váš NodeMCU sledovať vašu polohu? Je to možné, aj bez modulu GPS a bez displeja. Výstupom budú súradnice, kde sa nachádzate a uvidíte ich na svojom sériovom monitore.

Nasledujúce nastavenie bolo použité pre NodeMCU 1.0 (modul ESP-12E) s Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Krok 1: Čo potrebujete

Na to, aby ste sa mohli riadiť týmto návodom, sú potrebné nasledujúce komponenty:

  • Micro USB kábel
  • NodeMCU ESP8266

Ďalej budete potrebovať:

  • LocationAPI (od Unwired Labs)
  • Prístup k wifi alebo hotspotu

Krok 2: Prejdite na Unwired Labs

Prejdite na Unwired Labs
Prejdite na Unwired Labs

Geolokácia je veľmi užitočná, pretože aj keď je váš GPS vypnutý, môžete svoju polohu stále sledovať pomocou Geolokácie. Náš hostiteľ, ktorý poskytuje geolokáciu, bude https://www.unwiredlabs.com/. Prejdite na príslušný web a zaregistrujte sa (oranžové tlačidlo v pravom hornom rohu).

Krok 3: Zaregistrujte sa a získajte token API

Zaregistrujte sa a získajte token API
Zaregistrujte sa a získajte token API

Na registračnej stránke musíte vyplniť svoje meno, e -mail (token API vám bude odoslaný na váš e -mail) a prípad použitia (napríklad osobné použitie). Vyberte typ svojho účtu. Bezplatná verzia bude fungovať dobre, ale majte na pamäti, že ste obmedzení a nemôžete 24/7 sledovať vašu polohu. Začnime!

Krok 4: Skontrolujte svoj e -mail

Prejdite na svoj e -mail a uvidíte svoj token API. Skopírujte token API, pretože to potrebujete pre kód, ktorý budeme používať. Takto vyzerá e -mail:

Ahoj!

Ďakujeme, že ste sa zaregistrovali do Unwired Labs LocationAPI! Váš token API je „váš kód API je tu“(bez úvodzoviek). To poskytne 100 žiadostí/ deň zadarmo - navždy.

Ak chcete bezplatne sledovať 5 zariadení, odpovedzte prosím pomocou nasledujúcich podrobností a váš účet aktualizujeme do 12 hodín:

1. Typ nasadenia (hardvér/ aplikácia/ iné):

2. O vašom projekte:

3. Webová stránka:

Na svoj informačný panel sa môžete prihlásiť tu: https://unwiredlabs.com/dashboard. Ak máte problémy alebo máte otázky, odpovedzte na tento e -mail a ja vám pomôžem!

Šťastné umiestnenie!

Sagar

Laboratóriá bez káblov

Krok 5: Knižnice, ktoré budete potrebovať

Knižnice, ktoré budete potrebovať
Knižnice, ktoré budete potrebovať

Ďalším krokom je otvorenie programu Arduino a správa knižníc. Musíte nainštalovať knižnicu ArduinoJson. Ostatné knižnice sú už vstavané. Keď budete pripravení, môžete začať písať kód.

Krok 6: Pridajte kód do Arduina a spojte sa s LocationAPI

Vytvorte nový náčrt a pridajte nasledujúci kód do Arduina. Napíšte svoj vlastný názov wifi/hotspotu a heslo. Prilepte token API, ktorý ste dostali do e -mailu. Nahrajte kód do svojho NodeMCU.

#zahrnúť

#zahrnúť

#include "ESP8266WiFi.h"

// SSID (názov) a sieťové heslo vašej siete

char myssid = "Názov vášho wifi/hotspotu"; char mypass = "Vaše heslo";

// unbiredlabs Názov hostiteľa a adresa URL koncového bodu geolokácie

const char* Host = "www.unwiredlabs.com"; Koncový bod reťazca = "/v2/process.php";

// UnwiredLabs API_Token. Zaregistrujte sa tu a získajte bezplatný token

Reťazec tokenu = "d99cccda52ec0b";

Reťazec jsonString = "{ n";

// Premenné na uloženie odpovede uniredlabs

dvojitá zemepisná šírka = 0,0; dvojnásobná dĺžka = 0,0; dvojnásobná presnosť = 0,0;

neplatné nastavenie () {

Serial.begin (115200);

// Nastavte WiFi na režim stanice a odpojte sa od prístupového bodu, ak bol predtým pripojený

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Nastavenie dokončené");

// Začneme pripojením k sieti WiFi

Serial.print („Pripojenie k“); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

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

prázdna slučka () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks vráti počet nájdených sietí

int n = WiFi.scanNetworks (); Serial.println („skenovanie dokončené“);

ak (n == 0) {

Serial.println („Nie sú k dispozícii žiadne siete“); } else {Serial.print (n); Serial.println ("nájdené siete"); }

// teraz vytvorte jsonString …

jsonString = "{ n"; jsonString += "\" token / ": \" "; jsonString += token; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [ n"; pre (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signál / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; if (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);

WiFiClientSecure klient;

// Pripojte sa ku klientovi a uskutočnite api hovor

Serial.println ("Požadovaná adresa URL: https://" + (reťazec) hostiteľ + koncový bod); if (client.connect (Host, 443)) {Serial.println ("Connected"); client.println („POST“+ koncový bod + „HTTP/1,1“); client.println ("Hostiteľ:" + (reťazec) hostiteľ); client.println („Pripojenie: zavrieť“); client.println ("Typ obsahu: aplikácia/json"); client.println ("User-Agent: Arduino/1.0"); client.print („Dĺžka obsahu:“); client.println (jsonString.length ()); client.println (); client.print (jsonString); oneskorenie (500); }

// Prečítajte a analyzujte všetky riadky odpovede zo servera

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (riadok); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; správnosť = koreň ["presnosť"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (zemepisná šírka, 6); Serial.print ("Longitude ="); Serial.println (zemepisná dĺžka, 6); Serial.print ("Presnosť ="); Serial.println (presnosť); }}

Serial.println ("zatváranie pripojenia");

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

oneskorenie (5 000);

}

Krok 7: Otvorte sériový monitor a zistite, či ste pripojení

Prejdite na nástroje v Arduine a otvorte sériový monitor. Ak chcete zistiť, či ste pripojení k internetu, na sériovom monitore by ste mali vidieť nasledujúce:

Nastavenie je dokončené

Pripája sa k (váš názov Wi -Fi) … skenovanie bolo dokončené

Krok 8: Získajte súradnice

Ak to fungovalo úspešne, mali by ste pri skenovaní vidieť celý zoznam údajov. Jediné, čo potrebujeme, je kód pod požadovanou adresou URL, takže budeme potrebovať zemepisnú šírku a dĺžku. Toto sú súradnice.

Požadovaná adresa URL:

Pripojené

Zemepisná šírka = 52,385259

Zemepisná dĺžka = 5,196099

Presnosť = 41,00

zatváracie spojenie

Po 5 sekundách sa kód bude neustále aktualizovať a pravdepodobne uvidíte zmenu zemepisnej šírky, dĺžky a presnosti. Je to preto, že API sa snaží, aby bolo najlepšie sledovať polohu čo najpresnejšie.

Krok 9: Prejdite na Mapy Google

Prejdite na Mapy Google
Prejdite na Mapy Google

Prejdite na stránku https://www.google.com/maps/ a do vyhľadávacieho panela zadajte svoje súradnice. Súradnice je potrebné napísať nasledujúcim spôsobom: 52.385259, 5.196099. Mapy Google by mali na mape zobrazovať, kde sa nachádzate.

Krok 10: Odošlite polohu svojmu mobilu

Pošlite polohu svojmu mobilu
Pošlite polohu svojmu mobilu

A … ste hotoví! Preto, ak chcete odoslať polohu na svoj mobil, je to možné. Mapy Google potom odošlú e -mail s vašimi súradnicami, ak chcete.

Šťastné umiestnenie!

Odporúča: