Anwesenheitserkennung über iPhone

  • Hallo, ich bin seit einiger Zeit damit beschäftigt, das ein Raspberry erkennt ob man zuhause ist, das ganze soll über das iPhone festgestellt werden.


    Bluetooth fällt für mich leider aus, da die Entfernung zu groß ist.
    Über Pings geht das ganze auch nicht, das iPhone schaltet im Standby das WLAN ja in ein "Schlafmodus".


    Hat hier jemand eine andere Idee oder vielleicht sogar eine Lösung?


    Ich habe gehört man könnte auf der Fritzbox prüfen lassen ob ein Gerät bzw. dessen IP-Adresse eingeloggt ist.


    (Benutzt wird Raspbian auf einem Raspberry B der per LAN direkt an der Fritzbox hängt)

  • Hey,
    genau das habe ich auch versucht.


    Meine Idee ist wie folgt:
    ich erkenne mit https://ifttt.com/ als App auf dem iPhone ob ich einen Ort "zuhause" verlasse oder ihn erreiche und wenn das passiert, dann speichert IFTTT eine .txt Datei mit bestimmten Werten als "Dateibezeichnung" in der Dropbox.
    Mit einem weiteren Script kann ich jetzt die Dropbox auslesen und sehen, welche Dateien sich in einem bestimmten Ordner befinden.
    --> bin mir gerade nicht so sicher, ich glaube ich habe es hiermit versucht: http://raspi.tv/2013/how-to-use-dropbox-with-raspberry-pi


    Das klappt soweit auch, ist vllt nicht die optimalste Methode ... aber es geht.


    Nur hänge ich an dem Punkt, um mit der Ordnerübersicht etwas zu machen, damit der RPI dann auch weiß "aha neue Datei, er ist anwesend" ;)


    Beste Grüße


    PS: Sorry für die nicht so optimale Beschreibung, aber ich habe es vor 1-2Monaten erstmal wieder auf Eis gelegt. Bei Interesse suche ich meinen "Fortschritt" gerne zusammen.

    Edited once, last by coeffee ().

  • aber da geht es um Android, welches im Standby auch per W-Lan pingbar ist.
    Du hast dort doch selbst geschrieben, unter Punkt 4, dass das wichtig ist.


    Und soweit mir bekannt, geht das W-Lan beim iPhone automatisch aus, sobald es im Standby ist und geht nur wieder an, um Mails o.ä. zu überprüfen?!


    Deswegen ja die andere, oben beschriebene Idee - sollte es einfacher gehen, gerne her damit!

  • Wie du in meinem Beitrag nachlesen kannst habe ich auch dort erwähnt das es andere via Bluetooth geregelt haben - eben weil WLAN nicht immer an ist ;)


    Eine Forumsuche nach " iPhone Bluetooth " wirft dir entsprechende Threads aus, in denen du das nachlesen kannst - zum Beispiel zweiter, dritter und vierter Treffer. Letzterer ist der, der "am einfachsten geht"


  • Wie du in meinem Beitrag nachlesen kannst habe ich auch dort erwähnt das es andere via Bluetooth geregelt haben - eben weil WLAN nicht immer an ist ;)


    hmm ist das sinnvoller?


    OK wlan unterwegs am Handy immer an frisst unnötig Strom, ist bei mir auch aus, aber wer bitte lässt BT immer an? aus 2 Gründen doch keiner,
    1. weil es auch kostbaren akkustrom kostet ohne Not und
    2. ist das auch ne Einladung zum hacken oder irre ich da?


    also mein BT ist zu 99,99% am Smartphone aus.
    [hr]
    ein cronjob am smartphone wäre doch toll alle Minute prüfen ob ich im heimischen wlan Bereich bin....

    lasst die PIs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Edited once, last by jar ().

  • Eine weitere, glaub ich noch nicht diskutierte, Möglichkeit wäre mithilfe der App GeoFency fürs iPhone und GeoFencyInfo im IPS (via IPS-Library).


    GeoFency kann bestimmte Event-URLs aufrufen, nachdem das iPhone einen bestimmten Ort verlassen oder betreten hat

  • Ich weiß ja nicht wie das bei IPhone ist, da ich ein Android Smartphone habe, aber bei dem ist es so, das es sich bei meiner Fritzbox anmeldet, und von dem dann eine IP und einen Namen zugewiesen kriegt.
    Man kann es dann unter android-[Zeichenkette].fritz.box erreichen, oder einfach unter diesem namen android-[Zeichenkette].
    Es bleibt auch in der Übersicht der Fritzbox, selbst wenn das Handy "schläft", daher kann ich mit Java sehr einfach überprüfen ob das Handy im Netz ist. Dies benutzt nicht sofort einen Ping, sondern fragt am DNS Server an ob das Gerät im Netz ist.
    Wenn ein IPhone auch so an der Fritzbox zu sehen ist sollte das auch genauso klappen.
    Bei mir läuft das schon seid Wochen im Test, und nur ab und zu mal wird gemeldet das das Handy nicht erreichbar ist. Aber so selten das es vernachlässigbar ist.


    Code für Java:



    Benutzen Objekte sollten vom Namen her erkennbar sein, wofür ich diese benutze.
    Ich habe es noch nicht ausprobiert, aber evtl. kann man auch ein Wake-On-Lan einrichten so das man im Notfall noch einen Ping schicken kann, und das Handy kurz darauf reagiert.


    Alternativ habe ich auch schon eingerichtet das ich eine Google Cloud Message an mein Handy sende, und wenn das Handy diese erhält wacht es ja kurz auf, und falls es in meinem Heimnetzwerk ist sagt es am Server bescheid das es da ist. Wenn mein Heimnetz nicht erreichbar ist kriege ich eine Benachrichtigung. Bei IPhone weiß ich nicht ob es was äquivalentes zu GCMs gibt. Ich benutz halt ein vernünftiges Handy *g*