Obsah:

Sledovač polohy s NodeMCU ESP8266: 10 kroků
Sledovač polohy s NodeMCU ESP8266: 10 kroků

Video: Sledovač polohy s NodeMCU ESP8266: 10 kroků

Video: Sledovač polohy s NodeMCU ESP8266: 10 kroků
Video: Bezplatné sledovanie polohy - Zenly 2024, Červenec
Anonim
Sledovač polohy s NodeMCU ESP8266
Sledovač polohy s NodeMCU ESP8266

Zajímá vás, jak může váš NodeMCU sledovat vaši polohu? Je to možné, dokonce i bez modulu GPS a bez displeje. Výstupem budou souřadnice, kde se nacházíte, a uvidíte je na svém sériovém monitoru.

Následující nastavení bylo použito pro NodeMCU 1.0 (modul ESP-12E) s Arduino IDE.

  • Windows 10
  • Arduino IDE v. 1.8.4

Krok 1: Co potřebujete

Abyste mohli tento tutoriál sledovat, jsou následující komponenty:

  • Micro USB kabel
  • NodeMCU ESP8266

Dále budete potřebovat:

  • LocationAPI (od Unwired Labs)
  • Přístup k wifi nebo hotspotu

Krok 2: Přejděte do Unwired Labs

Přejděte na Unwired Labs
Přejděte na Unwired Labs

Geolokace je velmi praktická, protože i když máte GPS vypnuté, můžete ke sledování vaší polohy stále používat Geolocation. Náš hostitel, který poskytuje geolokaci, bude https://www.unwiredlabs.com/. Přejděte na tento web a zaregistrujte se (oranžové tlačítko v pravém horním rohu).

Krok 3: Zaregistrujte se a získejte token API

Zaregistrujte se a získejte token API
Zaregistrujte se a získejte token API

Na registrační stránce musíte vyplnit své jméno, e -mail (token API bude zaslán na váš e -mail) a případ použití (například osobní použití). Vyberte typ svého účtu. Bezplatná verze bude fungovat dobře, ale mějte na paměti, že jste omezeni a nemůžete sledovat svou polohu 24/7. Začněme!

Krok 4: Zkontrolujte svůj e -mail

Přejděte na svůj e -mail a uvidíte svůj token API. Zkopírujte token API, protože to potřebujete pro kód, který budeme používat. Takto vypadá e -mail:

Ahoj!

Děkujeme za registraci do Unwired Labs LocationAPI! Váš token API je „váš kód API je zde“(bez uvozovek). Tím získáte 100 žádostí denně zdarma - navždy.

Pokud chcete zdarma sledovat 5 zařízení, odpovězte prosím následujícími podrobnostmi a váš účet upgradujeme do 12 hodin:

1. Typ nasazení (Hardware/ Aplikace/ Ostatní):

2. O vašem projektu:

3. Web:

Přihlásit se na hlavní panel můžete zde: https://unwiredlabs.com/dashboard. Pokud narazíte na potíže nebo máte dotazy, odpovězte na tento e -mail a já vám pomůžu!

Šťastné vyhledání!

Sagar

Bezdrátové laboratoře

Krok 5: Knihovny, které budete potřebovat

Knihovny, které budete potřebovat
Knihovny, které budete potřebovat

Dalším krokem je otevření Arduina a správa knihoven. Musíte nainstalovat knihovnu ArduinoJson. Ostatní knihovny jsou již integrovány. Až budete připraveni, můžete začít psát kód.

Krok 6: Přidejte kód v Arduinu pro připojení pomocí LocationAPI

Vytvořte nový náčrt a přidejte následující kód do Arduina. Napište vlastní název wifi/hotspotu a heslo. Vložte token API, který jste obdrželi v e -mailu. Nahrajte kód do svého NodeMCU.

#zahrnout

#zahrnout

#include "ESP8266WiFi.h"

// SSID (název) vaší sítě a heslo do sítě

char myssid = "Název vašeho wifi/hotspotu"; char mypass = "Vaše heslo";

// Unwiredlabs Název hostitele a adresa URL koncového bodu geolokace

const char* Host = "www.unwiredlabs.com"; Koncový bod řetězce = "/v2/process.php";

// UnwiredLabs API_Token. Zaregistrujte se zde a získejte bezplatný token

Řetězec tokenu = "d99cccda52ec0b";

Řetězec jsonString = "{ n";

// Proměnné pro uložení odpovědi UnwiredLabs

dvojitá šířka = 0,0; dvojnásobná délka = 0,0; dvojnásobná přesnost = 0,0;

neplatné nastavení () {

Serial.begin (115200);

// Nastavte WiFi na režim stanice a odpojte se od přístupového bodu, pokud byl dříve připojen

WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Nastavení dokončeno");

// Začneme připojením k WiFi síti

Serial.print („Připojování k“); Serial.println (myssid); WiFi.begin (myssid, mypass);

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

zpoždění (500); Serial.print ("."); } Serial.println ("."); }

prázdná smyčka () {

char bssid [6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks vrátí počet nalezených sítí

int n = WiFi.scanNetworks (); Serial.println ("skenování dokončeno");

pokud (n == 0) {

Serial.println („nejsou k dispozici žádné sítě“); } else {Serial.print (n); Serial.println ("nalezené sítě"); }

// nyní vytvořte jsonString…

jsonString = "{ n"; jsonString += "\" token / ": \" "; jsonString += token; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; pro (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;

// Připojte se ke klientovi a proveďte volání API

Serial.println ("Požadovaná adresa URL: https://" + (Řetězec) Host + koncový bod); if (client.connect (Host, 443)) {Serial.println ("Connected"); client.println ("POST" + koncový bod + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Připojení: zavřít"); client.println ("Typ obsahu: aplikace/json"); client.println ("User-Agent: Arduino/1.0"); client.print ("Délka obsahu:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); zpoždění (500); }

// Přečíst a analyzovat všechny řádky odpovědi ze serveru

while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (řádek); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; přesnost = root ["přesnost"];

Serial.println ();

Serial.print ("Latitude ="); Serial.println (zeměpisná šířka, 6); Serial.print ("Zeměpisná délka ="); Serial.println (zeměpisná délka, 6); Serial.print ("Přesnost ="); Serial.println (přesnost); }}

Serial.println ("ukončení připojení");

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

zpoždění (5000);

}

Krok 7: Otevřete sériový monitor, abyste zjistili, zda jste připojeni

Přejděte na nástroje v Arduinu a otevřete sériový monitor. Chcete -li zjistit, zda jste připojeni k internetu, měli byste na sériovém monitoru vidět následující:

Nastavení dokončeno

Připojování k (název vaší wifi) … skenování dokončeno

Krok 8: Získejte souřadnice

Pokud to fungovalo úspěšně, měli byste vidět pod skenováním celý seznam dat. Jediná věc, kterou potřebujeme, je kód pod požadující adresou URL, takže budeme potřebovat zeměpisnou šířku a délku. To jsou souřadnice.

Požadovaná adresa URL:

Připojeno

Zeměpisná šířka = 52,385259

Zeměpisná délka = 5,196099

Přesnost = 41,00

uzavírací spojení

Po 5 sekundách se kód bude neustále aktualizovat a pravděpodobně uvidíte změnu zeměpisné šířky, délky a přesnosti. Důvodem je, že se API pokouší sledovat polohu co nejpřesněji.

Krok 9: Přejděte na Mapy Google

Přejít na Google Maps
Přejít na Google Maps

Přejděte na stránku https://www.google.com/maps/ a do vyhledávacího pole zadejte souřadnice. Souřadnice je třeba zapsat následujícím způsobem: 52.385259, 5.196099. Mapy Google by měly na mapě ukazovat, kde se nacházíte.

Krok 10: Odeslání polohy na váš mobil

Odeslat polohu na váš mobil
Odeslat polohu na váš mobil

A… jste hotovi! Pokud tedy chcete odeslat polohu na svůj mobil, je to možné. Mapy Google poté odešlou e -mail s vašimi souřadnicemi, pokud chcete.

Šťastné vyhledání!

Doporučuje: