Sadržaj:
- Korak 1: Dijelovi i alat
- Korak 2: Pronađite Google API
- Korak 3: Postavite NodeMCu na Arduino IDE
- Korak 4: Preuzmite ArduinoJson biblioteku
- Korak 5: Program
Video: GEOLOAKACIJA: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
To je moj projekt ljetne prakse. Zaista me iznenađuje kad čujem da možemo pratiti lokaciju bilo kojeg uređaja bez korištenja GPS modula samo pomoću NodeMCU -a. Ovim putem možemo pratiti bilo koji uređaj. Iznenađujete i kako možemo pratiti uređaj koristeći samo WiFi. Evo opisa sortiranja da biste to razumjeli.
- · Skenirajte gotovo sve WiFi.
- · Pošaljite Googleu ovu lokaciju uređaja pomoću Google API -ja
- · Prema ovome, locirajte lokaciju vašeg uređaja
- · Imate jaku mrežnu vezu za ovaj projekat.
Korak 1: Dijelovi i alat
Delovi
- NodeMCU (ESP8266 1.0 12E)
- USB kabel
Alati
Arduino IDE sa NodeMcu 1.0 12E pločom
Google API
Korak 2: Pronađite Google API
- Otvorite svoj preglednik i upišite: console.developer.google.com
- Kreirajte novi projekat
- Nakon kreiranja novog projekta kliknite na vjerodajnice
- Kliknite na API ključ
-
Vaš API ključ je generiran
Za lakše razumijevanje pogledajte sljedeću sliku |>
Korak 3: Postavite NodeMCu na Arduino IDE
- Preuzmite Arduino IDE sa sljedeće veze:- https:// www. Glavna/Softver arduino.cc/en/
- Dodajte Node MCu ploču na Arduino IDE
-
Za učitavanje koda na NodeMCU morate dodati NodeMCu ploču na ARDUINO IDE.
- Idite na datoteku i postavke u Arduino IDE
- U odjeljku Dodatni upravitelj odbora kopirajte sljedeću vezu
- arduino.esp8266.com/stable/package_esp8266c…
- i kliknite U redu
- Ploča je preuzeta
- Idite na alate i ploču i odaberite NodeMCU 1.0 12E
- Pogledajte sliku avokada za lakše razumijevanje
Korak 4: Preuzmite ArduinoJson biblioteku
- Idite na
Skica Uključi biblioteku Upravljaj bibliotekom
U okvir za pretraživanje upišite Arduino Json
Preuzmite najnoviju verziju ArduinoJson biblioteke
nakon preuzimanja biblioteke kliknite zatvori
Dodajte biblioteku iz
SketchincludeLibraryArduinoJson
Korak 5: Program
Postavite sljedeći program na NodeMCU ploču. i pogledajte lokaciju svog uređaja (ploča NodeMCU 1.0 12E) na serijskom monitoru.
#include
#include
#include
char myssid = "Vaš SSID"; // vaš mrežni SSID (ime)
char mypass = "Vaša lozinka"; // vašu mrežnu lozinku
// Vjerodajnice za Google GeoLocation API…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Ovdje nabavite ap ključ Google google maps:
developers.google.com/maps/documentation/geolocation/intro
String key = "Vaš Google API ključ"; // Pronađi od 2. koraka
Uputstvo
int status = WL_IDLE_STATUS;
Niz jsonString = "{ n";
dvostruka širina = 0,0;
dvostruka geografska dužina = 0,0;
dvostruka tačnost = 0,0;
int more_text = 1; // postavljeno na 1 za više ispisa pogrešaka
void setup () {
Serial.begin (9600);
Serial.println ("Start");
// Postavite WiFi na način rada stanice i
isključite pristupnu tačku ako je prethodno bila povezana
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
kašnjenje (100);
Serial.println ( Postavljanje
gotovo );
// Počinjemo povezivanjem na a
WiFi mreža
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;
Serial.println ("početak skeniranja");
// WiFi.scanNetworks će se vratiti
broj pronađenih mreža
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
ako (n == 0)
Serial.println ("nisu pronađene mreže");
else
{
Serial.print (n);
Serial.println ("mreže pronađene …");
if (više_teksta) {
// Odštampajte formatirani json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // ovo je pravi UKC MC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // i pravi UK MNC
Serial.println ("\" radioType / ": \" gsm / ","); // za gsm
Serial.println ("\" nosilac / ": \" Vodafone / ","); // povezan s Vodafonom
Serial.println ("\" cellTowers / ": ["); // Ne prijavljujem nikakve ćelijske tornjeve
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
za (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Serial.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
ako (i <n - 1)
{
Serial.println ("},");
}
else
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// sada sastavite jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // ovo je pravi UKC MC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // i pravi UK MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // za gsm
jsonString += "\" nosilac / ": \" Vodafone / ", / n"; // povezan s Vodafonom
jsonString += "\" wifiAccessPoints / ": [n";
za (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
ako (j <n - 1)
{
jsonString += "}, / n";
}
else
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure klijent;
// Povežite se s klijentom i uputite api poziv
Serial.print ("Traženje URL -a:");
// ---- Ovdje nabavite Api ključ Google karata, veza:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Povezano");
client.println ("POST" + thisPage + ključ + "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
odgovor sa servera
while (client.available ()) {
Linija niza = client.readStringUntil ('\ r');
if (više_teksta) {
Serial.print (linija);
}
JsonObject & root = jsonBuffer.parseObject (linija);
if (root.success ()) {
latitude = root ["location"] ["lat"];
longitude = root ["location"] ["lng"];
točnost = korijen ["točnost"];
}
}
Serial.println ("zatvaranje veze");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (zemljopisna širina, 6);
Serial.print ("Longitude =");
Serial.println (longitude, 6);
Serial.print ("Tačnost =");
Serial.println (tačnost);
kašnjenje (10000);
Serial.println ();
Serial.println ("Ponovno pokretanje …");
Serial.println ();
kašnjenje (2000);
}
Preporučuje se:
Dizajn igre brzim pokretom u 5 koraka: 5 koraka
Dizajn igre u Flick -u u 5 koraka: Flick je zaista jednostavan način da napravite igru, posebno nešto poput zagonetke, vizuelnog romana ili avanturističke igre
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: 3 koraka
Prepoznavanje lica na Raspberry Pi 4B u 3 koraka: U ovom uputstvu ćemo izvršiti otkrivanje lica na Raspberry Pi 4 sa Shunya O/S koristeći biblioteku Shunyaface. Shunyaface je biblioteka za prepoznavanje/otkrivanje lica. Cilj projekta je postići najbržu brzinu otkrivanja i prepoznavanja sa
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Broj koraka / koraka: 3 koraka
পেনড্রাইভ / মেমোরি কার্ডে ভাইরাসের ভাইরাসের হারিয়ে সমাধান সমাধান সমাধান সমাধান সমাধান পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ পেনড্রাইভ মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি মেমোরি এখন এখন এখন।।।।।। Zaštita podataka, pristup prečicama / virusima