aktuell steuere ich meine Anwesenheit per bluetooth mit einem Iphone. Das funktioniert ziemlich gut. Man könnte die Genauigkeit noch stark steigern wenn man ibeacons verwendet.
Das sind usb bluetooth dongles mit spezieller vom user editierbarer firmware, welche nur eine ID ausstrahlen.
Ein Smartphone „sieht“ dann ein ibeacon und kann über eine app im Hintergrund Befehle ausführen.
Die IDs der ibeacons sind editierter. Hat man mehrere mit der gleichen ID, kann man große Bereiche abdecken. Hat man verschiedene IDs kann man feststellen in welchem Raum man sich befindet.
Die usb dongles brachen nur Strom und keine Computer an den sie gesteckt werden. Die Intelligenz sitzt in der Smartphone App.
Wie könnte man das in IPS integrieren? Könnte man die Funktionalität in ifront integrieren?
Das Smartphone teilt dem eigenen IPS Server mit, welche ibeacons „gesehen“ werden. Vielleicht wäre das sogar nur ein relativ kleiner Programmieraufwand. IPS setzt dann einen Status.
Damit kann man dann auch feststellen ob man schlafen gegangen ist und entsprechend Bewegung oder Fenster- und Türenöffnen anders bewerten.
Unendliche Möglichkeiten der indoor Lokalisierung.
Die Dongles kosten keine 20€.
Software zum programmieren der IDs und Sendestärke ist kostenlos erhältlich.
Die meisten Infos dazu stammen aus dem Homematic-forum. Chris Schwarzfischer entwickelt gerade eine App die per Geofencing die Anwesenheit steuert. Er hat diese App um ibeacons erweitert. Momentan läuft aber eine nicht öffentlich beta.
Die Entwicklung geht allerdings schon über längere Zeit. Man findet den Thread unter Projektvorstellungen.
Ich habe noch keins weil ich keine passende App dafür habe.
Habe eben geohopper installiert. Das kann per post request ein json file senden.
Es kann auch mit ibeacons umgehen.
Wie kriege ich diesen post mit json Inhalt auf meinen ips server?
Eine Verbindung zur Json Schnittstelle über meinen ips server kann schon herstellen.
Wie kriege ich den Inhalt in Variablen?
In der app muss man ein URL eintragen. Der Inhalt der payload sieht so aus:
When a web service is notified, it sends a HTTP POST to the specified URL. It posts a JSON payload:
{„sender":"tperfitt@twocanoes.com“,„location“:„Beacon in upstairs office“,„event“:„LocationExit“,„time“:„2013-09-11 02:03:33 +0000“}
The fields are defined as follows:
Sender: The email address of the sender.
Location: The name of the defined location that triggered the event.
Event: The type of event. Possible values are LocationEnter, LocationExit, LocationTest
Time: time the event occurred in RFC 3339 format.
Da bin ich auch gerade dran. Webservice in der App hab ich eingerichtet und Skript in Webfront User Verzeichnis gelegt. Dort versuche ich die Variable $_POST auszuwerten und dann ein SetValue… Geht aber noch nicht.
Ein anderes Thema ist dann das ganze nach aussen zu öffnen - nginx ist da bestimmt mein Freund.
Aber wie rufe ich das von außen aus auf.
Ich dachte ich benutze dafür die json Schnittstelle. Die hat dann einen Benutzernamen und Kennwort. Aktuell habe ich mein webfront per ssl erreichbar von außen.
Danke für das Skript. Leider sendet Geohopper bei mir nichts. Hab das Skript wie beschrieben angelegt:
Wenn ich die gleiche URL im Safari aufrufe, dann wird das Skript aufgerufen (Ergebnis natürlich „Missing payload“). Geohopper test geht nicht Wie schaut das bei euch aus?
Moin…
… gibt es die iBeacons-Sticks schon irgendwo in Deutschland zu kaufen oder nur in den USA per Import?
Info auch gern per PM. Links zu shops sind hier ja nicht gern gesehen.
Hab schon gegoogelt, aber keine Dongles gefunden!
Danke,
Peter
das gepostete Skript funktioniert einwandfrei. Das einzige Problem dabei ist, dass geohopper offensichtlich keine ssl Verschlüsselung unterstützt. Sobald beim entsprechenden Webserver das ssl deaktiviert ist, wird alles korrekt in die Variablen geschrieben.
Ich habe derzeit einen port offen und die Kommunktion ist per ssl verschlüsselt.
Wie kriegt man das jetzt eingermassen sicher hin?
Mich stört ja schon, dass man das skript ohne passwort ausführen kann.
ich könnte einen zusätzlichen webserver ohne ssl laufen lassen, aber ohne passwort und unverschlüsselt?
Was ist denn mit der json Schnittstelle die es seit 3.0 gibt? Kann man die nicht verwenden und ist das irgendwie sicherer?
Ich werde ein reverse proxy nutzen (nginx). Damit werde ich nur eine spezielle url durchlassen. Nicht 100% sicher, aber der Angreifer müsste schon die genaue url kennen, Risiko also minimal.
In der Firma experimentieren wir bereits mit iBeacons. Leider haben wir das Gefühl dass man diese Technologie nicht zur Anwesenheitserkennung nutzen kann.
Das Problem liegt daran, dass das Handy nicht durch Bluetooth innerhalb eines akzeptablen Zeitraums von zum Beispiel 1 Sekunde aufgeweckt werden kann. in unseren Tests hatten wir zeitweise Zeiten von über 30 Sekunden bis das Gerät die App weckte.
eine automatische Öffnung der Haustür ist in diesem Fall für mich nicht akzeptabel.
Soweit ich das weiß, sind iBeacons für Werbezwecken einsetzbar. Da jedes iBeacon eine eindeutige ID hat, und man ja nicht durch jedes Gerät was im Umlauf ist penetriert werden möchte, muss man die jeweiligen Geräte vorher anlernen. Das wiederum wäre aber Quatsch weil man in einem Geschäft ja vorher auch nicht die iBeacons anlernen wird.
Außer es wird eine App geschrieben die nur auf eine spezielle ID Triggert. Zusätzlich muss man dann zu dieser App die jeweiligen iBeacons ausliefern.
Für den Fall dass jemand mehr Informationen dazu hat, bin ich sehr interessiert.