Obsah:
- Krok 1: Co potřebujete
- Krok 2: Přejděte do Unwired Labs
- Krok 3: Zaregistrujte se a získejte token API
- Krok 4: Zkontrolujte svůj e -mail
- Krok 5: Knihovny, které budete potřebovat
- Krok 6: Přidejte kód v Arduinu pro připojení pomocí LocationAPI
- Krok 7: Otevřete sériový monitor, abyste zjistili, zda jste připojeni
- Krok 8: Získejte souřadnice
- Krok 9: Přejděte na Mapy Google
- Krok 10: Odeslání polohy na váš mobil
2025 Autor: John Day | [email protected]. Naposledy změněno: 2025-01-13 06:57
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
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
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
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ř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
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í!