Ich und einige Freunde von mir haben einen Bluetooth-Näherungsscanner entwickelt, um unser Haustürschloss unseres Hackerspace zu öffnen .
Wir haben alle zulässigen Geräte gekoppelt und im Wesentlichen verwendet hcitool
, um zu testen, ob sich eines der gekoppelten Geräte in der Nähe befindet. Wenn das gekoppelte Gerät beispielsweise die Adresse "00: 00: 00: 00: 00: 00" hat, können Sie dies auf der Befehlszeilenkonsole tun:
hcitool cc 00:00:00:00:00:00 && hcitool auth 00:00:00:00:00:00 && hcitool dc 00:00:00:00:00:00;
Wenn dies Null zurückgibt, befindet sich das Gerät in der Nähe.
Ein Nachteil ist, dass das Timeout ca. 5 Sekunden dauert, wenn das Gerät nicht in der Nähe ist.
Wir haben den Quellcode auf Github unter der Open-Source-Lizenz von Apache veröffentlicht.
hcitool ...
. Sie müssen die Befehle jedoch wie im obigen Beispiel verketten. Die Verbindung ist nur für sehr kurze Zeit aktiv. Sie können dem Mix Nähe hinzufügen, indem Sie dies tunhcitool rssi ...
.Ich habe einige Setups gesehen, die Bluetooth für ähnliche Anwendungsfälle verwenden, aber es wird wahrscheinlich einige Hacking beinhalten. Die Telefone, die Sie erkennen möchten, befinden sich normalerweise nicht im erkennbaren Modus.
Wenn die Telefone WLAN verwenden, können Sie wahrscheinlich eine gewisse Nähe erkennen. Dies bedeutet jedoch wahrscheinlich auch, dass Sie auf einer relativ niedrigen Ebene nach ihnen suchen müssen, da sie nicht auf Ihre WLAN-Antenne zugreifen und wahrscheinlich eine verschlüsselte Verbindung herstellen. Werfen Sie einen Blick auf kismet, um eine drahtlose Bonanza auf niedrigem Niveau zu erhalten.
Der einfachste Weg, um festzustellen, ob sich jemand in einem Raum befindet oder nicht, wäre jedoch die Verwendung des Kameramoduls und eines Panaramaspiegels.
quelle
Wenn Sie über ein WiFi-Netzwerk verfügen, mit dem sie im Büro eine Verbindung herstellen, können Sie den PI alle x Zeiträume nach MAC-Adressen durchsuchen lassen und eine Webseite (Dropbox, was auch immer) mit dem aktuellen Status aktualisieren. Wahrscheinlich die zuverlässigste Route.
Möglicherweise können Sie etwas mit Bluetooth und einem USB-Bluetooth-Adapter tun, aber ich habe keine Erfahrung damit.
Ohne sie, die mit dem Pi verbunden sind, oder ohne das Netzwerk, in dem sich der Pi befindet, werden Sie wahrscheinlich nicht viel Erfolg haben.
quelle
Das Lesen der obigen Antworten hat mich auch dazu veranlasst, über die folgenden Möglichkeiten nachzudenken:
Verwenden Sie airmon-ng , um das Netzwerk kontinuierlich nach WLAN-Client-Geräten zu durchsuchen. Die Ausgabe kann in eine Datei geschrieben werden. Wenn sich die Datei ändert, hat ein Client den Bereich des pi eingegeben oder verlassen. Wenn Sie eine Liste bekannter Mac-Adressen haben, können Sie den Benutzer identifizieren und aufgrund der Änderung der Datei einige Aktionen auslösen.
Es ist eine ziemlich interessante Idee! Vielen Dank!
Arjen
quelle
Solange sich alle Geräte im selben Netzwerk befinden, können Sie dazu problemlos einen Raspberry Pi verwenden. Hier ist ein vollständiges Projekt mit dem gesamten Code, den Sie benötigen ...
http://www.element14.com/community/people/mcollinge/blog/2014/09/12/raspberry-pi-network-spy--part-1
quelle
Ich arbeite also seit ungefähr einem Jahr an demselben Thema. Ich habe es ziemlich schnell auf meinem Mac zum Laufen gebracht, hatte aber große Probleme, es direkt auf meinem PC zum Laufen zu bringen. Ich habe viele verschiedene Ansätze ausprobiert. Ich habe ein Hausautomationssystem, das die Heizung und das Warmwasser (über ein Arduino- und ein HF-Modul) einschaltet, wenn ich oder mein Partner zu Hause sind (dh unsere iPhones sind über das WLAN zu Hause erkennbar). Am Ende habe ich 'nslookup' verwendet, um die IP-Adresse für die iPhones zu finden (falls sich die IP-Adresse geändert hat, da sie dynamisch sind (aber auf meinem Router tatsächlich nie)) und 'nmap', um festzustellen, ob das iPhone eingeschaltet ist das Netzwerk. Wenn sich das iPhone im Tiefschlaf befindet, findet 'nmap' das Telefon nicht immer, daher habe ich es 10 Mal überprüfen lassen, bevor es anzeigt, dass das Telefon nicht zu Hause ist. Unten ist ein Teil meines Hausautomationscodes in Python. Ich habe Threading verwendet. Bei Fragen mit dem folgenden Code lassen Sie es mich wissen.
und
und der Hauptcode
Der Code funktioniert möglicherweise nicht, wenn Sie ihn direkt in Ihr eigenes Skript kopieren, da einige Teile fehlen, die ich nicht kopiert habe, um die Dinge einfach und leicht lesbar zu halten, aber hoffentlich gibt der obige Code jedem einen Eindruck davon, wie ich es getan habe Dinge.
quelle