Kazalo:
- 1. korak: Kaj potrebujete
- 2. korak: Pojdite v Nežične laboratorije
- 3. korak: Prijavite se za pridobitev žetona API
- 4. korak: Preverite svojo e -pošto
- 5. korak: Knjižnice, ki jih boste potrebovali
- 6. korak: Dodajte kodo v Arduino za povezavo z LocationAPI
- 7. korak: Odprite serijski monitor in preverite, ali ste povezani
- 8. korak: Pridobite koordinate
- 9. korak: Pojdite na Google Zemljevide
- 10. korak: Pošljite lokacijo na svoj mobilni telefon
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-13 06:58
Vas zanima, kako lahko vaš NodeMCU sledi vaši lokaciji? Možno je tudi brez modula GPS in brez zaslona. Izhod bodo koordinate, kjer se nahajate, in jih boste videli na svojem serijskem monitorju.
Naslednja nastavitev je bila uporabljena za NodeMCU 1.0 (modul ESP-12E) z Arduino IDE.
- Windows 10
- Arduino IDE v. 1.8.4
1. korak: Kaj potrebujete
Če želite slediti tej vadnici, so naslednje komponente:
- Kabel mikro USB
- NodeMCU ESP8266
Poleg tega boste potrebovali:
- LocationAPI (iz Unwired Labs)
- Dostop do wifi ali dostopne točke
2. korak: Pojdite v Nežične laboratorije
Geolokacija je zelo priročna, saj lahko, ko je GPS neaktiven, še vedno uporabljate Geolocation za sledenje svoji lokaciji. Naš gostitelj, ki zagotavlja geolokacijo, bo https://www.unwiredlabs.com/. Pojdite na to spletno mesto in se prijavite (oranžni gumb v zgornjem desnem kotu).
3. korak: Prijavite se za pridobitev žetona API
Na strani za registracijo morate vnesti svoje ime, e -poštni naslov (vaš žeton API bo poslan na vaš e -poštni naslov) in primer uporabe (na primer za osebno uporabo). Izberite vrsto računa. Brezplačna različica bo v redu, vendar ne pozabite, da ste omejeni in ne morete slediti svoji lokaciji 24 ur na dan. Začnimo!
4. korak: Preverite svojo e -pošto
Pojdite na svoj e -poštni naslov in videli boste svoj žeton API. Kopirajte žeton API, ker ga potrebujete za kodo, ki jo bomo uporabljali. Tako izgleda e -poštno sporočilo:
Zdravo!
Hvala, ker ste se prijavili pri Unwired Labs LocationAPI! Vaš žeton API je "vaša koda API je tukaj" (brez narekovajev). Tako bo 100 zahtevkov na dan brezplačno - za vedno.
Če želite brezplačno spremljati 5 naprav, odgovorite z naslednjimi podatki in vaš račun bomo nadgradili v 12 urah:
1. Vrsta uvajanja (strojna/ aplikacija/ drugo):
2. O vašem projektu:
3. Spletno mesto:
Na nadzorno ploščo se lahko prijavite tukaj: https://unwiredlabs.com/dashboard. Če naletite na težave ali imate vprašanja, odgovorite na to e -poštno sporočilo in pomagal vam bom!
Veselo lokacijo!
Sagar
Nežični laboratoriji
5. korak: Knjižnice, ki jih boste potrebovali
Naslednji korak je odpiranje Arduina in upravljanje knjižnic. Namestiti morate knjižnico ArduinoJson. Druge knjižnice so že vgrajene. Ko ste pripravljeni, lahko začnete pisati kodo.
6. korak: Dodajte kodo v Arduino za povezavo z LocationAPI
Naredite novo skico in dodajte naslednjo kodo v Arduino. Napišite svoje ime wifi/dostopne točke in geslo. Prilepite žeton API, ki ste ga prejeli po e -pošti. Naložite kodo v svoj NodeMCU.
#vključi
#vključi
#include "ESP8266WiFi.h"
// vaš omrežni SSID (ime) in geslo za omrežje
char myssid = "Vaše ime wifi/dostopne točke"; char mypass = "Vaše geslo";
// unwiredlabs URL gostitelja in geolokacije
const char* Host = "www.unwiredlabs.com"; Niz končna točka = "/v2/process.php";
// UnwiredLabs API_Token. Prijavite se tukaj, če želite dobiti brezplačen žeton
Žeton niza = "d99cccda52ec0b";
Niz jsonString = "{ n";
// Spremenljivke za shranjevanje odziva brezžičnih laboratorijev
dvojna zemljepisna širina = 0,0; dvojna zemljepisna dolžina = 0,0; dvojna natančnost = 0,0;
void setup () {
Serial.begin (115200);
// WiFi nastavite na način postaje in prekinite povezavo z dostopno točko, če je bila prej povezana
WiFi.mode (WIFI_STA); WiFi.disconnect (); Serial.println ("Namestitev končana");
// Začnemo s povezavo v omrežje WiFi
Serial.print ("Povezovanje z"); Serial.println (myssid); WiFi.začetek (myssid, mypass);
medtem ko (WiFi.status ()! = WL_CONNECTED) {
zamuda (500); Serial.print ("."); } Serial.println ("."); }
void loop () {
char bssid [6]; DynamicJsonBuffer jsonBuffer;
// WiFi.scanNetworks vrne število najdenih omrežij
int n = WiFi.scanNetworks (); Serial.println ("skeniranje opravljeno");
če (n == 0) {
Serial.println ("Ni razpoložljivih omrežij"); } else {Serial.print (n); Serial.println ("najdena omrežja"); }
// zdaj zgradimo jsonString …
jsonString = "{ n"; jsonString += "\" žeton / ": \" "; jsonString += žeton; 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"; če (j <n - 1) {jsonString += "}, / n"; } else {jsonString += "} n"; }} jsonString += ("] n"); jsonString += ("} n"); Serial.println (jsonString);
Odjemalec WiFiClientSecure;
// Povežite se s odjemalcem in pokličite api
Serial.println ("Zahtevani URL: https://" + (niz) Host + končna točka); if (client.connect (Host, 443)) {Serial.println ("Povezano"); client.println ("POST" + končna točka + "HTTP/1.1"); client.println ("Gostitelj:" + (niz) gostitelj); client.println ("Povezava: zaprta"); client.println ("Vrsta vsebine: aplikacija/json"); client.println ("Uporabniški agent: Arduino/1.0"); client.print ("Content-Length:"); client.println (jsonString.length ()); client.println (); client.print (jsonString); zamuda (500); }
// Preberite in razčlenite vse vrstice odgovora s strežnika
while (client.available ()) {String line = client.readStringUntil ('\ r'); JsonObject & root = jsonBuffer.parseObject (vrstica); if (root.success ()) {latitude = root ["lat"]; longitude = root ["lon"]; natančnost = koren ["natančnost"];
Serial.println ();
Serial.print ("Latitude ="); Serial.println (zemljepisna širina, 6); Serial.print ("Dolžina ="); Serial.println (zemljepisna dolžina, 6); Serial.print ("Točnost ="); Serial.println (natančnost); }}
Serial.println ("zapiranje povezave");
Serial.println (); client.stop ();
zamuda (5000);
}
7. korak: Odprite serijski monitor in preverite, ali ste povezani
Pojdite na orodja v Arduinu in odprite serijski monitor. Če želite preveriti, ali ste povezani z internetom, bi morali na serijskem monitorju videti naslednje:
Namestitev končana
Vzpostavljanje povezave z (vaše ime wifi) … skeniranje končano
8. korak: Pridobite koordinate
Če je uspelo, bi morali pod skeniranjem videti celoten seznam podatkov. Edino, kar potrebujemo, je koda pod URL -jem, ki zahteva, zato bomo potrebovali zemljepisno širino in dolžino. To so koordinate.
Zahtevani URL:
Povezano
Zemljepisna širina = 52,385259
Dolžina = 5,196099
Natančnost = 41,00
zapiranje povezave
Po 5 sekundah se bo koda nenehno posodabljala in verjetno boste videli širino, dolžino in natančnost. To je zato, ker API poskuša najti lokacijo čim natančneje.
9. korak: Pojdite na Google Zemljevide
Pojdite na https://www.google.com/maps/ in v iskalno vrstico vnesite svoje koordinate. Koordinate je treba zapisati na naslednji način: 52.385259, 5.196099. Google Zemljevidi morajo prikazati, kje se nahajate na zemljevidu.
10. korak: Pošljite lokacijo na svoj mobilni telefon
In … končali ste! Če želite lokacijo poslati na svoj mobilni telefon, je to mogoče. Če želite, bodo Google Zemljevidi poslali e -poštno sporočilo z vašimi koordinatami.
Veselo iskanje!