Suche nach Bluetooth low energy mit python
Ist es möglich, dass dieser code geändert, um die Bluetooth-Low-Energy Geräte so gut? https://code.google.com/p/pybluez/source/browse/trunk/examples/advanced/inquiry-with-rssi.py?r=1
Kann ich feststellen, dass Geräte wie mein Handy und andere bluetooth 4.0 Geräte, aber keine BLE. Wenn dieser nicht geändert werden kann, ist es möglich, dass das hcitool lescan und ziehen Sie die Daten aus der hci-dump in python? Ich kann die Werkzeuge benutzen, um zu sehen, die Geräte, die ich Suche, und es gibt einen RSSI in hcidump, das ist, was mein Ziel ist. Um eine MAC-Adresse und RSSI von der BLE Gerät.
Dank!
Dass code keine Unterstützung für die BLE Funktionalität... es würde erfordern eine Menge von änderungen zu unterstützen BLE.
Kennen Sie eine funktionale BLE scan-code gibt? Ich suchte noch ein wenig, aber nicht gefunden haben. Danke!
Kennen Sie eine funktionale BLE scan-code gibt? Ich suchte noch ein wenig, aber nicht gefunden haben. Danke!
InformationsquelleAutor user3582887 | 2014-05-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie gesagt in dem Kommentar, dass die Bibliothek nicht mit BLE.
Hier einige Beispiel-code, um einen einfachen BLE-scan:
Musste ich Stück all das zusammen, indem man die
hcitool
undgatttool
source-code, der kommt mit Bluez. Der code ist vollständig abhängig vonlibbluetooth-dev
so müssen Sie sicherstellen, dass Sie haben, die zuerst installiert.Bessere Weg wäre, um dbus-Aufrufe an
bluetoothd
, aber ich hatte noch keine Gelegenheit um das zu erforschen, noch. Auch das dbus-interface ist auf das beschränkt, was Sie tun können, mit einem von der BLE-Verbindung, nachdem Sie einen machen.EDIT:
Martin Tramšak wies darauf hin, dass in Python 2 Sie müssen, ändern Sie die Letzte Zeile zu
print(':'.join("{0:02x}".format(ord(x)) for x in data[12:6:-1]))
Ich bin auch nicht versucht, eine Verbindung herzustellen, erhalten nur LE-Geräte um mich herum und finden Sie die RSSI-und MAC-Adresse dieser LE Geräte. So werde ich hoffentlich in der Lage sein, um es herauszufinden.... nochmals vielen Dank.
k.. der RSSI-Wert ist in diesem Paket... kann mich nicht erinnern, welche bytes, obwohl.
Tim, ich versuchte Ihren code, verzeihen Sie mir, ich bin ziemlich neu in diesem, muss ich alles editieren? Datei "scanner.py", line 61, in <module> print(':'.join("{0:02x}".format(x) for x in data[12:6:-1])) File "scanner.py" line 61, in <genexpr> print(':'.join("{0:02x}".format(x) for x in data[12:6:-1])) Valueerror: Unknown format code 'x' für das Objekt vom Typ 'str' vielen Dank für jede Hilfe.
Für python 2.7 die Letzte Zeile geändert werden: print(':'.join("{0:02x}".format(ord(x)) for x in data[12:6:-1]))
InformationsquelleAutor Tim Tisdall
Könnte man auch versuchen,pygattlib. Es kann verwendet werden, um Geräte zu finden, und (momentan) ist es eine grundlegende Unterstützung für das Lesen/schreiben von Eigenschaften. Keine RSSI für jetzt.
Konnte man entdecken, mit dem folgenden snippet:
DiscoveryService
akzeptiert den Namen des Geräts, und die Methodediscover
nimmt ein timeout (in Sekunden) für die wartenden Antworten.devices
ist ein Wörterbuch, mit BL-Adresse als Schlüssel und die Namen, die als Werte.pygattlib ist als Paket für Debian - (oder Ubuntu), und in der Downloads-Sektion gibt es eine .deb.
Tut mir Leid, aber ich habe nicht ein OSX um es auszuprobieren. Sie können den source-code und versuchen, kompilieren Sie es selbst... und teilen die Ergebnisse! 😉
InformationsquelleAutor oscarah