Kommentare 20

Spy myself – mit Apples Find My iPhone

Spy Myself Heatmap

Bei Christian Leus bin ich auf seinen Ansatz der Selbstüberwachung gestoßen – NSA und so. Christian nutze bisher das mittlerweile eingestellte Google Latitude um seinen aktuellen Aufenthaltsort zu speichern. Da dieser Dienst nun nicht mehr zur Verfügung steht nutzt er nun die Daten aus Apples „Find My iPhone“.

Apple bietet mit „Find My iPhone“ die Möglichkeit alle mobilen Geräte unter einer AppleID geographisch zu lokalisieren. Sprich den aktuellen Standort auf einer Karte zu markieren. Zusätzlich lässt sich auf dem Gerät ein Ton oder eine Nachricht anzeigen oder eine Fernlöschung auszulösen.

Ich hab diese Idee und sein Script aufgegriffen und an meine Bedürfnisse angepasst.

Mein raspberryPI ruft alle 15 Minuten ein Script auf welches überprüft ob die letzte gespeicherte Koordinate mindestens 1 Stunde alt ist. Ist sie älter wird die aktuelle Koordinate meines iPhones über die „Find My iPhone“-API abgerufen und mit der letzten gespeicherten Koordinate verglichen. Ist die Distanz größer als 1 KM wird sie gespeichert und der Ablauf beginnt von vorne. Ist die Distanz niedriger als 1 KM wird beim nächsten Durchlauf direkt die Distanz zwischen letzter gespeicherter und aktueller Koordinate überprüft und ggf. abgespeichert.

So werden nur Koordinaten gespeichert wenn ich mich bewege. Trotzdem sind mittlerweile eine Menge Koordinaten angefallen. Da bei jedem wechsel zwischen z.B. Arbeit und zu Hause Koordinaten gespeichert werden.

Spy Myself Deutschland Heatmap

Primär nutze ich eine Google Map welche die gespeicherten Positionen als Heatmap darstellt. Anfangs habe ich die Koordinaten noch mittels Marker dargestellt. Ist jedoch bei vielen Markern relativ übersichtlich.

Spy Myself Heatmap

Nachmachen erwünscht. Sourcecode gibt es auf GitHub: https://github.com/sinky/php-location-tracking-icloud

20 Kommentare

    • Danke Hendrik,
      Ich liebe es einfach solche Dinge zu „basteln“. Und einmal eingerichtet ist es – bisher – wartungsfrei.

      Gruß Marco

  1. Sandro

    Hallo

    Sieht sehr interessant aus! Habe es soeben ausprobiert, leider bleibt meine Karte leer, zeigt keine Koordinaten an und lädt ununterbrochen weiter… Hast du mir einen Tipp, was ich falsch mache?

    Gruss Sandro

  2. Florian

    Hallo Marco,
    ich finde das selbsttracken sehr interessant und bin dabei es auszuprobieren.
    Aber es klappt nicht. Ich sehe nur die googlemaps karte dauerladen. unten steht noch ein button heatmap/marker und lastcheck, next check…
    Ich muss gestehen, dass meine Programmierkenntnisse bescheiden sind…
    Sehe ich das richtig, dass du die config.php vorsiehst um dort sein iCloud user und Passwort einzusetzen. Die track.php greift dann darauf zu?

    define(‚ICLOUD_USER‘, ‚CHANGE_ME‘);
    define(‚ICLOUD_PASS‘, ‚CHANGE_ME‘);
    define(‚DEVICES‘, ‚0,1‘);
    -> was bedeutet hier device? und die zahl dahinter? was trägt man ein?

    .htacess definiert dass nicht jeder zugreifen kann?
    was tut .giattributes, gitignore?

    was denkst du woran es liegt, dass es nicht funktioniert?
    auf meinem iphone habe ich natürlich findiphone aktiviert und es funktioniert da.

    gruß
    Florian

    • Device ist die ID deines Gerätes bei iCloud. Wenn man mehrere Geräte hat.
      Die .git Dateien sind für github.com.

      Wenn es unendlich lädt ist wahrscheinlich was beim Laden der Daten aus der Datenbank fehlgeschlagen. Könntest in deinem Browser mit F12 die Console ansehen. Dort müsste der Fehler erscheinen.

  3. Hi Marko, danke für das kleine Tutorial. Klappt soweit gut. Allerdings habe ich Probleme mit den Device IDs. Ich habe mehrere Geräte am Start und es will mit den Default Einstellungen nicht funktionieren. Selbst wenn ich meine Geräte IDs nutze klappt es nicht. Scheint wohl noch ein kleiner Fehler zu sein.

    Zudem erhalte ich auf meinem Terminal folgende Fehlermeldung:
    PHP Fatal error: Call to undefined function curl_init() in /var/www/tracking/class.sosumi.php on line 166

    Any hints?

  4. Hi Marco, danke für die schnelle Hilfe. Mein Curl Fehler lage an einem defekten Apache Plugin, welches ich damals mal für meinen RPI geschrieben habe. Nun geht es. Danke für dein Device Snippet. ;)

    Viele Grüße

  5. Willem

    Hallo Marco,

    Verwenden sie noch immer diesses project?

    Ich versuche es zu benutzen, aber es functioniert bei mir nicht? Kann es sein das etwas bei Apple geandert ist?

    Grüßen,

    Willem

    • Hallo, ich nutze es nicht mehr aktiv. Aber wenn ich es im Laufe der Nächsten Tage schaffe teste ich das Script mal. Aber ich denke wegen aktiviertem „two factor Auth“ Könnte es bei mir nicht mehr gehen.

    • Willem

      Okay, danke.
      Ich frage mich, ob es immer noch funktioniert.

      Grüßen,

      Willem

Schreibe einen Kommentar zu Sandro Antworten abbrechen