Sommario:
- Passaggio 1: cosa ti serve?
- Passaggio 2: vai a Laboratori non cablati
- Passaggio 3: registrati per ottenere il token API
- Passaggio 4: controlla la tua email
- Passaggio 5: biblioteche di cui avrai bisogno
- Passaggio 6: aggiungi codice in Arduino per connetterti con LocationAPI
- Passaggio 7: apri il monitor seriale per vedere se sei connesso
- Passaggio 8: ottenere le coordinate
- Passaggio 9: vai su Google Maps
- Passaggio 10: invia la posizione al tuo cellulare
Video: Localizzatore di posizione con NodeMCU ESP8266: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
Sei curioso di sapere come il tuo NodeMCU può monitorare la tua posizione? È possibile, anche senza modulo GPS e senza display. L'output saranno le coordinate di dove ti trovi e le vedrai nel tuo monitor seriale.
La seguente configurazione è stata utilizzata per NodeMCU 1.0 (modulo ESP-12E) con Arduino IDE.
- Windows 10
- Arduino IDE v. 1.8.4
Passaggio 1: cosa ti serve?
Quello che ti serve per seguire questo tutorial sono i seguenti componenti:
- Cavo micro USB
- NodoMCU ESP8266
Inoltre, avrai bisogno di:
- LocationAPI (da Unwired Labs)
- Accesso a wifi o hotspot
Passaggio 2: vai a Laboratori non cablati
La geolocalizzazione è molto utile perché quando il GPS è spento, puoi comunque utilizzare la geolocalizzazione per tracciare la tua posizione. Il nostro host che fornisce la geolocalizzazione sarà https://www.unwiredlabs.com/. Vai a quel sito Web e registrati (il pulsante arancione nell'angolo in alto a destra).
Passaggio 3: registrati per ottenere il token API
Nella pagina di registrazione, devi inserire il tuo nome, e-mail (il tuo token API verrà inviato alla tua e-mail) e caso d'uso (ad esempio, uso personale). Seleziona il tipo di account. La versione gratuita andrà bene, ma tieni presente che sei limitato e non puoi tenere traccia della tua posizione 24 ore su 24, 7 giorni su 7. Iniziamo!
Passaggio 4: controlla la tua email
Vai alla tua email e vedrai il tuo token API. Copia il token API, perché è necessario per il codice che utilizzeremo. Ecco come appare l'e-mail:
Ciao!
Grazie per esserti registrato con Unwired Labs LocationAPI! Il tuo token API è "il tuo codice API è qui" (senza virgolette). Questo darà 100 richieste al giorno gratis - per sempre.
Se desideri monitorare 5 dispositivi gratuitamente, rispondi con i seguenti dettagli e aggiorneremo il tuo account entro 12 ore:
1. Tipo di distribuzione (Hardware/ App/ Altro):
2. Sul tuo progetto:
3. Sito Web:
Puoi accedere alla tua dashboard qui: https://unwiredlabs.com/dashboard. Se riscontri problemi o hai domande, rispondi a questa email e ti aiuterò!
Localizzazione felice!
Sagar
Laboratori non cablati
Passaggio 5: biblioteche di cui avrai bisogno
Il prossimo passo è aprire Arduino e andare a gestire le librerie. Devi installare la libreria ArduinoJson. Le altre librerie sono già integrate. Quando sei pronto, puoi iniziare a scrivere il codice.
Passaggio 6: aggiungi codice in Arduino per connetterti con LocationAPI
Crea un nuovo schizzo e aggiungi il seguente codice in Arduino. Scrivi il tuo nome wifi/hotspot e la tua password. Incolla il token API che hai ricevuto nell'e-mail. Carica il tuo codice sul tuo NodeMCU.
#includere
#includere
#include "ESP8266WiFi.h"
// il tuo SSID di rete (nome) e password di rete
char myssid = "Il tuo nome wifi/hotspot"; char mypass = "La tua password";
// unwiredlabs Hostname e URL dell'endpoint di geolocalizzazione
const char* Host = "www.unwiredlabs.com"; Endpoint stringa = "/v2/process.php";
// UnwiredLabs API_Token. Iscriviti qui per ottenere un token gratuito
Token stringa = "d99cccda52ec0b";
String jsonString = "{n";
// Variabili per memorizzare la risposta unwiredlabs
doppia latitudine = 0.0; doppia longitudine = 0.0; doppia precisione = 0.0;
void setup(){
Serial.begin(115200);
// Imposta il WiFi in modalità stazione e disconnettiti da un AP se era connesso in precedenza
WiFi.mode(WIFI_STA); WiFi.disconnect(); Serial.println("Installazione completata");
// Iniziamo connettendoci a una rete WiFi
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;
// WiFi.scanNetworks restituirà il numero di reti trovate
int n = WiFi.scanNetworks(); Serial.println("scansione eseguita");
se (n == 0) {
Serial.println("Nessuna rete disponibile"); } else { Serial.print(n); Serial.println("reti trovate"); }
// ora crea jsonString…
jsonString = "{n"; jsonString += "\"token\": \""; jsonString += token; jsonString += "\", \n"; jsonString += "\"id\": \"saikirandevice01\", \n"; jsonString += "\"wifi\": [n"; for (int j = 0; j < n; ++j) { jsonString += "{n"; jsonString += "\"bssid\": \""; jsonString += (WiFi. BSSIDstr(j)); jsonString += "\", \n"; jsonString += "\"segnale\": "; jsonString += WiFi. RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); Serial.println(jsonString);
client WiFiClientSecure;
//Connettiti al client ed effettua la chiamata API
Serial.println("Richiesta URL: https://" + (String)Host + endpoint); if (client.connect(Host, 443)) { Serial.println("Connesso"); client.println("POST " + endpoint + " HTTP/1.1"); 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); }
// Legge e analizza tutte le righe della risposta dal server
while (client.available()) { String line = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(line); if (root.success()) { latitudine = root["lat"]; longitudine = root["lon"]; accuratezza = root["accuratezza"];
Serial.println();
Serial.print("Latitudine = "); Serial.println(latitudine, 6); Serial.print("Longitudine = "); Serial.println(longitudine, 6); Serial.print("Precisione = "); Serial.println(precisione); } }
Serial.println("chiusura connessione");
Serial.println(); cliente.stop();
ritardo (5000);
}
Passaggio 7: apri il monitor seriale per vedere se sei connesso
Vai su strumenti in Arduino e apri il monitor seriale. Per vedere se sei connesso a Internet, dovresti vedere quanto segue nel monitor seriale:
Configurazione completata
Connessione a (il tuo nome wifi) … scansione completata
Passaggio 8: ottenere le coordinate
Se ha funzionato con successo, dovresti vedere sotto scansione eseguita un intero elenco di dati. L'unica cosa di cui abbiamo bisogno è il codice sotto l'URL richiedente, quindi avremo bisogno della latitudine e della longitudine. Queste sono le coordinate.
URL di richiesta:
Collegato
Latitudine = 52.385259
Longitudine = 5.196099
Precisione = 41.00
chiusura della connessione
Dopo 5 secondi il codice si aggiornerà costantemente e probabilmente vedrai cambiare latitudine, longitudine e precisione. Questo perché l'API sta cercando di tracciare la posizione nel modo più preciso possibile.
Passaggio 9: vai su Google Maps
Vai su https://www.google.com/maps/ e digita le tue coordinate nella barra di ricerca. Le coordinate devono essere scritte nel seguente modo: 52.385259, 5.196099. Google Maps dovrebbe mostrare dove ti trovi sulla mappa.
Passaggio 10: invia la posizione al tuo cellulare
E hai finito! Pertanto, se desideri inviare la posizione al tuo cellulare, è possibile. Se lo desideri, Google Maps ti invierà un'email con le tue coordinate.
Felice localizzazione!
Consigliato:
Tutorial localizzatore GPS LoRa - LoRaWAN con Dragino e TTN: 7 passaggi
Tutorial localizzatore GPS LoRa | LoRaWAN Con Dragino e TTN: Ehi, come va, ragazzi! Akarsh qui da CETech. Un paio di progetti fa abbiamo dato un'occhiata al gateway LoRaWAN di Dragino. Abbiamo collegato diversi nodi al Gateway e trasmesso i dati dai nodi al Gateway utilizzando TheThingsNetwork come s
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: 5 passaggi (con immagini)
Localizzatore GPS per auto con notifica SMS e caricamento dati Thingspeak, basato su Arduino, automazione domestica: ho realizzato questo localizzatore GPS l'anno scorso e dato che funziona bene lo pubblico ora su Instructable. È collegato alla presa degli accessori nel mio bagagliaio. Il localizzatore GPS carica la posizione dell'auto, la velocità, la direzione e la temperatura misurata tramite un dato mobile
Localizzatore GPS LoRa: 6 passaggi (con immagini)
LoRa GPS Tracker: questo progetto mostrerà come assemblare il proprio modulo di localizzazione GPS, da utilizzare con le reti mesh Ripple LoRa. Vedi questo articolo di accompagnamento per informazioni: https://www.instructables.com/id/LoRa-Mesh-Radio/Questi moduli tracker utilizzano le radio Semtech LoRa e
NEO-6M GPS connesso a NodeMCU - Posizione display OLED - Visuino: 7 passaggi
NEO-6M GPS connesso a NodeMCU - Posizione display OLED - Visuino: in questo tutorial utilizzeremo NodeMCU Mini, OLED Lcd, NEO-6M GPS e Visuino per visualizzare la posizione GPS in tempo reale sul display LCD. Guarda un video dimostrativo
Orologio con posizione di qualcuno che mi ama: 6 passaggi (con immagini)
Orologio della posizione di qualcuno che mi ama: con i propri cari all'estero o fuori dallo stato, niente dice che sto pensando a te meglio che sapere sempre che ore sono per loro! I miei suoceri in pensione si stavano preparando per svolgere una missione della chiesa a Berlino, in Germania, e mia moglie ha inventato il g