GPS-Tracker dienen dazu, einen in der echten Welt zurückgelegten Weg aufzuzeichnen und dessen Daten so zur Verfügung zu stellen, das diese später verarbeitet, analysiert und angezeigt werden können.
Tracker können nicht nur zur Aufzeichnung von eigenen Wanderungen, Ausflügen oder Urlaubsfahrten dienen, sondern auch wertvolle Gegenstände wie Autos, Boote, etc. oder sogar Kinder beschützen. Im Flottenmanagement für LKWs oder Außendienstfahrzeuge helfen Sie auch bei der Kostenerfassung und Serviceverbesserung.
Kosten #
Ein GPS-Tracker kostet zwischen 100 und 300 Euro. Die preiswerten sind meiner Erfahrung (und meinen Recherchen) nach durchaus zu empfehlen. Die teureren haben meist einen besseren Akku oder dienen auch zum Einbau in Fahrzeuge und haben dann zusätzliche Sensoren für Zündung, Drehzahl, Öldruck, etc. Eine Mobilfunkkarte gibt es als Prepaid-Karte mit einem Datenvolumen ab 100MB/Monat (ist dicke ausreichend!) ab 4,95 €/Monat z.B. bei http://www.fyve.de oder bei http://www.maxxim.de. Die beiden genannten arbeiten mit dem Vodafone-Netz, das ich für Krefeld empfehle (von E-Plus rate ich wegen der Netzabdeckung ab, von der Telekom, weil das Verbrecher sind, mit O2 habe ich keine Erfahrung).
So entstehen alles in allem einmalige Kosten von 100,- € und 60,- €/Jahr. Wem schonmal ein Fahrzeug gestohlen worden ist, wird das gerne bezahlen...
Hardware #
Wer Positionen eines abgelaufenen Weges haben möchte, kann das mit verschiedenen Geräten tun. Ich unterscheide hier drei Geräteklassen:
- GPS-Empfänger mit Karte (z.B. von Garmin etc.). Diese Geräte dienen als Begleiter z.B. bei einer Wanderung. Sie sind oftmals in einem robusten Gehäuse, bieten eine sehr lange Batterielaufzeit und zeigen bei Bedarf die aktuelle Position auf einer Karte an. Diese Geräte können im Allgemeinen einen Track speichern (z.B. auf eine SD-Karte), so das man diesen später zu Hause weiterverarbeiten kann.
- GPS-Tracker (z.B. der TK5000) sind Geräte ohne Bildschirm, die ausschließlich dazu dienen, Poistionsdaten zu erfassen. Normalerweise werden diese dann sofort über eine Mobilfunkverbindung an einen Server gesendet, der sie weiterverarbeitet. Die meisten haben auch eine Möglichkeit, Daten zu speichern anstatt direkt zu senden (was die Akkulaufzeit erheblich verlängert) sowie weitere schlaue Eigenschaften zum Diebstahlschutz, Personenalarm, Geofence, etc. Diese Geräte gibt es als handliche Mitnahmegeräte aber auch als Einbaugeräte für Fahrzeuge etc. Sie dienen oft dem Flottenmanagement oder dem Diebstahlschutz etc.
- Mobiltelefone - Für Smartphones gibt es natürlich alle obigen Fähigkeiten auch in Form einer entsprechenden App. Für viele Anwendungen ist das sehr einfach und bequem, insbesondere wenn man sowieso eine Person tracken will, die das Handy den ganzen Tag bei sich hat. Für andere Anwendungen sind Handys aber nicht so optimale Geräte, weil sie relativ empfindlich sind, nicht so geeignet erscheinen, um sie im Motorraum eines Fahrzeuges zu verschrauben, etc. Auch die Akkulaufzeit ist gegenüber einer spezialisierten Hardware, die z.B. oftmals hocheffektive Sleep-Funktionen bietet, meist unterlegen.
Außerdem besitze ich ein Nexus4 Handy, auf dem ich die https://play.google.com/store/apps/details?id=org.traccar.client&hl=de Traccar App installiert habe. Diese gehört zum gleichnamigen Serverprojekt (siehe unten) und steht unter der GPL.
Einen guten Überblick über tragbare Tracker gibt es bei http://www.gpsvision.de. Einige der verbreiteten Geräte (die es auch bei gpsvision gibt) stammen scheinbar von der Firma Xexun aus China. Der TK5000 ist wohl auch als "Wonde-X SPT-10" bekannt und wird scheinbar von http://www.wondeproud.com wonde proud in Taiwan hergestellt.
Datenübertragung #
Die meisten Tracker scheinen eigene Protokolle des jeweiligen Herstellers zu verwenden. Aus meiner Recherche heraus habe ich den Eindruck, das die Hersteller schon ein Interesse haben, das man Ihre Tracker einsetzt und geben bereitwillig Dokumentationen sowohl zur Steuerung als auch zum Datenformat heraus. Meistenteils handelt es sich um simple ASCII-Daten, die auf einen UDP- oder TCP-Port gesendet werden. Bis mnan dann so einen Datenstrom empfangen, dekodiert und in etwas verwandelt hat, was man benutzen kann, ist das natürlich noch etwas Programmierarbeit. Ich habe vor längerer Zeit mal einen eigenen Empfangsserver zum TK5000 in Java geschrieben und dafür - wei das beim Programmieren nun mal so ist - ein paar Tage gebraucht, bis das Ding so lief wie gewünscht.
Die Steuerung des TK5000 - also die umgekehrte Richtung - geht am besten über SMS. Es ist zwar prinzipiell so, das man die eingehende Datenverbindung nutzen kann, um auch Kommandos rauszuschicken, allerdings hat sich das in der Praxis als nicht so einfach zu programmieren herausgestellt und von den existierenden Open Source Serverprogrammen kann das keines.
Tracker-Konfiguration #
Der Tracker hat seine Konfiguration per SMS so bekommen, das er als Ziel meinen dyndns-Namen benutzt. Außerdem habe ich seine Powersave-Einstellungen für meine Anwendung optimal konfiguriert (Siehe die Befehlsreferenz hierzu) und dann das Tracking eingeschaltet. Das geht mit den folgenden Befehlen, die ich per SMS an den Tracker gesendet habe. (Das Standardpasswort ist 0000 und nicht 1234, die übrigen Werte sollen hier jetzt nur als Beispiel dienen, wie einfach es im Grunde geht; die einzelnen Werte zu erklären überlasse ich der Befehlsreferenz)
$WP+COMMTYPE=1234,4,+49163<meinenummer>,,web.vodafone.de,vodafone,vodafone,tracker.tbayen.dyndns.org,5032,0,8.8.8.8 $WP+PSM=1234,2,120,1,3 $WP+TRACK=1234,4,120,200,0,0,4,15
Firewall #
Für den TK 5000 habe ich in meinem DSL-Router den Port 5032 per DNAT weitergereicht an meinen internen Tracker-Testserver (In meinem speziellen Fall habe ich noch eine Shorewall-Regel benötigt, weil derartige Verbindungen zuerst zu meinem Linux-Router gehen und von dort aus verteilt werden).
Server #
Eine Suche ergab, das es zum ordentlichen Empfang von Trackerdaten eine ganze Zeit eigentlich nur OpenGTS gibt. Dieses empfängt Trackerdaten und erlaubt, diese per Weboberfläche anzuzeigen. Hierzu scheint vor einiger Zeit jemand auf das Problem gestossen zu sein, das verschiedene Tracker nicht liefen und hat einen Server geschrieben, der mit der vielen Trackern zusammenarbeitet und die OpenGTS-Datenbank befüllt. Als nächstes hat er dann irgendwann eine eigene Weboberfläche dazugeschrieben und so ist http://www.traccar.org Traccar heute eigentlich ein vollständiger Tracker-Server. Soweit ich das verstanden habe, arbeiten daher beide Programme auf derselben MySQL-Datenbank und sollten parallel mit den gleichen Daten betrieben werden können.
Traccar #
Bisher habe ich nur Traccar ausprobiert und kann sagen, das es in der Weboberfläche recht langsam ist aber im Prinzip alles macht, was man zuerst mal verlangt. Die Installation war sehr einfach und schnell. Leider gibt es aber keine direkte Möglichkeit, die Daten in einem Format aus der Datenbank zu entnehmen, mit dem man sie mit anderen Kartenprogrammen weiterverarbeiten kann (z.B. als GPX-Datei). Für eine echte Flottenverwaltung fehlen mir auch noch einige Eigenschaften, so das man für mehr als ein Reinschnuppern oder das gelegentliche Prüfen eines Tracks wohl nicht umhin kommt, Traccar mit OpenGTS zu kombinieren (wobei sich die Frage stellt, wofür man dann Traccar braucht, wenn man eines der Geräte hat, die auch mit OpenGTS direkt funktionieren).
Es gibt eine Demo unter http://demo.traccar.org. Dort kann man sich mit dem Benutzer demo, Passwort demo und einem Klick auf "Register" anmelden und seinen eigeneIn der Standard-Einstellung läuft der Server auf Port 8082, das kann man hier evtl. ändern. n Tracker eintragen. Wer dort erst einmal kostenlos herumspielen will, kann sich hierzu übrigens die Traccar-App aus dem Android Playstore installieren. Bereits nach wenigen Minuten hat man einen schönen Track, den man sich ansehen kann (vorausgesetzt, man bewegt sich mit dem Handy, sonst ist der Track nur eine gedrungene Ansammlung von Punkten...).
Installation (mit MySQL anstatt h2) #
Leider gibt es kein Debian-Paket von Traccar, aber auf der Webseite gibt es ein leicht zu installierendes Paket als "*.run"-Skript. Dieses ruft man als root auf und Traccar wird nach /opt/traccar installiert. Außerdem wird ein Startskript in /etc/init.d/traccar erzeugt, das einerseits benutzt werden kann, um den Server jetzt zu starten und das diesen andererseits auch bei jedem System-Boot automatisch startet.
Bevor man den Server startet, will man aber evtl. in /opt/traccar/conf/traccar.cfg einige Einstellungen ändern. In der Standard-Einstellung läuft der Server auf Port 8082, das kann man hier evtl. ändern.
In der Standard-Einrichtung benutzt Traccar eine h2-Datenbank, die der Server ggf. selbst anlegt und verwaltet. Ich bevorzuge jedoch MySQL, weil man dann einerseits die Möglichkeit hat, OpenGTS in Kombination zu betreiben und andererseits alle möglichen anderen Spielereien "von außen" mit den Daten anstellen kann (wofür sonst sollte ich das hier machen wwnn nicht für Spielereien...!!!). Also bin ich der Anleitung auf der Webseite gefolgt (nachdem ich das Debian-Paket "mysql-server" installiert habe) und habe ohne weitere Probleme das Programm zum Laufen bekommen. Die Datenbank wurde von ganz alleine eingerichtet (einen Benutzer mit entsprechenden Rechten vorausgesetzt, den ich vorher mit Hilfe von phpmyadmin eingerichtet hatte).