Datenlogging und Datenanalyse sind wertvolle Hilfsmittel beim Verbessern der eigenen Fahrkünste. Es gibt mehrere kommerzielle Lösungen, ich habe aber meinen eigenen Logger auf Arduino-Basis gebaut. Das Projekt ist komplett Open Source, und darum einfach selber nachzubauen.
Ich habe die folgenden Komponenten von Adafruit benützt:
- Arduino Uno, ich empfehle ein starter pack wenn man auch andere Projekte probieren will. Ansonsten braucht man minimal ein passendes USB Kabel fürs Programmieren und die Stromversorgung.
- Ultimate GPS logger shield, kombiniert GPS Modul und SD Karten Interface.
- Stacking headers (wenn man das LCD oder ein anderes Shield benützen will).
- Externe GPS Antenne und das zugehörige Kabel.
- Ein LCD ist optionell, ich habe das RGB LCD shield with buttons benützt.
- Auch optionell ist eine IMU (um Beschleunigung und Kurs zu messen), ich habe das LSM9DS1 benützt.
Außerdem braucht man eine Micro SD Karte. Der Zusammenbau geht leider nicht ohne löten. Ich habe die IMU auf das GPS logger shield gelötet. Strom liefert ein USB Anschluss, entweder im Auto eingebaut oder ein Adapter für den Zigarettenanzünder.
Ich habe ein einfaches 3D gedrucktes Gehäuse für die Version mit LCD entworfen. STL Datei und OpenSCAD Quellcode kann man herunterladen. Das STL enthält Gehäuse und Deckel, zum Drucken bitte splitten und Gehäuse umdrehen.
Den Arduino Quellcode kann man hier herunterladen. Ich habe die folgenden Bibliotheken benützt, da die Adafruit Bibliotheken recht ineffizient sind:
Mit dem RGB LCD zeigt die Farbe den GPS Status an (rot = kein Fix, grün = fix). Mit den Links/Rechts Knöpfen kann man zwischen der Wiedergabe von Position und Geschwindigkeit/Kurs umschalten. Zeit, Position/Geschwindigkeit/Kurs und die IMU Werte werden in eine CSV Datei auf der SD-Karte geschrieben. Diese Dateien kann man sich in Excel/dem Tabellenkalkulationsprogramm seiner Wahl anschauen oder in QGIS visualiseren. Importieren in MoTeC i2 sollte auch machbar sein, habe ich aber nicht probiert.
Import in QGIS geht über Layer – Add Layer – Add Delimited Text Layer. “Trim Fields” wählen. Wähle field_4 als X field (Längengrad) und field_3 als Y field (Breitengrad). Das Geometry CRS is EPSG:4326 (WGS84). Das Projekt CRS auf das gewünschte Koordinatensystem setzen (z.B. eine der Gauss-Krüger-Zonen für Deutschland), dann kann man OpenStreetMap zufügen und z.B. die Geschwindigkeit visualisieren.