Sadržaj:
- Korak 1: Što vam treba
- Korak 2: Idite u Nežičane laboratorije
- Korak 3: Prijavite se za dobivanje API tokena
- Korak 4: Provjerite svoju e -poštu
- Korak 5: Knjižnice koje će vam trebati
- Korak 6: Dodajte kôd u Arduino za povezivanje s LocationAPI -jem
- Korak 7: Otvorite serijski monitor da vidite jeste li povezani
- Korak 8: Dobijte koordinate
- Korak 9: Idite na Google karte
- Korak 10: Pošaljite lokaciju na svoj mobitel
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
Zanima vas kako vaš NodeMCU može pratiti vašu lokaciju? Moguće je, čak i bez GPS modula i bez zaslona. Izlaz će biti koordinate na kojima se nalazite i vidjet ćete ih na svom serijskom monitoru.
Sljedeće postavke korištene su za NodeMCU 1.0 (ESP-12E modul) s Arduino IDE-om.
- Windows 10
- Arduino IDE v. 1.8.4
Korak 1: Što vam treba
Da biste slijedili ovaj vodič, potrebne su vam sljedeće komponente:
- Mikro USB kabel
- NodeMCU ESP8266
Nadalje, trebat će vam:
- LocationAPI (iz Unwired Labs)
- Pristup Wi -Fi -ju ili hotspotu
Korak 2: Idite u Nežičane laboratorije
Geolokacija je vrlo korisna jer kada vam je GPS u kvaru, i dalje možete koristiti Geolokaciju za praćenje svoje lokacije. Naš domaćin koji pruža geolokaciju bit će https://www.unwiredlabs.com/. Idite na tu web stranicu i prijavite se (narančasti gumb u gornjem desnom kutu).
Korak 3: Prijavite se za dobivanje API tokena
Na stranici za registraciju morate unijeti svoje ime, e -adresu (vaš API token bit će poslan na vašu e -poštu) i slučaj upotrebe (na primjer, osobna upotreba). Odaberite vrstu računa. Besplatna verzija bit će sasvim u redu, ali imajte na umu da ste ograničeni i ne možete pratiti svoju lokaciju 24 sata dnevno. Započnimo!
Korak 4: Provjerite svoju e -poštu
Idite na svoju e -poštu i vidjet ćete svoj API token. Kopirajte API token jer vam je to potrebno za kôd koji ćemo koristiti. Ovako izgleda e -poruka:
Zdravo!
Hvala vam što ste se prijavili na Unwired Labs LocationAPI! Vaš API token je 'vaš API kôd je ovdje' (bez navodnika). Ovo će dati 100 zahtjeva dnevno besplatno - zauvijek.
Ako želite besplatno pratiti 5 uređaja, odgovorite sa sljedećim detaljima, a mi ćemo nadograditi vaš račun u roku od 12 sati:
1. Vrsta implementacije (hardver/ aplikacija/ ostalo):
2. O vašem projektu:
3. Web stranica:
Ovdje se možete prijaviti na svoju nadzornu ploču: https://unwiredlabs.com/dashboard. Ako naiđete na probleme ili imate pitanja, odgovorite na ovu poruku e -pošte i pomoći ću vam!
Sretno lociranje!
Sagar
Laboratorije bez žica
Korak 5: Knjižnice koje će vam trebati
Sljedeći korak je otvaranje Arduina i upravljanje bibliotekama. Morate instalirati ArduinoJson biblioteku. Ostale knjižnice su već ugrađene. Kad budete spremni, možete početi pisati kôd.
Korak 6: Dodajte kôd u Arduino za povezivanje s LocationAPI -jem
Napravite novu skicu i dodajte sljedeći kod u Arduino. Napišite vlastiti naziv wifi/hotspota i svoju lozinku. Zalijepite API token koji ste primili u e -poruci. Prenesite svoj kôd na svoj NodeMCU.
#uključi
#uključi
#include "ESP8266WiFi.h"
// vaš mrežni SSID (naziv) i mrežna lozinka
char myssid = "Vaš naziv wifi/hotspota"; char mypass = "Vaša lozinka";
// unwiredlabs Naziv hosta i URL krajnje točke geolokacije
const char* Host = "www.unwiredlabs.com"; Krajnja točka niza = "/v2/process.php";
// UnwiredLabs API_Token. Prijavite se ovdje da biste dobili besplatni token
Oznaka niza = "d99cccda52ec0b";
Niz jsonString = "{ n";
// Varijable za spremanje odgovora ožičenih laboratorija
dvostruka zemljopisna širina = 0,0; dvostruka zemljopisna dužina = 0,0; dvostruka točnost = 0,0;
void setup () {
Serial.begin (115200);
// Postavite WiFi na način rada stanice i odspojite AP ako je prethodno bio spojen
WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Postavljanje je dovršeno");
// Počinjemo povezivanjem na WiFi mrežu
Serial.print ("Povezivanje s"); Serial.println (myssid); WiFi.počnite (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {{100} {101}
kašnjenje (500); Serial.print ("."); } Serial.println ("."); }
void loop () {{100} {101}
char bssid [6]; DynamicJsonBuffer jsonBuffer;
// WiFi.scanNetworks će vratiti broj pronađenih mreža
int n = WiFi.scanNetworks (); Serial.println ("skeniranje obavljeno");
ako (n == 0) {
Serial.println ("Nema dostupnih mreža"); } else {Serial.print (n); Serial.println ("pronađene mreže"); }
// sada sastavite jsonString …
jsonString = "{ n"; jsonString += "\" token / ": \" "; jsonString += token; jsonString +=" / ", / n"; jsonString += "\" id / ": \" saikirandevice01 / ", / n"; jsonString += "\" wifi / ": [n"; za (int j = 0; j <n; ++ j) {jsonString += "{ n"; jsonString += "\" bssid / ": \" "; jsonString += (WiFi. BSSIDstr (j)); jsonString +=" / ", / n"; jsonString += "\" signal / ":"; jsonString += WiFi. RSSI (j); jsonString += "\ n"; if (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);
WiFiClientSecure klijent;
// Povežite se s klijentom i uputite api poziv
Serial.println ("URL koji traži: https://" + (String) Host + krajnja točka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + krajnja točka + "HTTP/1.1"); client.println ("Host:" + (String) Host); client.println ("Veza: zatvori"); client.println ("Vrsta sadržaja: aplikacija/json"); client.println ("Korisnički agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); kašnjenje (500); }
// Pročitajte i raščlanite sve retke odgovora s poslužitelja
while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (linija); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; točnost = korijen ["točnost"];
Serial.println ();
Serial.print ("Latitude ="); Serial.println (zemljopisna širina, 6); Serial.print ("Longitude ="); Serial.println (zemljopisna dužina, 6); Serial.print ("Točnost ="); Serial.println (točnost); }}
Serial.println ("zatvaranje veze");
Serial.println (); client.stop ();
kašnjenje (5000);
}
Korak 7: Otvorite serijski monitor da vidite jeste li povezani
Idite na alate u Arduinu i otvorite serijski monitor. Da biste vidjeli jeste li povezani s internetom, trebali biste vidjeti sljedeće na serijskom monitoru:
Postavljanje je dovršeno
Povezivanje na (vaše ime WiFi) … skeniranje je dovršeno
Korak 8: Dobijte koordinate
Ako je uspješno radio, pod skeniranjem bi trebao vidjeti cijeli popis podataka. Jedino što nam treba je kôd ispod URL -a koji traži, pa će nam trebati zemljopisna širina i dužina. Ovo su koordinate.
Traženi URL:
Povezano
Geografska širina = 52,385259
Geografska dužina = 5,196099
Točnost = 41,00
zatvaranje veze
Nakon 5 sekundi kôd će se stalno ažurirati i vjerojatno ćete vidjeti promjenu zemljopisne širine, dužine i točnosti. To je zato što API pokušava najbolje je što preciznije pratiti lokaciju.
Korak 9: Idite na Google karte
Idite na https://www.google.com/maps/ i unesite svoje koordinate u traku za pretraživanje. Koordinate je potrebno napisati na sljedeći način: 52.385259, 5.196099. Google karte trebale bi pokazati gdje se nalazite na karti.
Korak 10: Pošaljite lokaciju na svoj mobitel
I … gotovi ste! Stoga, ako želite poslati lokaciju na svoj mobilni telefon, to je moguće. Google karte poslat će e -poruku s vašim koordinatama ako želite.
Sretno lociranje!