Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: KONSTRUKTION
- Schritt 2: SOFTWARE
- Schritt 3: SCHLUSSFOLGERUNG
- Schritt 4: GPS- und KML-Dateiformate
Video: GPS-Routenverfolgung V2 – Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Projekt: GPS-Routenverfolgung V2
Datum: Mai - Juni 2020
AKTUALISIEREN
Die erste Version dieses Projekts hatte, obwohl sie im Prinzip funktionierte, eine Reihe von Fehlern, die behoben werden mussten. Erstens hat mir die Box nicht gefallen, also habe ich sie durch eine andere ersetzt. Zweitens waren die Berechnungen für Geschwindigkeit und Distanz nicht korrekt. Zusätzliche Feldtests mit der Einheit, die in einem Fahrzeug platziert wurde und die Route kartieren durfte, und dann wurde diese kartierte Route auf GPS Visualizer und Google Earth Pro mit hervorragenden Ergebnissen sowohl in Bezug auf die tatsächlich kartierte Route als auch die gemessene Distanz gemessen anhand der "Lineal"-Option kartiert in Earth Pro
Darüber hinaus wurde die Schaltung aktualisiert, sodass die 18650-Batterien direkt die ESP32-DEV-Platine mit Strom versorgten, während die NEO7M GSP-Einheit direkt vom Step-Down-Modul und nicht über die DEV-Platine mit Strom versorgt wurde. Dies führte zu einem stabileren System. Die Software wurde im Allgemeinen aufgeräumt, wobei die E-Mail-Option und die anschließende Verbindung zum lokalen Router nur durchgeführt wurde, wenn das Gerät eine Datei oder Dateien zum Senden gefunden hat. Eine letzte Verbesserung bestand darin, den "gps.location.isValid"-Test in "gps.location.isUpdated" zu ändern. Dies stellte sicher, dass nur aktualisierte GPS-Standorte in der Routendatei gespeichert wurden und nicht mehrere GPS-Standorte mit jeweils demselben Breiten- und Längengrad
Ich möchte an dieser Stelle anmerken, dass dies das erste GPS-basierte System ist, das ich erstellt habe, und nachfolgende Versionen würden die vorhandene Verkabelung weitgehend durch eine PCB-basierte Platine ersetzen. Damit bei der groben Handhabung nicht alle Drahtverbindungen versagen, wurden alle diese Verbindungen verklebt
Ich habe die ICO- und Fritzing-Dateien aktualisiert und neue Fotos hinzugefügt, um die von mir vorgenommenen Änderungen zu zeigen
ÜBERBLICK
Dieses Projekt war für mich ein kompletter Richtungswechsel, weg von Nixie Clocks und WiFi-basierten Robotern. Die Verwendung eines GPS-basierten Arduino-Moduls hat mich seit einiger Zeit fasziniert und da ich etwas Freizeit hatte, um auf zusätzliche Teile für das Hauptprojekt zu warten, an dem ich auch arbeite, beschloss ich, ein GPS-Routenverfolgungsgerät zu bauen, batteriebetrieben, leicht, tragbar und in der Lage, seine Routeninformationen entweder über eine Micro-SD-Karte oder, falls ein WLAN-Netzwerk verfügbar war, per E-Mail und einer angehängten Datei zu übertragen. Dieses Projekt erforderte die Verwendung von vier Komponenten, die ich zuvor nicht verwendet hatte, nämlich einen 0,96-Zoll-oLED-Bildschirm, einen SD-Kartenleser, ein GPS-Modul und das ESP32-Entwicklungsboard. Die endgültige Größe des Geräts, obwohl es sicherlich tragbar ist, könnte um volle 25-50% weiter reduziert werden, wenn die von mir verwendete Verkabelung durch eine Platine ersetzt würde, die direkt an der ESP32-Entwicklungsplatine und den 18650-Batterien befestigt und abgesetzt würde Modul durch einen geeigneten Li-Ion-5V-Akku ersetzt.
Lieferungen
1. ESP32-Entwicklungsboard
2. DS3231 RTC-Uhr mit Batterie-Backup
3. Micro-SD-Kartenleser auf SPI-Basis mit 1 GB Micro-SD-Karte
4. 0,96-Zoll-oLED-I2C-basierter Bildschirm
5. NEO-7M-0-000 GPS-Modul
6. 10uF Kondensator
7. 2 x 10K Widerstände, 4,7K Widerstand
8. DC-DC-Abwärtstransformator
9. 2 x 18650 Batterien
10. Doppelter 18650 Batteriehalter
11. Einpoliger Schalter
12. Momentaner Druckschalter
13. 2 x 100 mm x 50 mm x 65 mm Projektboxen
14. Dupont-Drähte, Heißkleber.
Schritt 1: KONSTRUKTION
Das beigefügte Fritzing-Diagramm zeigt das Layout der Schaltung. Die beiden 18650-Akkus und das Step-Down-Modul könnten durch einen Li-Ion-Akku ersetzt werden, der direkt 5V liefert. Ich empfehle das NEO-7M-Modul mit integriertem SMA-Außenantennenstecker, der es ermöglicht, ein einfaches 30cm langes Kabel zum Aufnehmen der Satelliteninformationen hinzuzufügen, dies dauert oft einige Minuten nach dem ersten Einschalten des Geräts. Die untere der beiden Projektboxen hat Öffnungen für den Bildschirm, die GPS-Antenne, den Schalter und die SD-Karte, sie enthält auch die RTC-Uhr, den SD-Kartenleser, den 0,96-Zoll-oLED-Bildschirm, die Taste, das GPS-Modul und die Platine. Die obere Projektbox enthält das ESP32-Entwicklungsboard, 18650-Batterien und Batteriehalter, ein Step-Down-Modul und eine einzelne Öffnung für den einpoligen Schalter. Die Oberseite dieser Projektbox wird mit vier Senkkopfschrauben befestigt, die entfernt werden können, damit die beiden 18650-Akkus entnommen, geladen und dann ausgetauscht werden können. Das Gerät ist nicht wasserdicht, aber es könnte so gemacht werden. Ein geeignetes USB-basiertes Batterieladegerät könnte auch in dieser oberen Projektbox mit einer geeigneten Öffnung installiert werden, damit die Batterien im Inneren geladen werden können, ohne dass der Deckel der Box entfernt werden muss. Während das GPS-Modul die Uhrzeit und das Datum aus dem Satelliten liefern kann, entschied ich, dass die Ortszeit und das Datum besser geeignet wären, also fügte ich ein RTC-Modul hinzu.
Einige der Konstruktionsfotos zeigen die frühe Entwicklung dieses Projekts, bei dem ich ein WeMos D1 R2-Board und ein einfaches 16x2-LED-Display verwendet habe, die beide in der endgültigen Version ersetzt wurden.
Schritt 2: SOFTWARE
Der Grund für das ESP32-basierte Arduino-Board war, dass ich nach einigen Recherchen herausgefunden habe, dass der ESP32 erfolgreich E-Mails an ein G-Mail-Konto senden kann, vorausgesetzt, die Einstellungen des Kontos werden so geändert, dass "weniger sichere E-Mails empfangen" werden., erfordert dies eine Änderung der G-Mail-Kontoeinstellungen. Um darauf zuzugreifen, gehen Sie zur Menüoption "Google-Konto verwalten", wählen Sie dann "Sicherheit" und scrollen Sie schließlich nach unten, bis Sie "Weniger sicherer App-Zugriff" sehen, schalten Sie diese Funktion ein.
Sie müssen die folgenden Include-Dateien herunterladen und installieren: TinyGPS++.h, SoftwareSerial.h, "RTClib.h", "ESP32_MailClient.h", "SPIFFS.h", WiFiClient.h, math.h, Wire.h, SPI.h, SD.h, Adafruit_GFX.h und Adafruit_SSD1306.h.
Das Programm wurde mit der Version 1.8.12 der Arduino IDE entwickelt, als Board wurde das „DOIT ESP32 DEVKIT V1“gewählt.
Aufgrund der Größe des Programms können Sie dieses Programm nicht auf einem Arduino UNO entwickeln, auch beim Herunterladen der Software ist es notwendig, das TX-Kabel vom GSP-Modul zu entfernen, sonst schlägt der Download fehl. An den „EN“- und „GND“-Pins der ESP32-Platine wurde ein 10uF-Kondensator angebracht, damit nicht jedes Mal, wenn ein neues Softwareprogramm heruntergeladen wurde, die „EN“-Taste gedrückt werden musste.
Die Arduino-Software wurde entwickelt, um es dem Benutzer des Systems zu ermöglichen, entweder eine Route oder Routen innerhalb des Geräts aufzuzeichnen und dann die SD-Karte zu entfernen und über einen PC-basierten Kartenleser hochzuladen, oder die Menüoption E-Mail auszuwählen und zu haben Alle auf dem Gerät gespeicherten Routendateien werden an ein G-Mail-Konto gesendet, wobei an jede E-Mail eine Route angehängt wird. Die Routendateien werden innerhalb des Geräts formatiert und können die Form von zwei verschiedenen Stilen haben, das „GPX“-Format, das direkt mit „GPS Viewer“angezeigt werden kann, einer kostenlos im Internet verfügbaren Google-Anwendung, oder „KML“. Format, das direkt mit der Anwendung „Google Earth Pro“angezeigt werden kann, die aus dem Internet heruntergeladen werden kann. Dieselbe Anwendung kann auch die „GPX“-basierten Routendateien lesen und anzeigen. Beide Dateiformate sind als Dateiformatschemata frei verfügbar und im Internet bei Wikipedia zu finden. Sobald die E-Mail oder die E-Mails gesendet wurden, kehrt das Gerät zur Routenüberwachung zurück, verwendet jedoch standardmäßig das GPX-Dateiformat. Mit der Drucktaste können Sie die Option E-Mail auswählen, entweder das Dateiformat GPX oder KML auswählen und die Routenaufzeichnung starten und stoppen. Im Routenüberwachungsmodus zeigt der oLED-Bildschirm den Längen- und Breitengrad der aktuellen Position an und dann auf einem zweiten Bildschirm die aktuelle Uhrzeit, das Datum, die Höhe in Metern, die Anzahl der verwendeten Satelliten, die Geschwindigkeit in Km und schließlich den Kurs als Eins der Himmelsrichtungen. Im Routenaufzeichnungsmodus zeigt der Bildschirm die geöffnete Routendatei an, dann wird zusätzlich zu den beiden zuvor beschriebenen Bildschirmen ein dritter Bildschirm angezeigt, der die verwendete Routendatei, die Anzahl der aufgezeichneten Wegpunkte und schließlich die zurückgelegte Strecke in Km.
Die folgenden Bilder zeigen, wie die vom Gerät erstellten und gesendeten E-Mails von G-Mail empfangen und angezeigt werden.
Schritt 3: SCHLUSSFOLGERUNG
Ich habe viel bei der Entwicklung dieses Projekts gelernt, aber diese Einheit kann nur als „Backend“für ein App-basiertes System betrachtet werden, das die GPX- oder KML-Dateien aufnimmt, um sie anzuzeigen. Die Verwendung von Software von Drittanbietern war eine akzeptable Alternative zur Weiterentwicklung dieser Software. Die Verfügbarkeit der Menüoption „Weniger sichere App“im Menü der Google-Kontoverwaltung kann aufgrund von Änderungen im Juni 2020 eingeschränkt sein. Wenn dies der Fall ist, kann eine Umleitung der E-Mail an ein alternatives Konto erforderlich sein oder indem Sie den 586-Port auf dem Mailserver verwenden.
Schritt 4: GPS- und KML-Dateiformate
Das Folgende zeigt einen typischen Dateiinhalt für jeden Dateityp, den das Gerät generiert (die Werte für Breite und Länge ändern sich in diesen Beispielen nicht wesentlich, da das Gerät stationär ist). Beide Dateien enthalten die minimalen Kopf- und Fußzeilendaten, die von GPS Viewer und Google Earth pro benötigt werden, um eine einfache schwarze Linie anzuzeigen, die die zurückgelegte Route anzeigt:
Die KML-Datei:
Die GPX-Datei:
Empfohlen:
GPS-Tracker - Gunook
GPS-Tracker: Hey Leute, in diesem Video werden wir einen GPS-Tracker mit Esp 8266 (nodemcu) und einem Neo 6m GPS-Modul erstellen, also fangen wir an
Machen Sie GPS-Grenzen mit Arduino - Gunook
GPS-GRENZEN MIT Arduino erstellen: In diesem Tutorial lernen wir, wie Sie mit Arduino GPS-GRENZEN erstellen. Dies ist nützlich, wenn Sie einen Roboter haben und nicht möchten, dass er den angegebenen Bereich verlässt. Wenn sich der Roboter außerhalb des Bereichs befindet , zeigt das Display „Außen“an
GPS Para Norma (Datenlogger EEPROM) - Gunook
GPS Para Norma (Datalogger EEPROM): Einfacher GPS-Datenlogger für Haustiere basierend auf Arduino- und EEPROM-Aufzeichnung=============================== =======================Sencillo Datalogger GPS für Maskottchen-Basado und arduino y grabacion en memoria EEPROM
Erstellen Sie benutzerdefinierte Karten für Ihr Garmin GPS - Gunook
Erstellen Sie benutzerdefinierte Karten für Ihr Garmin-GPS: Wenn Sie ein Garmin-GPS haben, das für Wanderungen und andere Outdoor-Aktivitäten entwickelt wurde (einschließlich der GPSMAP-, eTrex-, Colorado-, Dakota-, Oregon- und Montana-Serien, unter anderem), müssen Sie dies nicht tun Begnügen Sie sich mit den nackten Karten, die darauf vorinstalliert waren. E
So verbinden Sie das DeLorme Earthmate GPS LT-20 mit Ihrem Google Earth für eine großartige GPS-Tracking-Karte. - Gunook
So verbinden Sie das DeLorme Earthmate GPS LT-20 mit Ihrem Google Earth für eine großartige GPS-Tracking-Karte.: Ich zeige Ihnen, wie Sie ein GPS-Gerät mit dem beliebten Google Earth-Programm verbinden, ohne Google Earth Plus zu verwenden. Ich habe kein großes Budget, daher kann ich garantieren, dass dies so günstig wie möglich ist