Inhoudsopgave:

GPS-routetracking V2: 4 stappen (met afbeeldingen)
GPS-routetracking V2: 4 stappen (met afbeeldingen)

Video: GPS-routetracking V2: 4 stappen (met afbeeldingen)

Video: GPS-routetracking V2: 4 stappen (met afbeeldingen)
Video: Fitbit Charge 4: Activity tracker mét ingebouwd GPS! 2024, November
Anonim
GPS-route volgen V2
GPS-route volgen V2
GPS-route volgen V2
GPS-route volgen V2
GPS-route volgen V2
GPS-route volgen V2

Project: GPS-route volgen V2

Datum: mei - juni 2020

UPDATE

De eerste versie van dit project, hoewel het in principe werkte, had een aantal fouten die moesten worden verholpen. Ten eerste vond ik de doos niet leuk, dus ik heb hem vervangen door een andere. Ten tweede klopten de berekeningen voor snelheid en afstand niet. Aanvullende veldtesten waarbij het apparaat in een voertuig werd geplaatst en de route in kaart kon brengen en vervolgens werd deze in kaart gebrachte route in kaart gebracht op GPS Visualizer en Google Earth Pro met uitstekende resultaten, zowel in termen van de werkelijke route in kaart gebracht als de berekende afstand gemeten tegen de "liniaal" -optie in EarthPro

Bovendien werd het circuit bijgewerkt, zodat de 18650-batterijen rechtstreeks stroom leverden aan het ESP32 DEV-bord, terwijl de NEO7M GSP-eenheid rechtstreeks vanuit de Step Down-module werd gevoed in plaats van via het DEV-bord. Dit leverde een stabieler systeem op. De software was over het algemeen netjes, met de optie E-mail en daaropvolgende verbinding met de lokale router alleen uitgevoerd als het apparaat een bestand of bestanden vond die beschikbaar waren om te verzenden. Een laatste verbetering was het veranderen van de "gps.location.isValid"-test in "gps.location.isUpdated". Dit zorgde ervoor dat alleen bijgewerkte GPS-locaties werden opgeslagen in het routebestand, in plaats van meerdere GPS-locaties die allemaal dezelfde lengte- en breedtegraad hebben

Ik zou op dit punt willen opmerken dat dit het eerste op GPS gebaseerde systeem is dat ik heb gemaakt, en volgende versies zouden de bestaande bedrading grotendeels vervangen door een op PCB's gebaseerd bord. Om ervoor te zorgen dat alle draadverbindingen niet bezwijken, zijn bij ruwe behandeling al deze verbindingen gelijmd

Ik heb de ICO- en Fritzing-bestanden bijgewerkt en nieuwe foto's toegevoegd om de wijzigingen te laten zien die ik heb aangebracht

OVERZICHT

Dit project was een complete verandering van richting voor mij, weg van Nixie Clocks en op WiFi gebaseerde robots. Het gebruik van een op GPS gebaseerde Arduino-module heeft me al een tijdje geïntrigeerd en omdat ik wat vrije tijd had om te wachten op extra onderdelen voor het hoofdproject waar ik ook aan werk, besloot ik een GPS-routevolgapparaat te bouwen, op batterijen, lichtgewicht, draagbaar en in staat om de route-informatie over te dragen via een micro SD-kaart of, als er een WiFi-netwerk beschikbaar was, via e-mail en een bijgevoegd bestand. Dit project vereiste het gebruik van vier componenten die ik nog niet eerder had gebruikt, namelijk een 0,96-inch oLED-scherm, SD-kaartlezer, GPS-module en het ESP32-ontwikkelbord. De uiteindelijke grootte van de eenheid, hoewel zeker draagbaar, zou verder kunnen worden verminderd, met een volledige 25-50%, als de bedrading die ik gebruikte zou worden vervangen door een printplaat die rechtstreeks op het ESP32-ontwikkelbord en de 18650-batterijen is aangesloten en stap-down module vervangen door een geschikt Li-ion 5V batterijpakket.

Benodigdheden

1. ESP32-ontwikkelbord

2. DS3231 RTC-klok met batterijback-up

3. Micro SD-kaart SPI-gebaseerde lezer, met 1 GB micro SD-kaart

4. 0,96-inch oLED I2C-gebaseerd scherm

5. NEO-7M-0-000 GPS-module

6. 10uF condensator:

7. 2 x 10K weerstanden, 4,7K weerstand

8. DC-DC step-down transformator

9. 2 x 18650-batterijen

10. Dubbele 18650 batterijhouder

11. Enkelpolige schakelaar

12. Tijdelijke drukschakelaar

13. 2 x 100mmx50mmx65mm projectdozen

14. Dupont-draden, hete lijm.

Stap 1: BOUW

BOUW
BOUW
BOUW
BOUW
BOUW
BOUW

Het bijgevoegde Fritzing-diagram toont de lay-out van het circuit. De twee 18650-batterijen en de step-down-module kunnen worden vervangen door een Li-ion-batterijpakket dat direct 5V levert. Ik raad de NEO-7M-module aan met de geïntegreerde SMA externe antennestekker waarmee je een eenvoudig stuk draad van 30 cm kunt toevoegen dat de satellietinformatie oppikt, dit duurt vaak een paar minuten nadat het apparaat voor het eerst is ingeschakeld. De onderste van de twee projectboxen heeft openingen gemaakt voor het scherm, GPS-antenne, schakelaar en SD-kaart, het bevat ook de RTC-klok, SD-kaartlezer, 0,96-inch oLED-scherm, knop, GPS-module en printplaat. De bovenste projectdoos bevat het ESP32-ontwikkelbord, 18650-batterijen en batterijhouder, step-down-module en een enkele opening voor de enkelpolige schakelaar. De bovenkant van deze projectdoos wordt op zijn plaats gehouden met vier verzonken schroeven die kunnen worden verwijderd zodat de twee 18650 oplaadbare batterijen kunnen worden verwijderd, opgeladen en vervolgens worden vervangen. Het apparaat is niet waterdicht, maar het zou zo kunnen worden gemaakt. In deze bovenste projectdoos kan ook een geschikte op USB gebaseerde batterijlader worden geïnstalleerd, met een geschikte opening, zodat de batterijen erin kunnen worden opgeladen zonder dat het deksel van de doos hoeft te worden verwijderd. Hoewel de GPS-module de tijd en datum kan leveren, zoals verkregen van de satelliet, besloot ik dat de lokale tijd en datum geschikter zouden zijn, dus heb ik een RTC-module toegevoegd.

Sommige van de constructiefoto's tonen de vroege ontwikkeling van dit project waarbij ik een WeMos D1 R2-bord en een eenvoudig 16x2 LED-display gebruikte, beide werden vervangen in de definitieve versie.

Afbeelding
Afbeelding

Stap 2: SOFTWARE

SOFTWARE
SOFTWARE
SOFTWARE
SOFTWARE
SOFTWARE
SOFTWARE

De reden voor het op ESP32 gebaseerde Arduino-bord was dat ik na enig onderzoek ontdekte dat de ESP32 met succes kan e-mailen naar een G-Mail-account, op voorwaarde dat de accountinstellingen worden gewijzigd zodat "minder veilige e-mails kunnen worden ontvangen", vereist dit een wijziging in de instellingen van het G-Mail-account. Om toegang te krijgen, gaat u naar de menuoptie "Google-account beheren", selecteert u vervolgens "Beveiliging" en scrolt u ten slotte naar beneden tot u "Minder veilige app-toegang" ziet, schakelt u deze functie in.

U moet de volgende bestanden downloaden en installeren: TinyGPS++.h, SoftwareSerial.h, "RTClib.h", "ESP32_MailClient.h", "SPIFFS.h", WiFiClient.h, math.h, Wire.h, SPI.h, SD.h, Adafruit_GFX.h en Adafruit_SSD1306.h.

Het programma is ontwikkeld met versie 1.8.12 van de Arduino IDE en het geselecteerde bord was de "DOIT ESP32 DEVKIT V1".

Vanwege de omvang van het programma kun je dit programma niet ontwikkelen op een Arduino UNO, ook bij het downloaden van de software is het noodzakelijk om de TX-draad van de GSP-module te verwijderen, anders mislukt de download. Een 10uF-condensator werd bevestigd aan de "EN"- en "GND"-pinnen van het ESP32-bord, zodat het niet nodig was om de "EN" -knop telkens in te drukken wanneer een nieuw softwareprogramma werd gedownload.

De Arduino-software is ontwikkeld om de gebruiker van het systeem in staat te stellen een route of routes binnen het apparaat op te nemen en vervolgens de SD-kaart te verwijderen en deze te uploaden via een pc-kaartlezer, of om de menuoptie E-mail te selecteren en alle routebestanden die op het apparaat staan, worden naar een G-Mail-account gestuurd, met aan elke e-mail een route. De routebestanden zijn geformatteerd binnen de Unit en kunnen de vorm aannemen van twee verschillende stijlen, "GPX"-formaat dat direct kan worden bekeken met behulp van "GPS Viewer", een google-applicatie die gratis te gebruiken is op internet, of "KML" formaat dat direct kan worden bekeken met behulp van de "Google Earth Pro"-applicatie die kan worden gedownload van internet. Deze zelfde applicatie kan ook de op "GPX" gebaseerde routebestanden lezen en weergeven. Beide bestandsformaten zijn vrij beschikbaar als bestandsformaatschema's en zijn te vinden op internet op Wikipedia. Zodra de e-mail of e-mails zijn verzonden, keert het apparaat terug naar de routebewaking, maar het zal standaard het GPX-bestandsformaat gebruiken. De drukknop wordt gebruikt om de optie E-mail te selecteren, het GPX- of KML-bestandsformaat te selecteren en om de routeregistratie te starten en te stoppen. In de routebewakingsmodus geeft het oLED-scherm de lengte- en breedtegraad van de huidige positie weer en vervolgens op een tweede scherm de huidige tijd, datum, hoogte in meters, aantal satellieten dat wordt gebruikt, snelheid in km en tenslotte de koers als één van de kardinale kompaspunten. Terwijl in de routeregistratiemodus het scherm het geopende routebestand toont, zal naast de twee eerder beschreven schermen een derde scherm worden weergegeven met details over het gebruikte routebestand, het aantal waypoints dat het heeft opgenomen en tot slot de afgelegde afstand in Km.

De volgende afbeeldingen laten zien hoe de e-mails, gemaakt en verzonden door het apparaat, worden ontvangen en weergegeven door G-Mail.

Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding
Afbeelding

Stap 3: CONCLUSIE

CONCLUSIE
CONCLUSIE
CONCLUSIE
CONCLUSIE

Ik heb veel geleerd van het ontwikkelen van dit project, maar dit apparaat kan alleen worden beschouwd als een "back-end" naar een app-gebaseerd systeem dat de GPX- of KML-bestanden gebruikt om ze weer te geven. Het gebruik van software van derden was een acceptabel alternatief voor de verdere ontwikkeling van deze software. De beschikbaarheid van de "Minder veilige app" menu-optie in het Google Account Management-menu kan beperkt zijn omdat er in juni 2020 wijzigingen kunnen plaatsvinden. Als dit het geval is, kan het nodig zijn om de e-mail door te sturen naar een alternatief account of door de 586-poort op de mailserver te gebruiken.

Stap 4: GPS- en KML-bestandsindelingen

GPS- en KML-bestandsindelingen
GPS- en KML-bestandsindelingen
GPS- en KML-bestandsindelingen
GPS- en KML-bestandsindelingen

Het volgende toont een typische bestandsinhoud voor elk type bestand dat het apparaat genereert (de breedte- en lengtegraadwaarden veranderen niet veel in deze voorbeelden omdat het apparaat stationair is). Beide bestanden bevatten de minimale kop- en voettekstgegevens die GPS Viewer en Google Earth pro nodig hebben om een eenvoudige zwarte lijn weer te geven die de afgelegde route weergeeft:

Het KML-bestand:

Afbeelding
Afbeelding

Het GPX-bestand:

Aanbevolen: