Inhaltsverzeichnis:

Standort-Tracker mit NodeMCU ESP8266 - Gunook
Standort-Tracker mit NodeMCU ESP8266 - Gunook

Video: Standort-Tracker mit NodeMCU ESP8266 - Gunook

Video: Standort-Tracker mit NodeMCU ESP8266 - Gunook
Video: NodeMCU Firebase MIT App Inventor | ESP8266 GPS Tracker 2024, Juli
Anonim
Standort-Tracker mit NodeMCU ESP8266
Standort-Tracker mit NodeMCU ESP8266

Sind Sie neugierig, wie Ihre NodeMCU Ihren Standort verfolgen kann? Das geht auch ohne GPS-Modul und ohne Display. Die Ausgabe sind die Koordinaten, an denen Sie sich befinden, und Sie werden sie auf Ihrem seriellen Monitor sehen.

Das folgende Setup wurde für NodeMCU 1.0 (ESP-12E Module) mit Arduino IDE verwendet.

  • Windows 10
  • Arduino-IDE v. 1.8.4

Schritt 1: Was brauchen Sie?

Um diesem Tutorial zu folgen, benötigen Sie die folgenden Komponenten:

  • Micro-USB-Kabel
  • NodeMCU ESP8266

Außerdem benötigen Sie:

  • LocationAPI (von Unwired Labs)
  • Zugang zu WLAN oder einem Hotspot

Schritt 2: Gehen Sie zu Unwired Labs

Gehe zu Unwired Labs
Gehe zu Unwired Labs

Geolocation ist sehr praktisch, denn wenn Ihr GPS ausgefallen ist, können Sie weiterhin Geolocation verwenden, um Ihren Standort zu verfolgen. Unser Host, der die Geolokalisierung bereitstellt, ist https://www.unwiredlabs.com/. Gehen Sie zu dieser Website und melden Sie sich an (die orangefarbene Schaltfläche in der oberen rechten Ecke).

Schritt 3: Registrieren Sie sich, um API-Token zu erhalten

Melden Sie sich an, um API-Token zu erhalten
Melden Sie sich an, um API-Token zu erhalten

Auf der Anmeldeseite müssen Sie Ihren Namen, Ihre E-Mail-Adresse (Ihr API-Token wird an Ihre E-Mail-Adresse gesendet) und den Anwendungsfall (z. B. persönliche Nutzung) eingeben. Wählen Sie Ihren Kontotyp aus. Die kostenlose Version reicht aus, aber denken Sie daran, dass Sie eingeschränkt sind und Ihren Standort nicht rund um die Uhr verfolgen können. Lass uns anfangen!

Schritt 4: Überprüfen Sie Ihre E-Mail

Gehen Sie zu Ihrer E-Mail und Sie sehen Ihr API-Token. Kopieren Sie das API-Token, da Sie es für den Code benötigen, den wir verwenden werden. So sieht die E-Mail aus:

Hallo!

Vielen Dank, dass Sie sich bei der Unwired Labs LocationAPI angemeldet haben! Ihr API-Token lautet "Ihr API-Code ist hier" (ohne Anführungszeichen). Dies gibt 100 Anfragen / Tag kostenlos - für immer.

Wenn Sie 5 Geräte kostenlos verfolgen möchten, antworten Sie bitte mit den folgenden Details und wir werden Ihr Konto innerhalb von 12 Stunden aktualisieren:

1. Bereitstellungstyp (Hardware/ App/ Sonstiges):

2. Über Ihr Projekt:

3. Webseite:

Sie können sich hier bei Ihrem Dashboard anmelden: https://unwiredlabs.com/dashboard. Wenn Sie in Schwierigkeiten geraten oder Fragen haben, antworten Sie auf diese E-Mail und ich helfe Ihnen!

Viel Spaß beim Finden!

Sagar

Unverkabelte Labore

Schritt 5: Bibliotheken, die Sie benötigen

Bibliotheken, die Sie brauchen
Bibliotheken, die Sie brauchen

Der nächste Schritt besteht darin, Arduino zu öffnen und Bibliotheken zu verwalten. Sie müssen die ArduinoJson-Bibliothek installieren. Die anderen Bibliotheken sind bereits integriert. Wenn Sie fertig sind, können Sie mit dem Schreiben des Codes beginnen.

Schritt 6: Fügen Sie Code in Arduino hinzu, um eine Verbindung mit LocationAPI. herzustellen

Erstellen Sie eine neue Skizze und fügen Sie den folgenden Code in Arduino hinzu. Schreiben Sie Ihren eigenen WLAN-/Hotspot-Namen und Ihr Passwort. Fügen Sie das API-Token ein, das Sie in der E-Mail erhalten haben. Laden Sie Ihren Code auf Ihre NodeMCU hoch.

#enthalten

#enthalten

#include "ESP8266WiFi.h"

// Ihre Netzwerk-SSID (Name) & Netzwerk-Passwort

char myssid = "Ihr WLAN-/Hotspot-Name"; char mypass = "Ihr Passwort";

// unwiredlabs Hostname & Geolocation-Endpunkt-URL

const char* Host = "www.unwiredlabs.com"; String-Endpunkt = "/v2/process.php";

// UnwiredLabs API_Token. Melden Sie sich hier an, um ein kostenloses Token zu erhalten

Zeichenfolgentoken = "d99cccda52ec0b";

String jsonString = "{n";

// Variablen zum Speichern der unwiredlabs-Antwort

doppelter Breitengrad = 0,0; doppelter Längengrad = 0,0; doppelte Genauigkeit = 0,0;

Void-Setup () {

Serial.begin(115200);

// Stellen Sie WiFi in den Stationsmodus und trennen Sie die Verbindung zu einem AP, wenn dieser zuvor verbunden war

WiFi.mode(WIFI_STA); WiFi.disconnect(); Serial.println ("Setup abgeschlossen");

// Wir beginnen mit der Verbindung mit einem WiFi-Netzwerk

Serial.print ("Verbinden mit"); Serial.println (myssid); WiFi.begin(myssid, mypass);

while (WiFi.status() != WL_CONNECTED) {

Verzögerung (500); Serial.print("."); } Serial.println("."); }

Leere Schleife () {

char bssid[6]; DynamicJsonBuffer jsonBuffer;

// WiFi.scanNetworks gibt die Anzahl der gefundenen Netzwerke zurück

int n = WiFi.scanNetworks(); Serial.println ("Scan fertig");

wenn (n == 0) {

Serial.println ("Keine Netzwerke verfügbar"); } sonst {Serial.print (n); Serial.println ("Netzwerke gefunden"); }

// baue jetzt den 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 += "\"Signal\": "; jsonString += WiFi. RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "}, \n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); Serial.println (jsonString);

WiFiClientSecure-Client;

// Verbinden Sie sich mit dem Client und machen Sie den API-Aufruf

Serial.println ("Anfordernde URL: https://" + (String)Host + Endpunkt); if (client.connect(Host, 443)) {Serial.println("Verbunden"); client.println("POST" + Endpunkt + "HTTP/1.1"); client.println("Host: " + (String)Host); client.println("Verbindung: schließen"); client.println("Inhaltstyp: Anwendung/json"); client.println("Benutzer-Agent: Arduino/1.0"); client.print("Inhaltslänge: "); client.println(jsonString.length()); client.println(); client.print (jsonString); Verzögerung (500); }

// Alle Zeilen der Antwort vom Server lesen und analysieren

while (client.available()) { String line = client.readStringUntil('\r'); JsonObject& root = jsonBuffer.parseObject(line); if (root.success()) { Breite = root["lat"]; Längengrad = root["lon"]; Genauigkeit = root["Genauigkeit"];

Serial.println();

Serial.print ("Breitengrad = "); Serial.println (Breitengrad, 6); Serial.print ("Längengrad = "); Serial.println (Längengrad, 6); Serial.print ("Genauigkeit = "); Serial.println (Genauigkeit); } }

Serial.println ("Verbindung schließen");

Serial.println(); client.stop();

Verzögerung (5000);

}

Schritt 7: Öffnen Sie den seriellen Monitor, um zu sehen, ob Sie verbunden sind

Gehen Sie zu Tools in Arduino und öffnen Sie den seriellen Monitor. Um zu sehen, ob Sie mit dem Internet verbunden sind, sollten Sie im seriellen Monitor Folgendes sehen:

Einrichtung abgeschlossen

Verbinden mit (Ihrem WLAN-Namen) … Scan fertig

Schritt 8: Holen Sie sich die Koordinaten

Wenn es erfolgreich funktioniert, sollten Sie unter scan done eine ganze Liste von Daten sehen. Das einzige, was wir brauchen, ist der Code unter der anfordernden URL, also benötigen wir den Breiten- und Längengrad. Das sind die Koordinaten.

Anfordernde URL:

In Verbindung gebracht

Breitengrad = 52,385259

Längengrad = 5.196099

Genauigkeit = 41,00

Verbindung schließen

Nach 5 Sekunden wird der Code ständig aktualisiert und Sie werden wahrscheinlich sehen, dass sich Breite, Länge und Genauigkeit ändern. Das liegt daran, dass die API versucht, den Standort so genau wie möglich zu verfolgen.

Schritt 9: Gehen Sie zu Google Maps

Gehe zu Google Maps
Gehe zu Google Maps

Rufen Sie https://www.google.com/maps/ auf und geben Sie Ihre Koordinaten in die Suchleiste ein. Die Koordinaten müssen wie folgt geschrieben werden: 52.385259, 5.196099. Google Maps sollte zeigen, wo Sie sich auf der Karte befinden.

Schritt 10: Standort an Ihr Handy senden

Standort an Ihr Handy senden
Standort an Ihr Handy senden

Und du bist fertig! Wenn Sie also den Standort an Ihr Handy senden möchten, ist dies möglich. Google Maps sendet dann auf Wunsch eine E-Mail mit Ihren Koordinaten.

Viel Spaß beim Lokalisieren!

Empfohlen: