INHOUDSOPGAWE:
- Stap 1: Onderdele en gereedskap
- Stap 2: Soek Google API
- Stap 3: Stel NodeMCu op op Arduino IDE
- Stap 4: Laai die ArduinoJson -biblioteek af
- Stap 5: Programmeer
Video: GEOLOACATION: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:27
Dit is my Summer Internship Project. Ek is regtig verbaas as ek hoor dat ons enige toestel kan opspoor sonder om 'n GPS -module te gebruik slegs met NodeMCU. Hierdeur kan ons enige toestel opspoor. U verbaas ook hoe kan ons toestelle met slegs WiFi opspoor. Hier is die soort beskrywing om dit te verstaan.
- · Dit skandeer u byna alle WiFi.
- · Stuur hierdie toestel se ligging na Google met behulp van Google API
- · Volgens hierdie vind u die ligging van u toestel
- · U het 'n sterk netwerkverbinding vir hierdie projek.
Stap 1: Onderdele en gereedskap
Dele
- NodeMCU (ESP8266 1.0 12E)
- USB -kabel
Gereedskap
Arduino IDE met NodeMcu 1.0 12E Board
Google API
Stap 2: Soek Google API
- Maak u blaaier oop en tik: console.developer.google.com
- Skep 'n nuwe projek
- Nadat u 'n nuwe projek geskep het, klik op geloofsbrief
- Klik op API -sleutel
-
U API -sleutel is gegenereer
Vir maklike begrip, sien die volgende prentjie |>
Stap 3: Stel NodeMCu op op Arduino IDE
- Laai Arduino IDE af vanaf die volgende skakel:- https:// www. Hoof/sagteware arduino.cc/en/
- Voeg Node MCu -bord by op Arduino IDE
-
Vir die oplaai van kode op NodeMCU moet u die NodeMCu -bord op ARDUINO IDE byvoeg.
- Gaan na lêer en voorkeur in Arduino IDE
- En kopieer die volgende skakel in Addisionele bestuursafdeling
- arduino.esp8266.com/stable/package_esp8266c…
- en klik op Ok
- Die bord word afgelaai
- Gaan na die gereedskap en bord en kies NodeMCU 1.0 12E
- Sien die avobe -prentjie om dit maklik te verstaan
Stap 4: Laai die ArduinoJson -biblioteek af
- Gaan na die
Skets Sluit biblioteek in Bestuur biblioteek
Tik Arduino Json in die soekkassie
Laai die nuutste weergawe van die ArduinoJson -biblioteek af
na aflaai van die biblioteek, klik sluit
Voeg biblioteek by
SketchincludeLibraryArduinoJson
Stap 5: Programmeer
Laai die volgende program op die NodeMCU -bord op. en sien die ligging van u toestel (NodeMCU 1.0 12E -bord) op die seriële monitor.
#insluit
#insluit
#insluit
char myssid = "Jou SSID"; // jou netwerk SSID (naam)
char mypass = "U wagwoord"; // u netwerkwagwoord
// Bewyse vir Google GeoLocation API …
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Kry 'n Google maps ap-sleutel hier:
developers.google.com/maps/documentation/geolocation/intro
String key = "Jou Google API -sleutel"; // Soek vanaf stap2
Instruksie
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
dubbele breedtegraad = 0,0;
dubbele lengte = 0,0;
dubbele akkuraatheid = 0,0;
int more_text = 1; // gestel op 1 vir meer ontfoutingsuitsette
ongeldige opstelling () {
Serial.begin (9600);
Serial.println ("Begin");
// Stel WiFi in die stasie -modus en
ontkoppel van 'n AP as dit voorheen gekoppel was
WiFi.mode (WIFI_STA);
WiFi. Ontkoppel ();
vertraging (100);
Serial.println ( Opstelling
gedoen );
// Ons begin deur aan te sluit by a
WiFi netwerk
Serial.print ( Koppel aan
);
Serial.println (myssid);
WiFi.begin (myssid, mypass);
terwyl (WiFi.status ()! = WL_CONNECTED) {
vertraging (500);
Serial.print (".");
}
Serial.println (".");
}
leemte -lus () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("scan begin");
// WiFi.scanNetworks sal terugkeer
die aantal netwerke gevind
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
as (n == 0)
Serial.println ("geen netwerke gevind nie");
anders
{
Reeks.afdruk (n);
Serial.println ("netwerke gevind …");
as (more_text) {
// Druk die geformateerde json uit …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // dit is 'n regte Britse MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // en 'n regte Britse MNC
Serial.println ("\" radioType / ": \" gsm / ","); // vir gsm
Serial.println ("\" carrier / ": \" Vodafone / ","); // geassosieer met Vodafone
Serial.println ("\" cellTowers / ": ["); // Ek meld geen sel torings aan nie
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
vir (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));
as (i <n - 1)
{
Serial.println ("},");
}
anders
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// bou nou die jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // dit is 'n regte Britse MCC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // en 'n regte Britse MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // vir gsm
jsonString += "\" carrier / ": \" Vodafone / ", / n"; // geassosieer met Vodafone
jsonString += "\" wifiAccessPoints / ": [n";
vir (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
as (j <n - 1)
{
jsonString += "}, / n";
}
anders
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure -kliënt;
// Koppel aan die kliënt en maak die api -oproep
Serial.print ("URL versoek:");
// ---- Kry Google Maps Api-sleutel hier, skakel:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (gasheer, 443)) {
Serial.println ("verbind");
client.println ("POST" + hierdie bladsy + sleutel + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Verbinding: sluit");
client.println ("Inhoudstipe: toepassing/json");
client.println ("Gebruikersagent: Arduino/1.0");
client.print ("Inhoudlengte:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
vertraging (500);
}
// Lees en ontleed al die reëls van
die antwoord van die bediener
terwyl (client.available ()) {
String line = client.readStringUntil ('\ r');
as (meer_teks) {
Serial.print (reël);
}
JsonObject & root = jsonBuffer.parseObject (reël);
as (root.success ()) {
latitude = root ["location"] ["lat"];
longitude = root ["location"] ["lng"];
akkuraatheid = root ["akkuraatheid"];
}
}
Serial.println ("verbinding sluit");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (breedtegraad, 6);
Serial.print ("Lengtegraad =");
Serial.println (lengtegraad, 6);
Serial.print ("Akkuraatheid");
Serial.println (akkuraatheid);
vertraging (10000);
Serial.println ();
Serial.println ("Herbegin …");
Serial.println ();
vertraging (2000);
}
Aanbeveel:
Spelontwerp in vyf stappe: 5 stappe
Spelontwerp in fliek in 5 stappe: Flick is 'n baie eenvoudige manier om 'n speletjie te maak, veral iets soos 'n legkaart, visuele roman of avontuurlike spel
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: 3 stappe
Gesigsopsporing op Raspberry Pi 4B in 3 stappe: in hierdie instruksies gaan ons gesigsopsporing uitvoer op Raspberry Pi 4 met Shunya O/S met behulp van die Shunyaface-biblioteek. Shunyaface is 'n biblioteek vir gesigherkenning/opsporing. Die projek het ten doel om die vinnigste opsporing en herkenningssnelheid te bereik met
DIY Vanity Mirror in eenvoudige stappe (met LED -strookligte): 4 stappe
DIY Vanity Mirror in eenvoudige stappe (met behulp van LED Strip Lights): In hierdie pos het ek 'n DIY Vanity Mirror gemaak met behulp van die LED strips. Dit is regtig cool, en u moet dit ook probeer
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): 6 stappe
Arduino Halloween Edition - Zombies pop -out skerm (stappe met foto's): wil u u vriende skrik en 'n skreeu geraas maak tydens Halloween? Of wil u net 'n goeie grap maak? Hierdie pop-up skerm van Zombies kan dit doen! In hierdie instruksies sal ek u leer hoe u maklik Zombies kan spring deur Arduino te gebruik. Die HC-SR0
Speel Doom op u iPod in 5 maklike stappe !: 5 stappe
Speel Doom op u iPod in 5 maklike stappe !: 'n Stap-vir-stap gids oor hoe u Rockbox op u iPod kan dubbellaai om Doom en tientalle ander speletjies te speel. Dit is iets baie maklik om te doen, maar baie mense staan nog steeds verbaas as hulle sien hoe ek op my iPod doom speel en deurmekaar raak met die instruksies