Indholdsfortegnelse:
- Trin 1: Dele og værktøj
- Trin 2: Find Google API
- Trin 3: Konfigurer NodeMCu på Arduino IDE
- Trin 4: Download ArduinoJson -bibliotek
- Trin 5: Programmer
Video: GEOLOACATION: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Det er mit sommerpraktikprojekt. Jeg overrasker virkelig, når jeg hører, at vi kan spore placeringen af enhver enhed uden at bruge GPS -modul kun ved hjælp af NodeMCU. Gennem dette kan vi spore enhver enhed. Du overrasker også, hvordan vi kan spore enheden ved hjælp af kun WiFi. Her er sorteringsbeskrivelsen for at forstå det.
- · Det er Scan din næsten alle WiFi.
- · Send denne enhedsplacering til Google ved hjælp af Google API
- · I henhold til dette finder du din enheds placering
- · Du har en stærk netværksforbindelse til dette projekt.
Trin 1: Dele og værktøj
Dele
- NodeMCU (ESP8266 1.0 12E)
- USB -kabel
Værktøjer
Arduino IDE med NodeMcu 1.0 12E Board
Google API
Trin 2: Find Google API
- Åbn din browser, og skriv: console.developer.google.com
- Opret et nyt projekt
- Efter Opret et nyt projekt klik på legitimationsoplysninger
- Klik på API -nøgle
-
Din API -nøgle er blevet genereret
For let forståelse se følgende billede |>
Trin 3: Konfigurer NodeMCu på Arduino IDE
- Download Arduino IDE fra følgende link:- https:// www. Main/Software arduino.cc/en/
- Tilføj Node MCu -bord på Arduino IDE
-
For at uploade kode på NodeMCU skal du tilføje NodeMCu -kortet på ARDUINO IDE.
- GÅ til fil og præference i Arduino IDE
- Og kopier følgende link i Yderligere bestyrelsesmanagersektion
- arduino.esp8266.com/stable/package_esp8266c…
- og klik på Ok
- Tavlen downloades
- Gå til værktøjerne og tavlen, og vælg NodeMCU 1.0 12E
- Se avobe -billedet for let forståelse
Trin 4: Download ArduinoJson -bibliotek
- Gå til
Skitse Inkluder bibliotek Administrer bibliotek
Skriv Arduino Json i søgefeltet
Download den nyeste version af ArduinoJson bibliotek
efter download af biblioteket klik på luk
Tilføj bibliotek fra
SketchincludeLibraryArduinoJson
Trin 5: Programmer
Upload følgende program på NodeMCU board. og se din enheds placering (NodeMCU 1.0 12E -kort) på seriel skærm.
#omfatte
#omfatte
#omfatte
char myssid = "Dit SSID"; // dit netværks -SSID (navn)
char mypass = "Din adgangskode"; // din netværksadgangskode
// Legitimationsoplysninger til Google GeoLocation API …
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Få en Google maps ap-nøgle her:
developers.google.com/maps/documentation/geolocation/intro
String key = "Din Google API -nøgle"; // Find fra trin2
Instruktion
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
dobbelt breddegrad = 0,0;
dobbelt længdegrad = 0,0;
dobbelt nøjagtighed = 0,0;
int more_text = 1; // indstillet til 1 for mere fejlfindingsoutput
ugyldig opsætning () {
Serial.begin (9600);
Serial.println ("Start");
// Indstil WiFi til stationstilstand og
afbryde forbindelsen til et AP, hvis det tidligere var tilsluttet
WiFi.mode (WIFI_STA);
WiFi.disconnect ();
forsinkelse (100);
Serial.println ( Opsætning
Færdig );
// Vi starter med at oprette forbindelse til et
WiFi -netværk
Serial.print ( Opretter forbindelse til
);
Serial.println (myssid);
WiFi. Begyndt (myssid, mypass);
mens (WiFi.status ()! = WL_CONNECTED) {
forsinkelse (500);
Serial.print (".");
}
Serial.println (".");
}
void loop () {
char bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("scannestart");
// WiFi.scanNetworks vender tilbage
antallet af fundne netværk
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
hvis (n == 0)
Serial.println ("der blev ikke fundet netværk");
andet
{
Serial.print (n);
Serial.println ("netværk fundet …");
hvis (more_text) {
// Udskriv den formaterede json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // dette er en ægte britisk MCC
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // og en ægte britisk MNC
Serial.println ("\" radioType / ": \" gsm / ","); // til gsm
Serial.println ("\" transportør / ": \" Vodafone / ","); // forbundet med Vodafone
Serial.println ("\" cellTowers / ": ["); // Jeg rapporterer ikke nogen celletårne
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
for (int i = 0; i <n; ++ i)
{
Serial.println ("{");
Serial.print ("\" macAddress / ": \" ");
Seriel.print (WiFi. BSSIDstr (i));
Serial.println ("\", ");
Serial.print ("\" signalStrength / ":");
Serial.println (WiFi. RSSI (i));
hvis (i <n - 1)
{
Serial.println ("},");
}
andet
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// byg nu jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // dette er en ægte britisk MCC
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // og en ægte britisk MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // til gsm
jsonString += "\" transportør / ": \" Vodafone / ", / n"; // forbundet med Vodafone
jsonString += "\" wifiAccessPoints / ": [n";
for (int j = 0; j <n; ++ j)
{
jsonString += "{ n";
jsonString += "\" macAddress / ": \" ";
jsonString += (WiFi. BSSIDstr (j));
jsonString += "\", / n ";
jsonString += "\" signalStrength / ":";
jsonString += WiFi. RSSI (j);
jsonString += "\ n";
hvis (j <n - 1)
{
jsonString += "}, / n";
}
andet
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure klient;
// Opret forbindelse til klienten, og foretag api -opkaldet
Serial.print ("Anmodning om URL:");
// ---- Hent Google Maps Api-nøgle her, link:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Tilsluttet");
client.println ("POST" + denne side + nøgle + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Forbindelse: luk");
client.println ("Indholdstype: applikation/json");
client.println ("Bruger-agent: Arduino/1.0");
client.print ("Indholdslængde:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
forsinkelse (500);
}
// Læs og analyser alle linjer af
svaret fra serveren
mens (client.available ()) {
String line = client.readStringUntil ('\ r');
hvis (more_text) {
Serial.print (linje);
}
JsonObject & root = jsonBuffer.parseObject (linje);
hvis (root.success ()) {
latitude = root ["location"] ["lat"];
longitude = root ["location"] ["lng"];
precision = root ["precision"];
}
}
Serial.println ("lukning af forbindelse");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (breddegrad, 6);
Serial.print ("Longitude =");
Serial.println (længdegrad, 6);
Serial.print ("Nøjagtighed =");
Serial.println (nøjagtighed);
forsinkelse (10000);
Serial.println ();
Serial.println ("Genstart …");
Serial.println ();
forsinkelse (2000);
}
Anbefalede:
Arduino bil omvendt parkering alarmsystem - Trin for trin: 4 trin
Arduino bil omvendt parkering alarmsystem. Trin for trin: I dette projekt vil jeg designe en simpel Arduino bil omvendt parkeringssensorkreds ved hjælp af Arduino UNO og HC-SR04 ultralydssensor. Dette Arduino -baserede bilomvendt alarmsystem kan bruges til en autonom navigation, robotafstand og andre rækkevidde
Trin for trin pc -bygning: 9 trin
Trin for trin PC Building: Supplies: Hardware: MotherboardCPU & CPU -køler PSU (strømforsyningsenhed) Opbevaring (HDD/SSD) RAMGPU (ikke påkrævet) CaseTools: Skruetrækker ESD -armbånd/mathermal pasta m/applikator
Tre højttalerkredsløb -- Trin-for-trin vejledning: 3 trin
Tre højttalerkredsløb || Trin-for-trin vejledning: Højttalerkredsløb styrker lydsignalerne, der modtages fra miljøet til MIC og sender det til højttaleren, hvorfra forstærket lyd produceres. Her vil jeg vise dig tre forskellige måder at lave dette højttalerkredsløb på:
Trin-for-trin uddannelse i robotik med et sæt: 6 trin
Trin-for-trin uddannelse i robotteknologi med et kit: Efter ganske få måneder med at bygge min egen robot (se alle disse), og efter at jeg to gange havde dele mislykkedes, besluttede jeg at tage et skridt tilbage og tænke min strategi og retning. De flere måneders erfaring var til tider meget givende, og
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)