Bluetooth LE Signal Stärke Linux
Hallo gibt es eine Möglichkeit, um die Signalstärke von in der Nähe von bluetooth-le-Geräte in linux? Oder keine gute Bibliotheken für nodejs, php, mono ( ich weiß, einige c++ oder python, aber würde sagen lieber Weg von Ihnen ), wenn ein Werkzeug nicht inzwischen wäre aber ziemlich einfach zu schreiben
Danke
InformationsquelleAutor der Frage Tim Holum | 2014-06-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Unter Linux, die Möglichkeit, dies zu tun ist mit dem Befehl hcitool. Sie müssen jedoch angeschlossen werden, um die rssi von einem Gerät. Wenn Sie erreichen wollen, dies von der Kommandozeile, versuchen Sie:
Wenn Sie sehen möchten der aktuelle C-code um dies zu erreichen, nehmen Sie einen Blick auf die bluez tools/hcitool.c Datei, unter der cmd_rssi Funktion.
Für Bluetooth Low Energyich kenne nur eine Möglichkeit, dies zu tun, und das ist mit der #btmon-Befehl. Führen Sie btmon im hintergrund Scannen für Bluetooth Low Energy-Geräte:
Die Ergebnisse auf dem monitor angezeigt werden sollte, ähnlich wie dieser:
Beachten Sie, dass bei der Verwendung von btmon Sie nicht haben, zu verbinden, um die rssi von einem von der BLE Gerät.
Ich hoffe, das hilft.
InformationsquelleAutor der Antwort yousif saeed
Können Sie eine Kombination von:
sudo hcitool lescan --Duplikate & ;
sudo hcidump-raw
sind, dass Ihnen die raw-dump, der alle bluetooth-Pakete enthalten alle relevanten Informationen, die Sie müssen daran interessiert sein, wie zum Beispiel : UUID, Major, Minor, RSSI, TxPower. Sie haben eine Art von Skript zu Parsen und zu filtern LE-Pakete und machen Sie Sie in lesbarer form.
Eines der Skripte mit Bash-und S-editor wurde von jjnebaker hier mit dem problem und Lösung diskutiert hier
Die Andere Möglichkeit ist die Verwendung PyBluez mit dem Beispiel-code hier
Aber vielleicht finden Sie die Lösung bereitgestellt durch Switchdoc labs nützlich nach Ihren Bedürfnissen. hier
InformationsquelleAutor der Antwort Asif Nadeem
Ok, sorry für die andere Antwort...
Diese Werke für die c-Sprache, hat aber einen Fehler beim umwandeln der bytes, die Informationen über de rssi signal.
https://github.com/glock45/intel-edison-playground/blob/master/scan.c
diese Zeile 121:
printf("%s - RSSI %d\n", addr, (char)info->data[info->Länge]);
werden sollte:
printf("%s - RSSI %d\n", addr, (int8_t)info->data[info->Länge]);
fand ich diese von der Suche im inneren bluez-version/monitor/*.c, wo btmon-Programm ist. Sehen Sie die Datentypen und Strukturen, hcidump.c ist sehr nützlich und Pakete.c und main.c auch, aber es gibt viele zu lernen, über die hci sockets
InformationsquelleAutor der Antwort Yao Hao
Ich auch ein Programm gefunden, ich war in der Lage, zu Bearbeiten, zu tun, was ich wollte, wie gut
Ich durch Sie auf meinem github-account
https://github.com/tholum/bluez/blob/master/blue.py
InformationsquelleAutor der Antwort Tim Holum
versuchen :
$ bluez-test-discovery
Ausgabe :
gibt Sie : RSSI = -65
InformationsquelleAutor der Antwort bluemantoothed