Innehållsförteckning:

GPS -ruttspårning V2: 4 steg (med bilder)
GPS -ruttspårning V2: 4 steg (med bilder)

Video: GPS -ruttspårning V2: 4 steg (med bilder)

Video: GPS -ruttspårning V2: 4 steg (med bilder)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
GPS -ruttspårning V2
GPS -ruttspårning V2
GPS -ruttspårning V2
GPS -ruttspårning V2
GPS -ruttspårning V2
GPS -ruttspårning V2

Projekt: GPS Route Tracking V2

Datum: maj - juni 2020

UPPDATERING

Den första versionen av detta projekt, medan det fungerade i princip, hade ett antal fel som måste åtgärdas. För det första gillade jag inte lådan så jag har ersatt den med en annan. För det andra är beräkningarna för hastighet och avstånd inte korrekta. Ytterligare fältprov med enheten placerad inuti ett fordon och fick kartlägga rutten och sedan mappades denna kartade rutt till GPS Visualizer och Google Earth Pro med utmärkta resultat både när det gäller faktisk rutt mappad och avstånd beräknat mätt mot alternativet "linjal" i Earth Pro

Dessutom uppdaterades kretsen så att 18650 -batterierna gav ström direkt till ESP32 DEV -kortet, medan NEO7M GSP -enheten drevs direkt från Step Down -modulen snarare än via DEV -kortet. Detta gav ett mer stabilt system. Programvaran städades i allmänhet, med alternativet E -post och efterföljande anslutning till den lokala routern utfördes endast om enheten hittade en eller flera filer som kan skickas. En sista förbättring var att ändra "gps.location.isValid" -testet till "gps.location.isUpdated" detta säkerställde att endast uppdaterade GPS -platser sparades i ruttfilen, snarare än att flera GPS -platser var och en hade samma latitud och longitud

Jag skulle notera vid detta tillfälle att detta är det första GPS -baserade systemet jag har skapat, och efterföljande versioner skulle i stor utsträckning ersätta de befintliga ledningarna med ett PCB -baserat kort. För att säkerställa att alla trådanslutningar inte misslyckas har alla dessa anslutningar limmats vid grov hantering

Jag har uppdaterat ICO- och Fritzing -filerna och lagt till nya foton för att visa de ändringar jag har gjort

ÖVERSIKT

Detta projekt var en fullständig riktningsändring för mig, när jag flyttade från Nixie Clocks och WiFi -baserade robotar. Användningen av en GPS -baserad Arduino -modul har fascinerat mig någon gång och eftersom jag hade lite ledig tid att vänta på ytterligare delar till det huvudprojekt jag också arbetar med bestämde jag mig för att bygga en GPS -ruttspårningsenhet, batteridriven, lätt, bärbar och kan överföra sin ruttinformation antingen via ett micro SD-kort eller, om ett WiFi-nätverk var tillgängligt, via e-post och en bifogad fil. Detta projekt krävde användning av fyra komponenter som jag inte hade använt tidigare, nämligen en 0,96”oLED-skärm, SD-kortläsare, GPS-modul och ESP32 Development Board. Den slutliga storleken på enheten, även om den verkligen är bärbar, skulle kunna minskas ytterligare med hela 25-50%om ledningarna jag använde skulle bytas ut mot ett kretskort som var anslutet direkt till ESP32 Development Board och 18650 batterier och nedtrappning modulen byttes ut mot ett lämpligt 5V Li-ion-batteri.

Tillbehör

1. ESP32 Development Board

2. DS3231 RTC -klocka med batteribackup

3. Micro SD Card SPI -baserad läsare, med 1 GB micro SD -kort

4. 0,96”oLED I2C -baserad skärm

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

6. 10uF kondensator

7. 2 x 10K motstånd, 4.7K motstånd

8. DC-DC trappa ner transformator

9. 2 x 18650 batterier

10. Dubbel 18650 batterihållare

11. Enpolig brytare

12. Momentan tryckknapp

13. 2 x 100mmx50mmx65mm projektlådor

14. Dupont -trådar, varmt lim.

Steg 1: KONSTRUKTION

KONSTRUKTION
KONSTRUKTION
KONSTRUKTION
KONSTRUKTION
KONSTRUKTION
KONSTRUKTION

Det bifogade Fritzing -diagrammet visar kretsens layout. De två 18650-batterierna och step-down-modulen kan ersättas med ett Li-ion-batteri som ger 5V direkt. Jag rekommenderar NEO-7M-modulen med den integrerade externa SMA-antennpluggen som gör att du kan lägga till en enkel tråd 30 cm lång som tar upp satellitinformationen, detta tar ofta några minuter efter att enheten startades. Den nedre av de två projektlådorna har öppningar gjorda för skärmen, GPS-antenn, switch och SD-kort, den innehåller också RTC-klocka, SD-kortläsare, 0,96”oLED-skärm, knapp, GPS-modul och kretskort. Den övre projektlådan innehåller utvecklingskortet ESP32, 18650 batterier och batterihållare, nedtrappningsmodul och en enda öppning för enpolig switch. Överst på denna projektlåda hålls på plats med fyra motsänkta skruvar som kan tas bort för att de två 18650 laddningsbara batterierna ska kunna tas bort, laddas och sedan bytas ut. Enheten är inte vattentät, men den kan göras så. En lämplig USB -baserad batteriladdare kan också installeras i denna övre projektlåda, med en lämplig öppning, så att batterierna inuti kan laddas utan att lådans lock behöver tas bort. Medan GPS -modulen kan ge tid och datum, från satelliten, bestämde jag mig för att lokal tid och datum skulle vara mer lämpligt så jag lade till en RTC -modul.

Några av byggfotona visar den tidiga utvecklingen av detta projekt där jag använde ett WeMos D1 R2 -kort och en enkel 16x2 LED -display, båda dessa byttes ut i den slutliga versionen.

Bild
Bild

Steg 2: PROGRAMVARA

PROGRAMVARA
PROGRAMVARA
PROGRAMVARA
PROGRAMVARA
PROGRAMVARA
PROGRAMVARA

Anledningen till det ESP32-baserade Arduino-kortet var att jag efter en del undersökningar fann att ESP32 framgångsrikt kan e-posta till ett G-Mail-konto, förutsatt att kontots inställningar ändras så att det gör att”mindre säkra e-postmeddelanden kan tas emot”, detta kräver en ändring av inställningarna för G-Mail-kontot. För att komma åt detta, gå till menyalternativet "Hantera Google -konto", välj sedan "Säkerhet" och rulla slutligen ner tills du ser "Mindre säker appåtkomst", slå på den här funktionen.

Du måste ladda ner och installera följande inkluderar filer: TinyGPS ++. H, SoftwareSerial.h, "RTClib.h", "ESP32_MailClient.h", "SPIFFS.h", WiFiClient.h, math.h, Wire.h, SPI.h, SD.h, Adafruit_GFX.h och Adafruit_SSD1306.h.

Programmet utvecklades med version 1.8.12 av Arduino IDE, och det valda kortet var "DOIT ESP32 DEVKIT V1".

På grund av programmets storlek kan du inte utveckla detta program på en Arduino UNO, även när du laddar ner programvaran är det nödvändigt att ta bort TX -kabeln från GSP -modulen, annars kommer nedladdningen att misslyckas. En 10uF -kondensator var ansluten till “EN” och “GND” -stiften på ESP32 -kortet så att det inte var nödvändigt att trycka på “EN” -knappen varje gång ett nytt program laddades ner.

Arduino-programvaran har utvecklats för att låta användaren av systemet antingen spela in en rutt eller rutter inom enheten och sedan ta bort SD-kortet och ladda upp dem via en PC-baserad kortläsare, eller för att välja menyn E-Mail och ha alla ruttfiler som finns på enheten skickas till ett G-Mail-konto, en rutt bifogad till varje e-post. Ruttfilerna är formaterade i enheten och kan ha formen av två olika stilar, "GPX" -format som kan ses direkt med hjälp av "GPS Viewer", en Google-applikation som är gratis att använda på Internet eller "KML" format som kan ses direkt med appen "Google Earth Pro" som kan laddas ner från Internet. Samma applikation kan också läsa och visa "GPX" -baserade ruttfiler. Båda dessa filformat är fritt tillgängliga som filformatscheman och finns på internet på Wikipedia. När e-postmeddelandet eller e-postmeddelandena har skickats återgår enheten till ruttövervakningen, men GPX-filformatet är standard. Tryckknappen används för att välja alternativet E-post, välja antingen GPX- eller KML-filformat och för att starta och stoppa ruttinspelningen. I ruttövervakningsläge visar oLED -skärmen longitud och latitud för den aktuella positionen och sedan på en andra skärm visar den aktuella tiden, datumet, höjden i meter, antalet satelliter som används, hastigheten i Km och slutligen kursen som en av kardinalkompasspunkterna. I ruttinspelningsläget visar skärmen den ruttfil som den har öppnat, förutom de två tidigare beskrivna skärmarna visas en tredje skärm med detaljerad ruttfil som används, antalet vägpunkter som den har spelat in och slutligen avståndet i Km.

Följande bilder visar hur e-postmeddelanden, skapade och skickade av enheten, tas emot och visas av G-Mail.

Bild
Bild
Bild
Bild
Bild
Bild

Steg 3: SLUTSATS

SLUTSATS
SLUTSATS
SLUTSATS
SLUTSATS

Jag har lärt mig mycket av att utveckla detta projekt, men den här enheten kan bara betraktas som en "back end" till ett appbaserat system som tar GPX- eller KML -filerna som visar dem. Att använda tredjepartsprogramvara var ett acceptabelt alternativ till vidareutveckling av denna programvara. Tillgängligheten för menyalternativet”Mindre säker app” i menyn Google Kontohantering kan vara begränsad eftersom ändringar kan inträffa i juni 2020, om så är fallet kan det vara nödvändigt att omdirigera e-postmeddelandet till ett alternativt konto eller genom att använda 586 -porten på e -postservern.

Steg 4: GPS- och KML -filformat

GPS- och KML -filformat
GPS- och KML -filformat
GPS- och KML -filformat
GPS- och KML -filformat

Följande visar ett typiskt filinnehåll för varje filtyp som enheten genererar, (latitud- och longitudvärdena ändras inte mycket i dessa exempel på grund av att enheten är stationär). Båda filerna innehåller minsta sidhuvud och sidfotdata som krävs av GPS Viewer och Google Earth pro för att visa en enkel svart linje som visar rutten som tagits:

KML -filen:

Bild
Bild

GPX -filen:

Rekommenderad: