Innehållsförteckning:
- Steg 1: Delar och verktyg
- Steg 2: Hitta Google API
- Steg 3: Konfigurera NodeMCu på Arduino IDE
- Steg 4: Ladda ner ArduinoJson -biblioteket
- Steg 5: Program
Video: GEOLOACATION: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:46
Det är mitt sommarpraktikprojekt. Jag förvånar verkligen när jag hör att vi kan spåra alla enheter utan att använda GPS -modul endast med NodeMCU. Genom detta kan vi spåra vilken enhet som helst. Du förvånar också över hur vi kan spåra enheten med endast WiFi. Här är sorteringsbeskrivningen för att förstå det.
- · Det är Skanna din nästan alla WiFi.
- · Skicka denna enhetsplats till Google med Google API
- · Enligt detta lokaliserar du din enhets plats
- · Du har en stark nätverksanslutning för detta projekt.
Steg 1: Delar och verktyg
Delar
- NodeMCU (ESP8266 1.0 12E)
- USB-kabel
Verktyg
Arduino IDE med NodeMcu 1.0 12E -kort
Googles API
Steg 2: Hitta Google API
- Öppna din webbläsare och skriv: console.developer.google.com
- Skapa ett nytt projekt
- Efter Skapa ett nytt projekt klickar du på referens
- Klicka på API -nyckel
-
Din API -nyckel har genererats
För enkel förståelse se följande bild |>
Steg 3: Konfigurera NodeMCu på Arduino IDE
- Ladda ner Arduino IDE från följande länk:- https:// www. Huvud/programvara arduino.cc/en/
- Lägg till Node MCu -kort på Arduino IDE
-
För att ladda upp kod på NodeMCU måste du lägga till NodeMCu -kortet på ARDUINO IDE.
- GÅ till fil och preferens i Arduino IDE
- Och kopiera följande länk i Ytterligare styrelsechefer
- arduino.esp8266.com/stable/package_esp8266c…
- och klicka på Ok
- Styrelsen laddas ner
- Gå till verktyg och kort och välj NodeMCU 1.0 12E
- Se avobe -bilden för enkel förståelse
Steg 4: Ladda ner ArduinoJson -biblioteket
- Gå till
Sketch Include Library Hantera bibliotek
Skriv Arduino Json i sökrutan
Ladda ner den senaste versionen av ArduinoJson -biblioteket
efter nedladdning av biblioteket, klicka på stäng
Lägg till bibliotek från
SketchincludeLibraryArduinoJson
Steg 5: Program
Ladda upp följande program på NodeMCU -kortet. och se din enhets plats (NodeMCU 1.0 12E -kort) på seriell bildskärm.
#omfatta
#omfatta
#omfatta
char myssid = "Ditt SSID"; // ditt nätverks -SSID (namn)
char mypass = "Ditt lösenord"; // ditt nätverkslösenord
// Referenser för Google GeoLocation API …
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Skaffa en Google maps ap-nyckel här:
developers.google.com/maps/documentation/geolocation/intro
String key = "Your Google API key"; // Hitta från steg 2
Instruktion
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
dubbel latitud = 0,0;
dubbel longitud = 0,0;
dubbel noggrannhet = 0,0;
int more_text = 1; // inställd på 1 för mer felsökning
void setup () {
Serial.begin (9600);
Serial.println ("Start");
// Ställ in WiFi på stationsläge och
koppla från en AP om den tidigare var ansluten
WiFi.mode (WIFI_STA);
WiFi. Koppla bort ();
fördröjning (100);
Serial.println ( Setup
Gjort );
// Vi börjar med att ansluta till en
WiFi -nätverk
Serial.print ( Ansluter till
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
medan (WiFi.status ()! = WL_CONNECTED) {
fördröjning (500);
Serial.print (".");
}
Serial.println (".");
}
void loop () {
röding bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("scan start");
// WiFi.scanNetworks återkommer
antalet hittade nätverk
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
om (n == 0)
Serial.println ("inga nätverk hittades");
annan
{
Serial.print (n);
Serial.println ("nätverk hittat …");
om (mer_text) {
// Skriv ut den formaterade json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // detta är ett riktigt brittiskt MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // och en riktig brittisk MNC
Serial.println ("\" radioType / ": \" gsm / ","); // för gsm
Serial.println ("\" bärare / ": \" Vodafone / ","); // associerad med Vodafone
Serial.println ("\" cellTowers / ": ["); // Jag rapporterar inga mobiltorn
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
för (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));
om (i <n - 1)
{
Serial.println ("},");
}
annan
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// bygg nu jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // detta är ett riktigt brittiskt MCC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // och en riktig brittisk MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // för gsm
jsonString += "\" bärare / ": \" Vodafone / ", / n"; // associerad med Vodafone
jsonString += "\" wifiAccessPoints / ": [ n";
för (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
om (j <n - 1)
{
jsonString += "}, / n";
}
annan
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure -klient;
// Anslut till klienten och ring api -samtalet
Serial.print ("Begär URL:");
// ---- Hämta Google Maps Api Key här, länk:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Ansluten");
client.println ("POST" + thisPage + key + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Anslutning: stäng");
client.println ("Innehållstyp: applikation/json");
client.println ("User-Agent: Arduino/1.0");
client.print ("Content-Length:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
fördröjning (500);
}
// Läs och analysera alla rader av
svaret från servern
medan (client.available ()) {
String line = client.readStringUntil ('\ r');
om (mer_text) {
Serial.print (rad);
}
JsonObject & root = jsonBuffer.parseObject (line);
if (root.success ()) {
latitude = root ["location"] ["lat"];
longitude = root ["location"] ["lng"];
precision = root ["precision"];
}
}
Serial.println ("stängande anslutning");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (latitud, 6);
Serial.print ("Longitud =");
Serial.println (longitud, 6);
Serial.print ("Noggrannhet =");
Serial.println (noggrannhet);
fördröjning (10000);
Serial.println ();
Serial.println ("Startar om …");
Serial.println ();
fördröjning (2000);
}
Rekommenderad:
Arduino Car Reverse Parking Alert System - Steg för steg: 4 steg
Arduino Car Reverse Parking Alert System | Steg för steg: I det här projektet kommer jag att utforma en enkel Arduino Car Reverse Parking Sensor Circuit med Arduino UNO och HC-SR04 Ultrasonic Sensor. Detta Arduino -baserade bilomvändningsvarningssystem kan användas för autonom navigering, robotavstånd och andra
Steg för steg PC -byggnad: 9 steg
Steg för steg PC -byggnad: Tillbehör: Hårdvara: ModerkortCPU & CPU -kylarePSU (strömförsörjningsenhet) Lagring (HDD/SSD) RAMGPU (krävs inte) CaseTools: Skruvmejsel ESD -armband/mathermisk pasta med applikator
Tre högtalarkretsar -- Steg-för-steg handledning: 3 steg
Tre högtalarkretsar || Steg-för-steg-handledning: Högtalarkretsen förstärker ljudsignalerna som tas emot från miljön till MIC och skickar den till högtalaren varifrån förstärkt ljud produceras. Här visar jag dig tre olika sätt att göra denna högtalarkrets med:
Steg-för-steg-utbildning i robotik med ett kit: 6 steg
Steg-för-steg-utbildning i robotik med ett kit: Efter ganska många månader av att bygga min egen robot (se alla dessa), och efter att två gånger ha misslyckats med delar, bestämde jag mig för att ta ett steg tillbaka och tänka om min strategi och riktning. De flera månaders erfarenhet var ibland mycket givande och
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): 8 steg
Akustisk levitation med Arduino Uno Steg-för-steg (8-steg): ultraljudsgivare L298N Dc kvinnlig adapter strömförsörjning med en manlig DC-pin Arduino UNOBreadboardHur det fungerar: Först laddar du upp kod till Arduino Uno (det är en mikrokontroller utrustad med digital och analoga portar för att konvertera kod (C ++)