Das 'GPS-Gerät' aus der vorigen Anleitung arbeitet sehr gut. Trotzdem hat sich schnell die Notwendigkeit für einige Verbesserungen ergeben. Deshalb gibt es hier die Version 2.0 als Update.
 
        Die wichtigsten Änderungen:
- Es werden jetzt eine Stunde lang Daten in einer Datei aufgezeichnet, statt bisher immer nur 10 Minuten pro Datei.
- Nach jeweils 3 Minuten wird ein Wegpunkt gesetzt, in welchem außer den GPS-Koordinaten auch Datum und Uhrzeit festgehalten sind, die im Editor angezeigt werden können.
- Die Dateien werden jetzt automatisch abgeschlossen und können unmittelbar am PC weiterverarbeitet werden.
Beschreibung
Nachdem Sie die aktuelle Firmware 'CircuitPython' (siehe dazu auch diese Anleitung) auf dem Pico-Geek eingerichtet haben, sollten Sie die SD-Karte am PC einrichten. Wenn diese neu ist, z.B. FAT-32 formatieren. Legen Sie ein Verzeichnis 'gps' an, in welchem sich eine Textdatei 'ziel.txt' mit dem Namen eines (von Ihnen gewünschten) Ziels und dessen gps-Koordinaten Attitude und Longitude befindet.
sd-karte
    gps
       ziel.txt
  München dahoam 48.142044 11.583694
        Dieser Zielpunkt wird dann im gpx-Editor angezeigt. Legen Sie nun die SD-Karte in den Pico-Geek ein und verbinden ihn mit dem PC.
        Als nächstes brauchen Sie das Programmupdate:
        
        
        
        Nach dem Entpacken kopieren Sie die Datei 'code.py' und den 'lib-Ordner' in das
        Stammverzeichnis des Laufwerks
        'CIRCUITPY'. Die ggf. vorhandene Datei 'code.py' und den Inhalt des 'lib-Ordners' überschreiben Sie.
        Im Stammverzeichnis 'CIRCUITPY' befindet
        sich auch ein Ordner 'sd'. Wenn Sie diesen im Thonny oder Datei-Explorer des PC's anklicken, dann wird Ihnen eine
        Datei 'placeholder.txt'
         angezeigt. Dies soll verhindern, dass die SD-Karte vom PC überschrieben wird. Um auf die SD-Karte zuzugreifen, muss sie
        gemounted sein. Im Thonny können Sie dafür das Programm 'sd_card.py', welches
        ebenfalls in der zip-Datei enthalten war, nutzen. Dieser Vorgang des 'mountens' ist auch im Programm 'code.py' in den Zeilen 29 bis 49 enthalten.
        Gleichzeitig wird die Datei 'gps_logger.txt' neu angelegt, falls sie nicht vorhanden ist. In dieser Datei wird
        lediglich eine fortlaufende Zahl abgelegt, nach der die Dateibezeichnung für die gpx-Dateien 'gps_daten1.gpx'
        , 
        'gps_daten2.gpx' usw. gewählt wird. Möchten Sie mit der Nummerierung wieder von vorn beginnen, setzen Sie den Wert in der
        Datei 'gps_logger.txt' unter Nutzung von 'sd_card.py' im Thonny einfach 'per Hand' auf Null zurück.
        Ich habe oben schon darauf hingewiesen, dass die Aufzeichnung jetzt 1 Stunde (3600 s, Zeile 202) dauert. Wenn die Zeit erreicht ist, wird
        die laufende
        Datei syntaktisch korrekt abgeschlossen und eine neue 'gps_datenXX.gpx' angelegt. Dabei wird auch in der Datei
        'gps_logger.txt' die nächst höhere Zahl geschrieben. Wird der Pico-Geek vor Ablauf der Stunde ausgeschaltet,
        wird die Verarbeitung einfach abgebrochen und die Datei mit den Daten ist syntaktisch nicht korrekt. Dadurch könnte ein gpx-Editor sie
        später am PC nicht lesen.
        Deshalb enthält das Update jetzt einen Programmteil, welcher beim Einschalten immer zuerst die letzte
        Datendatei abschließt, dann den Wert zur Nummerierung erhöht und die neue Datei anlegt (siehe unterer Kasten). Dies geschieht in der Zeit, in der das GPS-Modul eh nach
        der Satellitenverbindung sucht. D.h. will man die zuletzt aufgezeichnete Datei im Anschluss sofort am PC anzeigen und die Route auswerten, wird
        nach dem 'Ausschalten' der Stick einfach noch einmal kurz angeschlossen und wieder ausgeschaltet. Danach kann die SD-Karte entnommen werden
        und die Auswertung am PC erfolgen.
120 # Datei vom vorherigen Durchgang abschliessen
121 for i in range(int(string)):
122     filename = "/sd/gps_daten" + str(i+1) + ".gpx"
123     with open(filename, "r") as f:
124         zeile= f.read()
125         print(filename)
126         #print(zeile[-6:])
127         if zeile[-6:] == "":
128             print("Datei abgeschlossen\n")
129         else:
130             if zeile[-9:] == "\n":
131                 print("Datei wird abgeschlossen\n")
132                 with open("/sd/gps_daten" + str(i+1) + ".gpx", "a") as g:
133                     g.write("\n\n")
134                     g.close()
135         f.close()
136
178 zahl = int(string)
138 zahl += 1
  
        Die Route von einer gerade zuvor durchgeführten Fahrt sieht z.B. so aus:
        
         
         
        Wenn Sie die gpx-Datei bei sich zum Testen möchten, dann können Sie diese
         hier herunterladen.
        
        
        
        
        
        
        Viel Spass und Erfolg beim Ausprobieren.
        
                
        
         
         
                           
                         
        Viel Spass und Erfolg beim Ausprobieren.