Latitude im Eigenbau – volle Kontrolle
Jan kenne ich schon länger als mein halbes Internet-Leben. Zwar waren uns persönliche Treffen nur spärlich vergönnt, doch das Internet hält bekanntlich auch Kontakte beieinander, die sich selten sehen. Wir kennen uns aus Zeiten, in denen es nicht wirklich Blogs gab, aus den guten und alten Foren-Zeiten. Jan half mir in den Jahren als ausgebildeter Linux-Freak und Server-Admin das eine oder andere Mal, heute steuert er zudem einen Beitrag zum Blog hinzu, in dem es sich um Latitude im Eigenbau dreht. Viel Spaß beim Lesen und Basteln!
Es ist schon einiges über Googles (eingestellten) Dienst Latitude berichtet worden (nicht verwechseln, den eigenen Standortverlauf gibt es immer noch). Das Thema sich freiwillig orten zu lassen und seine Position mit anderen zu teilen war und ist nicht ganz unumstritten. Caschy schrieb im November 2009 dazu:
„Horror-Szenarien lassen sich so natürlich einfach zurecht spinnen: so könnte man dem Freund / der Freundin eben mal schnell Latitude aktivieren und so immer schauen, wo sie sich gerade aufhält.“
Ich kenne nicht wenige, die im Apple-Universum die „Find my iPhone“ Funktion nutzen und sich den Standort untereinander freigegeben haben, nicht nur innerhalb einer Partnerschaft sondern auch in Freundesgruppen oder Familien.
Jedem, der im Besitz eines Smartphones ist, sollte klar sein, was alles über ihn irgendwo gespeichert wird. Das Märchen vom anonymen Bewegungsprofi gibt es schon lange nicht mehr. Aber es gibt viele Gründe, warum man sein Gerät oder etwas genau orten will. Innerhalb einer Gruppe von Freunden, innerhalb der Familie, im verteilten Team auf der Arbeit oder aber weil man als Taxi oder Busunternehmer sehen will wo seine Fahrzeuge sind.
Nur: die Umsetzung ist ohne „Vendor Lock-in“, wie es so schön heißt, eher schwer. Dachte ich. Ein zufälliges Treffen, ein paar getauschte Worte später war klar, wie man dies heute unter seiner eigenen Kontrolle schaffen kann. Wie so oft gibt es eine Server- und eine Client-Komponente, welche im Zusammenspiel dafür sorgen kann, dass man den eigenen Standort mit anderen teilen kann, oder auch mit einem Blick auf die Karte feststellen wo sich der Partner befindet.
Die Schnittstelle ist das Protokoll mqtt, welches für die Kommunikation eingesetzt wird und als das Herzstück des „Internet der Dinge“ angesehen werden kann. Wer sich mit Heimautomatisierung im Eigenbau beschäftigt, hat sicherlich schon davon gehört. Allen daran Interessierten sei openhab ans Herz gelegt.
Aber zurück zum Thema, es wird ein Server benötigt, die Empfehlung bisher: mosquitto für den Eigengebrauch und hiveMQ wenn es kommerziell wird. Steht der Server, die Zugriffsberechtigungen und Absicherung durch SSL, so benötigt man einen Client. Für das einfache Lokalisieren eines Smartphones kommt hier beispielsweise Owntracks zum Einsatz.
Im Hintergrund laufend wird so die Position an den Server gesendet. Berechtigte Clients wiederum können diese Daten dann auslesen und z.B. in einer anderen Owntracks-Installation anzeigen. Es gibt verschiedene Modi um den genauen Standort mitzuteilen, von manuell bis zum sogenannten „move mode“, welcher gerade auf der Autobahn für eine recht genaue Lokalisation sorgt. Der Modus „signifikant Changes“ ist nicht immer aussagekräftig, sorgt aber für nicht wahrnehmbaren Akkuverbrauch und eine ungefähre Position.
Wenn man die Daten unter seiner Kontrolle hat, wird es aber eigentlich erst richtig interessant. Die Daten können angereichert werden und zur späteren Verarbeitung in einer Datenbank gespeichert werden. Als Beispiel sei hier Anreicherung mit Wetterdaten genannt. Beim dauerhaften Speichern wird aus OpenWeather das aktuelle Wetter der Position genommen und abgespeichert. Vieles andere ist möglich und auch vorstellbar, es muss nur jemanden geben der es in Code umsetzen kann.
Liegen die Daten in einer Datenbank vor, könnten diese via GPX Exporter auf einer Webseite dargestellt werden. Wenn man sich die Frage stellt, „warum sollte ich das wollen“, sei zum einen die Antwort gegeben „Weil es geht“ – aber auch zwei sinnvolle Beispiele:
Ein Busunternehmer hat in seiner Zentrale eine Karte, auf der erkennbar ist, wo in Europa sich gerade Fahrzeuge des Unternehmens bewegen. Zum anderen gibt es Firmen ohne festes Büro und die Angestellten bewegen sich über den Globus. Eine Weltkarte mit den Positionen der anderen Mitglieder sorgt dafür, dass man zum einen daran erinnert wird in welcher Zeitzone sich der andere befindet, zum anderen sorgt es aber auch dafür, einen realeren Bezug zu bekommen.
Den plötzlichen Latitude-Abgang nehme ich Google heute noch übel. Wie Jan es beschreibt gibt es eben sehr wohl gute Gründe so was nutzen zu wollen. ;-/
Latitude ist in Google Plus intergiert worden. Standorte teilen gibt es darin genauso, ebenso gibt es ein Widget, zwar nicht so schön wie das von damals.
@Raimund Reicht dir die Version in Google+ nicht? Da kannst du Freunde/Familie doch lokalisieren sofern die Freigabe erfolgt ist.
Da hat Carsten aber seine Meinung von 2009 wohl grundlegend geändert. Heute ist er bei G+ auf ortsbasierter Ebene auffindbar.
So eine Eigenbau-Lösung ist ja eine nette Sache, aber irgendwie verstehe ich nicht ganz, warum man sich die zusätzliche Arbeit selber machen sollte.
Was die Funktionalität betrifft, so gibt es genug alternative Lösungen. Latitude ist z.B. in Google+ aufgegangen. Meinen Standortverlauf kann ich über den Google-Standortverlauf ansehen. Und wenn ich meinen aktuelen Standort mit anderen teilen möchte, kann ich z.B. Google+ oder Glympse oder eines der vielen anderen Tools nutzen. Einfach und komfortabel.
Und wenn es um Datenschutz ohne Vendor-Lock-In geht, ist Anonymität doch sowieso eine Illusion. Sobald jemand im Smartphone GPS-Ortung aktiviert, wissen Apple/Google/Microsoft doch sowieso meinen Standort. Und selbst ohne GPS kennt der Provider meinen ungefähren Standort über Funkmasten oder WLAN.
Alle Hersteller und Provider kennen also sowieso mein Standortprofil, auch Apple, Google, Microsoft, oder die Telekom und Vodafone. Nur ist Google eben zusätzlich so benutzerfreundlich, dem User seinen eigenen Standortverlauf auch zu zeigen oder teilen zu lassen. Finde ich gut. Dann kann ich das doch gleich (statt einer Selbstbaulösung) komfortabel nutzen, oder? 😉
Für Leute mit weniger Anspruch…in meinem Falle leitet einfach pos.meindomain.tld auf die jeweiligen Koordinaten bei OpenStreetMap. Die Koordinaten zieh ich aus Tasker und pack sie in einen HTML-Redirect, der dann auf den Server geladen wird.
Ich hatte einen Kindheitsttraum – ich wollte eine Karte haben- auf der jeder Punkt eingezeichnet ist, an dem ich gewesen bin. Irgendwann mal hatte ich das nötige Know-how um eine Homepage zu programmieren, die mir meinen Wunsch erfüllen sollte:
Schaut euch http://mondi.euerdesign.de an. Hatte es ursprünglich für mich selbst programmiert, 300 Entwicklungsstunden später sind es weltweit an die 200 user die es nutzen.
Robert, sieht interessant aus, werde ich mal testen.
GPX Exporter ist nicht wirklich notwendig, um die Daten auf einer Website zu nutzen – schließlich wird ja dazu noch das m2s-Skript benötigt und muss im Hintergrund laufen, wodurch aber die Daten schon bequem zugreifbar in der MySQL-DB liegen.
Und mal schauen ob es schon ein Synology Paket als Server gibt? Hat da jemand schon was?
Super – bitte mehr solche Beiträge! 🙂
Was für ein spannender Beitrag. Endlich mal wieder ein Grund, die EntwicklungsVM hochzufahren. Danke. Mehr! Davon!
Wow mal wieder ein technischer Beitrag der etwas Tiefe hat! Sollte es mal wieder öfters hier im Blog geben statt der immer gleichen und austauschbaren Umfragen und Smartphon Beiträgen.
Genau, dieser Beitrag hat wirklich ein Lob verdient. Zufälligerweise habe ich mich letzte Woche mit dem Thema beschäftigt und schnell wieder verworfen. Alles zu frickelig, zu unausgegoren. Aber ich versuche es jetzt trotzdem. 😀
Außerdem lässt sich der Standortverlauf unter Android deaktivieren, dann liest in Google auch nicht mit. Wer ganz sicher gehen will, muss eben mit Custom ROM und einer Firewall hantieren.
Ein dickes Lob für diesen Beitrag. Nachdem ich mich vor kurzem etwas in die Thematik eingelesen hatte, hatte ich das Projekt schnell wieder verworfen. Zu frickelig, zu unausgegoren, zu viel Handarbeit und dann idR nicht mal (mobil-) plattformübergreifend. Jetzt versuche ich mich doch mal daran.
Dann lässt sich auch Androids Standortverlauf deaktivieren und Google liest nicht mehr mit. Wer da ganz sicher gehen will, muss eben alle technischen Reißleinen ziehen: Custom ROM, Root, Firewall, Rechteverwaltung.