Bluetooth auf der Kommandozeile
January 10th, 2009Unter Linux ist es dank des BlueZ Bluetooth Protocol Stack und den bluez-utils (Standardpackage bei ubuntu), sowie der Library OpenObex schon auf der Kommandozeile recht einfach möglich, mit Bluetooth zu experimentieren und z.B. Dateien per OBEX an Mobilgeräte zu versenden.
Die wichtigsten Befehle sind:
- hcitool: bluez-utils; Device Inquiry (Suchen von BT-Geräten in der Nähe); Verbindungsaufbau; Manpage
- sdptool: bluez-utils; Service Discovery (Dienste auf dem entfernten Gerät erkennen); Manpage
- obexftp: OpenObex; Obex FTP und auch Push; Manpage
Einige Beispiele:
- Mit
hcitool inqführt eine Device Inquiry durch. Dies ist die Voraussetzung für alle weiteren Aktionen, insbesondere wird die Bluetooth Adresse (i.F.: **BT-ADR**) benötigt. sdptool browse **BT-ADR**führt daraufhin eine Service Discovery durch, mit der man z.B. erfährt, ob das entfernte Geräte Obex Push unterstützt.hcitool cc **BT-ADR**baut eine Verbindung zum BT-Gerät der Wahl auf.- Danach kann periodisch die Entfernung zum Geräte per RSSI (Radio Signal Strength Indicator) abgefragt werden:
hcitool rssi **BT-ADR**. Das “Mapping” von Rückgabewerten zu Entfernung in Metern ist dabei allerdings stark von der Umgebung abhängig und nur möglich, solange eine Verbindung zum BT-Partner besteht. - Schließlich lässt sich per
obexftp -b **BT-ADR** -U none -H -B **PUSH-CHANNEL** -p **FILE**eine lokale Datei (**FILE**) per Obex-Push versenden. Den Push-Channel erhält man aus der Rückgabe der Service Discovery, z.B. per Regexp:/0x1105[\W\w\n]*?Channel:\s(\d{1,2})/g
Update:
Unter http://www.chaostal.de/cgi-bin/parser.cgi?input=article/bluetooth gibt es gute weiterführende Infos zu Bluetooth-Tools unter Linux (Danke an Florian H. für den Tipp!)



