Sommario:
- Passaggio 1: parti e strumenti
- Passaggio 2: trova l'API di Google
- Passaggio 3: configurare NodeMCu su Arduino IDE
- Passaggio 4: scarica la libreria ArduinoJson
- Passaggio 5: programma
Video: GEOLOACAZIONE: 5 Passi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
È il mio progetto di stage estivo. Mi sorprende davvero quando sento che possiamo tracciare la posizione di qualsiasi dispositivo senza utilizzare il modulo GPS solo utilizzando NodeMCU. Attraverso questo possiamo tracciare qualsiasi dispositivo. Sorprendi anche come possiamo rintracciare il dispositivo usando solo il WiFi. Ecco la descrizione del tipo per capirlo.
- · Scansiona quasi tutto il tuo WiFi.
- · Invia la posizione di questo dispositivo a Google utilizzando l'API di Google
- · In base a questo è individuare la posizione del dispositivo
- · Hai una forte connessione di rete per questo progetto.
Passaggio 1: parti e strumenti
Parti
- NodoMCU (ESP8266 1.0 12E)
- Cavo USB
Utensili
Arduino IDE con scheda NodeMcu 1.0 12E
API di Google
Passaggio 2: trova l'API di Google
- Apri il tuo browser e digita: console.developer.google.com
- Crea un nuovo progetto
- Dopo aver creato un nuovo progetto, fai clic su credenziali
- Fare clic su Chiave API
- La tua chiave API è stata generata
Per una facile comprensione vedere l'immagine seguente |>
Passaggio 3: configurare NodeMCu su Arduino IDE
- Scarica Arduino IDE dal seguente link: - https://www. Principale/Software arduino.cc/en/
- Aggiungi la scheda Node MCu su Arduino IDE
-
Per caricare il codice su NodeMCU devi aggiungere la scheda NodeMCu su ARDUINO IDE.
- VAI a file e preferenze nell'IDE di Arduino
- E nella sezione Gestione scheda aggiuntiva copia il seguente link
- arduino.esp8266.com/stable/package_esp8266c…
- e fai clic su Ok
- La scheda è scaricata
- Vai agli strumenti e alla scheda e seleziona NodeMCU 1.0 12E
- Guarda l'immagine avobe per una facile comprensione
Passaggio 4: scarica la libreria ArduinoJson
- Vai al
Schizzo Includi libreria Gestisci libreria
Digita Arduino Json nella casella di ricerca
Scarica l'ultima versione della libreria ArduinoJson
dopo aver scaricato la libreria, fai clic su chiudi
Aggiungi libreria da
SketchincludeLibraryArduinoJson
Passaggio 5: programma
Carica il seguente programma sulla scheda NodeMCU. e vedere la posizione del dispositivo (scheda NodeMCU 1.0 12E) sul monitor seriale.
#includere
#includere
#includere
char myssid = "Il tuo SSID"; // il tuo SSID di rete (nome)
char mypass = "La tua password"; // la tua password di rete
//Credenziali per l'API di geolocalizzazione di Google…
const char* Host = "www.googleapis.com";
String thisPage = "/geolocation/v1/geolocate?key=";
// --- Ottieni una chiave ap di Google Maps qui:
developers.google.com/maps/documentation/geolocation/intro
String key = "La tua chiave API di Google ";//Trova dal passaggio2
Istruzione
int stato = WL_IDLE_STATUS;
String jsonString = "{n";
doppia latitudine = 0.0;
doppia longitudine = 0.0;
doppia precisione = 0.0;
int più_testo = 1; // imposta a 1 per più output di debug
void setup() {
Serial.begin(9600);
Serial.println("Avvio");
// Imposta il WiFi in modalità stazione e
disconnettersi da un AP se era precedentemente connesso
WiFi.mode(WIFI_STA);
WiFi.disconnect();
ritardo(100);
Serial.println( Impostazione
fatto );
// Iniziamo connettendoci a a
Rete Wi-Fi
Serial.print( Connessione a
);
Serial.println(myssid);
WiFi.begin(myssid, mypass);
while (WiFi.status() !=WL_CONNECTED) {
ritardo (500);
Serial.print(".");
}
Serial.println(".");
}
ciclo vuoto() {
char bssid[6];
DynamicJsonBuffer jsonBuffer;
Serial.println("inizio scansione");
// ritornerà WiFi.scanNetworks
il numero di reti trovate
int n = WiFi.scanNetworks();
Serial.println("scandone");
se (n == 0)
Serial.println("nessuna rete trovata");
altro
{
Serial.print(n);
Serial.println("reti trovate…");
if (more_text) {
// Stampa il json formattato…
Serial.println("{");
Serial.println("\"homeMobileCountryCode\":234, "); // questo è un vero Centro clienti del Regno Unito
Serial.println("\"homeMobileNetworkCode\":27, "); // e una vera multinazionale britannica
Serial.println("\"radioType\":\"gsm\", "); //per gsm
Serial.println("\"operatore\":\"Vodafone\", "); //associato a Vodafone
Serial.println("\"cellTowers\": ["); // Non sto segnalando alcun ripetitore
Serial.println("], ");
Serial.println("\"AccessPoint wifi\": [");
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));
se (i < n - 1)
{
Serial.println("}, ");
}
altro
{
Serial.println("}");
}
}
Serial.println("]");
Serial.println("}");
}
Serial.println(" ");
}
// ora crea jsonString…
jsonString = "{n";
jsonString +="\"homeMobileCountryCode\": 234, \n"; // questo è un vero Centro clienti del Regno Unito
jsonString +="\"homeMobileNetworkCode\": 27, \n"; // e una vera multinazionale britannica
jsonString +="\"radioType\": \"gsm\", \n"; // per gsm
jsonString +="\"carrier\": \"Vodafone\", \n"; // associato a Vodafone
jsonString +="\"wifiAccessPoints\": [n";
per (int j = 0; j < n; ++j)
{
jsonString += "{n";
jsonString +="\"macAddress\": \"";
jsonString +=(WiFi. BSSIDstr(j));
jsonString +="\", \n";
jsonString +="\"signalStrength\": ";
jsonString += WiFi. RSSI(j);
jsonString += "\n";
se (j < n - 1)
{
jsonString +="}, \n";
}
altro
{
jsonString +="}\n";
}
}
jsonString += ("]\n");
jsonString += ("}\n");
//--------------------------------------------------------------------
Serial.println("");
client WiFiClientSecure;
//Connettiti al client ed effettua la chiamata API
Serial.print("Richiesta URL: ");
// ---- Ottieni la chiave API di Google Maps qui, link:
Serial.println("https://" + (String)Host + thisPage +"METTI IL TUO-GOOGLE-MAPS-API-KEY-QUI");
Serial.println(" ");
if (client.connect(Host, 443)) {
Serial.println("Connesso");
client.println("POST" + thisPage + key +"
client.println("Host:" + (String)Host);
client.println("Connessione: chiudi");
client.println("Tipo di contenuto: application/json");
client.println("User-Agent: Arduino/1.0");
client.print("Lunghezza contenuto: ");
client.println(jsonString.length());
client.println();
client.print(jsonString);
ritardo (500);
}
//Leggi e analizza tutte le righe di
la risposta dal server
mentre (client.disponibile()) {
Stringa riga =client.readStringUntil('\r');
if (more_text) {
Serial.print(line);
}
JsonObject& root =jsonBuffer.parseObject(line);
if (root.success()) {
latitudine =radice["posizione"]["lat"];
longitudine =root["location"]["lng"];
accuratezza = root["accuratezza"];
}
}
Serial.println("chiusura connessione");
Serial.println();
cliente.stop();
Serial.print("Latitudine =");
Serial.println(latitudine, 6);
Serial.print("Longitudine =");
Serial.println(longitudine, 6);
Serial.print("Precisione =");
Serial.println(precisione);
ritardo (10000);
Serial.println();
Serial.println("Riavvio…");
Serial.println();
ritardo (2000);
}
Consigliato:
Orologio di posizione "Weasley" con 4 lancette: 11 passi (con immagini)
Orologio di posizione "Weasley" a 4 lancette: quindi, con un Raspberry Pi che funzionava da un po', volevo trovare un bel progetto che mi permettesse di sfruttarlo al meglio. Mi sono imbattuto in questo fantastico Instructable Build Your Own Weasley Location Clock di ppeters0502 e ho pensato che
Orologio meccanico con display a sette segmenti: 7 passi (con immagini)
Orologio meccanico con display a sette segmenti: un paio di mesi fa ho costruito un display meccanico a 7 segmenti a due cifre che ho trasformato in un timer per il conto alla rovescia. È uscito abbastanza bene e un certo numero di persone ha suggerito di raddoppiare il display per creare un orologio. Il problema era che ero già scappato
Orologio a punta di freccia: 10 passi (con immagini)
Orologio a punta di freccia: questo incredibile orologio a punta di freccia è unico nel suo genere. Ho cercato ovunque per cercare di trovare anche qualcosa di simile e non ho trovato nulla. È un ottimo progetto per chiunque sia interessato all'arredamento dei nativi americani; storia; scheggia di pietra focaia; raccolta di rocce
Crea il tuo ventilatore USB - Inglese/Francese: 3 Passi
Crea il tuo ventilatore USB | English / Francais: ENGLISH Oggi, ho visto sui siti che potremmo acquistare un ventilatore USB. Ma ho detto perché non fare il mio? Cosa ti serve: - Nastro adesivo da elettricista o anatra - Una ventola per PC - Un cavo USB che non ti serve - Un tagliafili - Un cacciavite - Una vongola
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: 3 Passi
IL MODO PI SEMPLICE PER FARE UNA LUCE COMPATTA!! 3 SEMPLICI PASSI!!: Cosa ti servirà - foglio di stagnola 1 batteria AA (alcune batterie AAA funzioneranno) 1 mini lampadina (lampadine utilizzate per la maggior parte delle torce elettriche; fare riferimento all'immagine) Righello (se necessario)