Vielleicht erinnert sich noch jemand an Google Latitude – einen Service von Google, bei dem man den aktuellen Standort von sich selbst und Freunden/Verwandten (die einem eine Freigabe erteilt haben) in Google Maps einsehen konnte.

War ab und zu praktisch, meistens natürlich auch reine Spielerei; so oder so am 9. August 2013 leider von Google eingestellt worden (um nun 4 Jahre später wieder irgendwie in Google Maps aufzugehen).
Google argumentiert natürlich, dass der komplette Funktionsumfang in Google+ enthalten sei, aber irgendwie ist dies nicht mehr so ganz dasselbe und außerdem braucht man dazu auf dem Handy die Google+-Äpp, welche bei mir und meiner Verwandtschaft einerseits wegen nicht-Gebrauchens und andererseits wegen Speicherplatzverschwendung (60MB können eine große Rolle spielen, wenn nur noch 200MB interner Speicher frei sind) nicht installiert habe. (Nachtrag: Ist inzwischen auch schon wieder Geschichte. Mein selbst gehostetes OwnTracks läuft aber immer noch)

Letztens stolperte ich allerdings auf einen Ersatz für das tote Google Latitude, welchen man selbst hosten kann (Googles Latitude möge wie der Google Reader, welchen ich ebenfalls selbst hoste, in Frieden ruhen).

Client-seitig (also auf den Mobiltelefonen) wird hier OwnTracks benötigt, Server-seitig ein MQTT-Server, wie etwa mosquitto.

 
Achtung: Inzwischen gibt es eine neuere OwnTracks-App im PlayStore. Jene, auf die ich mich in diesem Artikel beziehe, ist allerdings das ältere (und inzwischen umbenannte) OwnTracks Legacy.
Alternativ habe ich auch positive Erfahrungen mit der Android-App GPS Logger (welches allerdings kein MQTT-Protokoll unterstützt) und serverseitig einem PHP-Skript gemacht.
Um diese Sache hier allerdings nicht zu unübersichtlich zu machen, widme ich dem GPS Logger einen eigenen Artikel.

Wie man mosquitto installiert, habe ich bereits in diesem Artikel beschrieben, wie man die vom Handy gesendeten Standortinformationen in eine mySQL-Datenbank speichert, habe ich sogar am Beispiel von OwnTracks in diesem Artikel beschrieben.

Wie man die vorhandenen Standort-Informationen für ein Web-Frontend aufbereitet, überlasse ich eurer Phantasie ;-)

Somit bleibt nur noch ein Wort zur Einrichtung des OwnTracks-Programmes auf dem Mobiltelefon:

Als Host die eigene dyndns-Adresse. Port 8883 muss natürlich von der Firewall zum MQTT-Server durchgeleitet werden.
Benutzername und Passwort entsprechen denen eines über
 mosquitto_passwd
angelegten mosquitto-Accounts.
Das für die Verschlüsselung notwendige Zertifikat wurde im Zusammenhang mit der mosquitto-Installation erstellt und muss – dies ist etwas unschön – erst einmal auf das Mobiltelefon gebracht werden und dann auch noch die komplette Pfad-Angabe von Handy eingetippt werden.
 
Die Einstellungen für das Zertifikat erscheinen übrigens erst, nachdem man in OwnTracks in den Einstellungen unter Advanced die Advanced Connection preferences aktiviert (ganz oben).

Bei Publish Topic ist ein geeigneter Topic einzutragen, wie zum Beispiel owntracks/apfelzhandy, welcher dann Serverseitig abonniert und in eine Datenbank übertragen werden kann (siehe dieser Artikel).


Publish retained ist zu empfehlen, damit die gesendeten Daten nicht wieder verfallen, wenn sie nicht gerade zu dem Zeitpunkt jemand abruft.


Für die Angaben displacement/interval/acuracy sollte jeder selbst austesten, welche Werte für ihn am besten sind. Ich selbst habe folgende Werte hinterlegt:

Locator displacement        200
Locator interval            15
Locator background accuracy Balanced Power
Locator foreground accuracy High Power

Eine nennenswerte Auswirkung auf den Akkuverbrauch konnte ich hier noch nicht feststellen.

Neuere OwnTracks App

Wie bereits erwähnt, bezieht sich obere Beschreibung auf die inzwischen umbenannte OwnTracks Legacy App.

Bei der nun neueren OwnTracks App steige ich selbst ehrlich gesagt nicht mehr so richtig durch. Irgendwie geht der Programmierer hier einiges ganz anders an. Vielleicht sah er auf einmal Sinn und Zweck des Programmes ganz anders.

Um das Programm für meine Zwecke einsetzen zu können, musste ich über Einstellungen > Konfigurationsverwaltung viele Properties manuell ändern (über das 3-Punkte-Menü rechts oben Editor und Schlüssel-Name der angezeigten Liste manuell eintippen, dann einen gewünschten Wert eintragen).