Sadržaj:
- Korak 1: Šta 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: Biblioteke koje će vam trebati
- Korak 6: Dodajte kôd u Arduino da biste se povezali s LocationAPI
- Korak 7: Otvorite serijski monitor da vidite jeste li povezani
- Korak 8: Dobijte koordinate
- Korak 9: Idite na Google mape
- Korak 10: Pošaljite lokaciju na svoj mobilni telefon
2025 Autor: John Day | [email protected]. Zadnja izmjena: 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 ekrana. Izlaz će biti koordinate na kojima se nalazite i vidjet ćete ih na svom serijskom monitoru.
Sljedeća postavka je korištena za NodeMCU 1.0 (ESP-12E modul) s Arduino IDE-om.
- Windows 10
- Arduino IDE v. 1.8.4
Korak 1: Šta vam treba
Da biste slijedili ovaj vodič, potrebne su vam sljedeće komponente:
- Mikro USB kabl
- NodeMCU ESP8266
Osim toga, trebat će vam:
- LocationAPI (iz Unwired Labs)
- Pristup WiFi -u ili hotspotu
Korak 2: Idite u Nežičane laboratorije
Geolokacija je vrlo korisna jer kada vam je GPS neispravan, 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často dugme u gornjem desnom kutu).
Korak 3: Prijavite se za dobivanje API tokena
Na stranici za registraciju morate popuniti svoje ime, e -adresu (vaš API token bit će poslan na vašu e -poštu) i slučaj upotrebe (na primjer, za ličnu upotrebu). 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. Hajde da počnemo!
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 i nadogradit ćemo vaš račun u roku od 12 sati:
1. Vrsta implementacije (hardverska/ aplikacija/ ostalo):
2. O vašem projektu:
3. Web stranica:
Možete se prijaviti na svoju nadzornu ploču ovdje: 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
Unwired Labs
Korak 5: Biblioteke koje će vam trebati
Sljedeći korak je otvaranje Arduina i upravljanje bibliotekama. Morate instalirati ArduinoJson biblioteku. Ostale biblioteke su već ugrađene. Kada budete spremni, možete početi pisati kôd.
Korak 6: Dodajte kôd u Arduino da biste se povezali s LocationAPI
Napravite novu skicu i dodajte sljedeći kod u Arduino. Napišite svoje ime wifi/hotspota i lozinku. Zalijepite API token koji ste primili u e -poruci. Otpremite svoj kôd na svoj NodeMCU.
#include
#include
#include "ESP8266WiFi.h"
// vaš mrežni SSID (ime) i mrežna lozinka
char myssid = "Ime vaše WiFi/hotspot"; char mypass = "Vaša lozinka";
// unwiredlabs Naziv hosta i URL krajnje točke geolokacije
const char* Host = "www.unwiredlabs.com"; String endpoint = "/v2/process.php";
// UnwiredLabs API_Token. Prijavite se ovdje da biste dobili besplatni token
String token = "d99cccda52ec0b";
Niz jsonString = "{ n";
// Varijable za spremanje odgovora ožičenih laboratorija
dvostruka širina = 0,0; dvostruka geografska dužina = 0,0; dvostruka tačnost = 0,0;
void setup () {
Serial.begin (115200);
// Postavite WiFi na način rada stanice i odspojite AP ako je prethodno bio povezan
WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Postavljanje je završeno");
// Počinjemo povezivanjem na WiFi mrežu
Serial.print ("Povezivanje sa"); Serial.println (myssid); WiFi.begin (myssid, mypass);
while (WiFi.status ()! = WL_CONNECTED) {
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 završeno");
if (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"; for (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 tačka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + krajnja tač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 redove odgovora sa servera
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 (longitude, 6); Serial.print ("Tačnost ="); Serial.println (tač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 provjerili jeste li povezani s internetom, trebali biste vidjeti sljedeće na serijskom monitoru:
Postavljanje završeno
Povezivanje na (vaše ime WiFi) … skeniranje završeno
Korak 8: Dobijte koordinate
Ako je uspješno funkcionirao, trebali biste vidjeti pod skeniranjem obavljen 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ženje URL -a:
Povezano
Geografska širina = 52,385259
Geografska dužina = 5,196099
Tač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 tačnosti. To je zato što API pokušava najbolje je pratiti lokaciju što je moguće preciznije.
Korak 9: Idite na Google mape
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 bi trebale pokazati gdje se nalazite na karti.
Korak 10: Pošaljite lokaciju na svoj mobilni telefon
I … završili ste! Stoga, ako želite poslati lokaciju na svoj mobilni telefon, to je moguće. Google karte će tada poslati e -poruku s vašim koordinatama ako želite.
Sretno lociranje!