Innholdsfortegnelse:
- Trinn 1: Deler og verktøy
- Trinn 2: Finn Google API
- Trinn 3: Konfigurer NodeMCu på Arduino IDE
- Trinn 4: Last ned ArduinoJson -biblioteket
- Trinn 5: Program
Video: GEOLOACATION: 5 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Det er mitt sommerpraksisprosjekt. Jeg overrasker virkelig når jeg hører at vi kan spore plassering av alle enheter uten å bruke GPS -modul bare ved hjelp av NodeMCU. Gjennom dette kan vi spore hvilken som helst enhet. Du overrasker også hvordan vi kan spore enheten ved hjelp av bare WiFi. Her er sorteringsbeskrivelsen for å forstå det.
- · Det skanner nesten all WiFi.
- · Send denne enhetsplasseringen til Google ved hjelp av Google API
- · I henhold til dette finner du enhetens plassering
- · Du har en sterk nettverkstilkobling for dette prosjektet.
Trinn 1: Deler og verktøy
Deler
- NodeMCU (ESP8266 1.0 12E)
- USB-kabel
Verktøy
Arduino IDE med NodeMcu 1.0 12E -kort
Google API
Trinn 2: Finn Google API
- Åpne nettleseren din og skriv inn: console.developer.google.com
- Lag et nytt prosjekt
- Etter Opprett et nytt prosjekt klikker du på legitimasjon
- Klikk på API -nøkkel
-
API -nøkkelen din er generert
For lett forståelse, se følgende bilde |>
Trinn 3: Konfigurer NodeMCu på Arduino IDE
- Last ned Arduino IDE fra følgende lenke:- https:// www. Main/Programvare arduino.cc/en/
- Legg til Node MCu -bord på Arduino IDE
-
For å laste opp kode på NodeMCU må du legge til NodeMCu -kortet på ARDUINO IDE.
- GÅ til fil og preferanse i Arduino IDE
- Og i tilleggsstyret, kopier du følgende lenke
- arduino.esp8266.com/stable/package_esp8266c…
- og klikk OK
- Brettet er lastet ned
- Gå til verktøyene og tavlen og velg NodeMCU 1.0 12E
- Se avobe -bildet for enkel forståelse
Trinn 4: Last ned ArduinoJson -biblioteket
- Gå til
Sketch Include Library Administrer bibliotek
Skriv Arduino Json i søkeboksen
Last ned den siste versjonen av ArduinoJson bibliotek
etter nedlasting av biblioteket, klikk på Lukk
Legg til bibliotek fra
SketchincludeLibraryArduinoJson
Trinn 5: Program
Last opp følgende program på NodeMCU -kortet. og se plasseringen av enheten (NodeMCU 1.0 12E -kort) på seriell skjerm.
#inkludere
#inkludere
#inkludere
char myssid = "SSID" din; // nettverks -SSID (navn)
char mypass = "Ditt passord"; // nettverkspassordet ditt
// Legitimasjon for Google GeoLocation API …
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate? Key =";
// --- Få en Google maps ap-nøkkel her:
developers.google.com/maps/documentation/geolocation/intro
String key = "Google API -nøkkelen din"; // Finn fra trinn 2
Instruksjon
int status = WL_IDLE_STATUS;
String jsonString = "{ n";
dobbel breddegrad = 0,0;
dobbel lengdegrad = 0,0;
dobbel nøyaktighet = 0,0;
int more_text = 1; // satt til 1 for mer feilsøkingsutdata
ugyldig oppsett () {
Serial.begin (9600);
Serial.println ("Start");
// Sett WiFi til stasjonsmodus og
koble fra en AP hvis den tidligere var tilkoblet
WiFi.mode (WIFI_STA);
WiFi. Koble fra ();
forsinkelse (100);
Serial.println ( Oppsett
ferdig );
// Vi starter med å koble til en
WiFi -nettverk
Serial.print ( Koble til
);
Serial.println (myssid);
WiFi. Begynner (myssid, mypass);
mens (WiFi.status ()! = WL_CONNECTED) {
forsinkelse (500);
Serial.print (".");
}
Serial.println (".");
}
void loop () {
røye bssid [6];
DynamicJsonBuffer jsonBuffer;
Serial.println ("skannestart");
// WiFi.scanNetworks kommer tilbake
antall nettverk funnet
int n = WiFi.scanNetworks ();
Serial.println ("scandone");
hvis (n == 0)
Serial.println ("ingen nettverk funnet");
ellers
{
Serial.print (n);
Serial.println ("nettverk funnet …");
hvis (more_text) {
// Skriv ut den formaterte json …
Serial.println ("{");
Serial.println ("\" homeMobileCountryCode / ": 234,"); // Dette er en ekte MCC i Storbritannia
Serial.println ("\" homeMobileNetworkCode / ": 27,"); // og en ekte britisk MNC
Serial.println ("\" radioType / ": \" gsm / ","); // for gsm
Serial.println ("\" transportør / ": \" Vodafone / ","); // tilknyttet Vodafone
Serial.println ("\" cellTowers / ": ["); // Jeg rapporterer ikke noen celletårn
Serial.println ("],");
Serial.println ("\" wifiAccessPoints / ": [");
for (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));
hvis (i <n - 1)
{
Serial.println ("}");
}
ellers
{
Serial.println ("}");
}
}
Serial.println ("]");
Serial.println ("}");
}
Serial.println ("");
}
// bygg nå jsonString …
jsonString = "{ n";
jsonString += "\" homeMobileCountryCode / ": 234, / n"; // Dette er en ekte MCC i Storbritannia
jsonString += "\" homeMobileNetworkCode / ": 27, / n"; // og en ekte britisk MNC
jsonString += "\" radioType / ": \" gsm / ", / n"; // for gsm
jsonString += "\" transportør / ": \" Vodafone / ", / n"; // tilknyttet 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";
}
ellers
{
jsonString += "} n";
}
}
jsonString += ("] n");
jsonString += ("} n");
//--------------------------------------------------------------------
Serial.println ("");
WiFiClientSecure -klient;
// Koble til klienten og ring api
Serial.print ("Be om URL:");
// ---- Få Google Maps Api Key her, lenke:
Serial.println ("https://" + (String) Host + thisPage + "PUT-YOUR-GOOGLE-MAPS-API-KEY-HERE");
Serial.println ("");
if (client.connect (Host, 443)) {
Serial.println ("Tilkoblet");
client.println ("POST" + denne siden + nøkkel + "HTTP/1.1");
client.println ("Host:" + (String) Host);
client.println ("Tilkobling: lukk");
client.println ("Innholdstype: applikasjon/json");
client.println ("User-Agent: Arduino/1.0");
client.print ("Content-Length:");
client.println (jsonString.length ());
client.println ();
client.print (jsonString);
forsinkelse (500);
}
// Les og analyser alle linjene i
svaret fra serveren
while (client.available ()) {
String line = client.readStringUntil ('\ r');
hvis (more_text) {
Serial.print (linje);
}
JsonObject & root = jsonBuffer.parseObject (line);
hvis (root.success ()) {
latitude = root ["location"] ["lat"];
longitude = root ["location"] ["lng"];
precision = root ["precision"];
}
}
Serial.println ("lukke tilkobling");
Serial.println ();
client.stop ();
Serial.print ("Latitude =");
Serial.println (breddegrad, 6);
Serial.print ("Lengdegrad =");
Serial.println (lengdegrad, 6);
Serial.print ("Nøyaktighet =");
Serial.println (nøyaktighet);
forsinkelse (10000);
Serial.println ();
Serial.println ("Omstart …");
Serial.println ();
forsinkelse (2000);
}
Anbefalt:
Arduino bilvarslingssystem for omvendt parkering - Trinn for trinn: 4 trinn
Arduino Car Reverse Parking Alert System | Trinn for trinn: I dette prosjektet skal jeg designe en enkel Arduino Car Reverse Parking Sensor Circuit ved hjelp av Arduino UNO og HC-SR04 Ultrasonic Sensor. Dette Arduino -baserte bilreverseringssystemet kan brukes til autonom navigasjon, robotavstand og andre områder
Trinn for trinn PC -bygging: 9 trinn
Steg for trinn PC -bygging: Rekvisita: Maskinvare: HovedkortCPU & CPU -kjøler PSU (strømforsyningsenhet) Lagring (HDD/SSD) RAMGPU (ikke nødvendig) CaseTools: Skrutrekker ESD -armbånd/mathermal pasta m/applikator
Tre høyttalerkretser -- Trinn-for-trinn opplæring: 3 trinn
Tre høyttalerkretser || Trinn-for-trinn opplæring: Høyttalerkretsen styrker lydsignalene som mottas fra miljøet til MIC og sender den til høyttaleren der forsterket lyd produseres. Her vil jeg vise deg tre forskjellige måter å lage denne høyttalerkretsen på:
RC -sporet robot ved hjelp av Arduino - Trinn for trinn: 3 trinn
RC -sporet robot ved bruk av Arduino - Steg for trinn: Hei folkens, jeg er tilbake med et annet kult Robot -chassis fra BangGood. Håper du har gått gjennom våre tidligere prosjekter - Spinel Crux V1 - Gesture Controlled Robot, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms og The Badland Braw
Hvordan lage et nettsted (en trinn-for-trinn-guide): 4 trinn
Hvordan lage et nettsted (en trinn-for-trinn-guide): I denne veiledningen vil jeg vise deg hvordan de fleste webutviklere bygger nettstedene sine og hvordan du kan unngå dyre nettstedbyggere som ofte er for begrenset til et større nettsted. hjelpe deg med å unngå noen feil som jeg gjorde da jeg begynte