Permalink

7

Spy myself: Locationtracking im Blog mit Find my iphone!

Wenn ja eh meine ganzen Informationen durch irgendwelche geheimen Geheimdienste aufgezeichnet werden, dann kann ich ja zumindest auch selber ein wenig Spass haben. Und da ich meine aktuelle Position schon seit 2009 mit Google Latitude und ein wenig PHP in der Sidebar auf der Startseite meines Blogs eingebunden hatte, bereue ich vier Jahre später eigentlich nur, dass ich die Daten nicht auch in eine Datenbank geschrieben habe und damit jetzt einfach schauen könnte wo ich die letzten Jahre so war.

spy-myself

Da Google Latitude im August eingestellt wird, habe ich mir über Google Takeout die Daten der letzten 4 Jahre gesichert. Um auch weiterhin in meinem Blog die aktuelle Position anzuzeigen habe ich mir verschiedene Möglichkeiten angeschaut.

  • Ein Skript, welches von Twitter, Instagram, Facebook und Foursquare immer die letzten Positionsdaten holt und dann stündlich im Blog aktualisiert
  • Eine iPhone App, die jede Stunde meine Positon an einen Webdienst schickt, die ich dann übernehmen würde.
  • Ein Skript, welches von Apples iCloud meine Position mittels der Find my iPhone Schnittstelle findet und im Blog darstellt.

Dabei hat ganz klar die Find my iPhone Variante das Rennen gemacht. Der Vorteil, ich muss mich nirgends einchecken, ich brauche keine zusätzliche Software und auf den Batterieverbrauch sollte es sich bei einer stündlichen Abfrage relativ moderat auswirken. Zusätzlich bekomme ich über dieselbe Schnittstelle auch noch Informationen zum aktuellen Ladestatus meines iPhones, da könnte man ja eventuell auch mal noch eine Statistik generieren. :-)

Nachteil der Lösung, meine Position wird immer übernommen, wenn ich irgendwo heimlich hin will, muss ich Find my iPhone deaktivieren. Aus diesem Grund werde ich eventuell die Position von meinem iPad im Blog anzeigen. Das habe ich meistens dabei wenn ich Reise.

Umsetzung in PHP und WordPress

Wie schon vorher, lese ich meine aktuelle Position mit einem kleinen PHP Script auf, welches ich in der WordPress functions.php integriere. Die Position wird in einem einstellbaren Zeitraum abgerufen und dann mit der Google Maps API V3 in einen Ortsnamen umgewandelt. Hier bleibe ich bewusst auf Ortsangaben, ein wenig Privacy muss ja sein.

Die Find my iPhone Daten hole ich mittels der praktischen php Library Sosumi von Tyler Hall. Diese kann ich einfach einbinden und aufrufen, wobei ich auf die einzelnen Funktionen verzichte und gleich die gewünschten Infos aus dem Array auslese. :-)

function mylatitudeposition() {
require 'findmyiphone/class.sosumi.php';

$lp = get_option("latitudeposition");

if ($lp['lastcheck'] < ( mktime() - 3600 ) ) { $ssm = new Sosumi('iCloud-E-Mail', 'iCloud-Passwort'); $lat = $ssm->devices[4]->latitude;
$long = $ssm->devices[4]->longitude;

$lat = $ssm->devices[4]->latitude;
$long = $ssm->devices[4]->longitude;
$place = reverse_geocode($lat,$long);
$timestamp = strtotime($ssm->devices[4]->locationTimestamp);
//echo strtotime($timestamp);
if ( ! $place )
exit('This user doesn\'t exist.');
$lp['lastdate'] = date('d.m.Y H:i:s',$timestamp+(9*60*60));

$lp['place'] = $place;
$lp['battery'] = round($ssm->devices[4]->batteryLevel, 2)*100;
$lp['lastcheck'] = mktime();
update_option("latitudeposition",$lp);
}

}

Damit hole ich einmal in der Stunde von meinem iPhone die Position und ein paar weitere Informationen und speichere diese als WordPress Variablen ab, die ich dann jederzeit weiterverwenden kann. Die Funktion zur Umwandlung der Koordinaten in Ort, Bundesland und Land habe ich hier hinterlegt.

Hier noch die Google Latitude History, die ich demnächst mal nachbaue.

Hier noch die Google Latitude History, die ich demnächst mal nachbaue.

Wie immer beim programmieren, eine gute Library und 30 Zeilen Code genügen, um eine solch tolle Funktion zu implementieren. Jetzt muss ich nur noch schauen, wie ich die alten Daten aus Latitude und die zukünftigen Daten in einer Datenbank speichern kann und damit ein Bewegungsprofil erstellen kann, bei dem den NSA Leuten vor Freude die Tränen in die Augen schiessen. Ich berichte!

7 Kommentare

  1. Pingback: Spy Myself Teil 2: Analyse und Visualisierung • Der LeuMund.ch • analyse, data, gps, iphone, selftracking

  2. Kommt drauf an. Das Script liegt bei mir zu Hause auf einem raspberriPI unter einer nicht öffentlich bekannten URL mit dynamischer IP. Zudem darf die Datei welche die Zugangsdaten beinhaltet nich von extern aufgerufen werden.

  3. Pingback: Spy myself – mit Apples Find My iPhone » my-azur.de

  4. Pingback: Spy myself – mit Apples Find My iPhone | my-azur.de

Jetzt kommentieren: