2013-05-21 6 views
24

Ich kaufte einen FitBit-Reißverschluss. Dieses Gerät verwendet Bluetooth 4.0 LE. Ich möchte mich zumindest via Bluez damit verbinden. Wenn das erfolgreich ist, möchte ich sehen, wie viel von dem Protokoll ich herausfinden kann.Wie kann ich eine Verbindung zum FitBit Zip über Bluetooth 4.0 LE unter Linux mit Bluez herstellen?

Ich verwende ein Lenovo P500 Ideapad, das Unterstützung für Bluetooth 4.0 integriert hat. Es scheint, (Art) zu arbeiten

Wenn ich tun:

hcitool lescan 

ich in der Lage bin das Gerät die Bluetooth-Adresse zu finden, die (wenn auch möglicherweise nicht relevant) ist: CF: D9: 24: DB: F4 : 7B

Jetzt lese ich in einer anderen Frage: Bluetooth Low Energy: listening for notifications/indications in linux, dass ich für Benachrichtigungen und andere Protokollfunktionen hören kann. Ich habe mit altem Bluetooth gearbeitet, aber ich habe keine Erfahrung mit Bluetooth LE.

Ich stecke fest, versuchen, hcitool lecc oder gatttool zu verwenden, um mit dem Gerät zu verbinden. Die Verbindung läuft ab und scheint Bluetooth in einem schlechten Zustand auf der Linux-Box zu lassen. Ich kann das beheben, indem ich Bluetooth-bezogene Kernel-Module neu lade.

Alle Hinweise sind willkommen. Ich versuche es jetzt mit dem neuesten Bluez.

Antwort

15

Werfen Sie einen Blick auf die galileo project, wir können mit dem Fitbit-Dongle, der auch ein BluetoothLE-Anschluss ist, eine Verbindung zum Tracker herstellen (und synchronisieren). Die dort verwendeten Bytes sollten Ihnen helfen herauszufinden, welche Sie benötigen ...

Vollständige Offenlegung: Ich bin der Betreuer dieses Projekts.

+0

Vielen Dank. Ich war in letzter Zeit nicht dabei, aber das ist cool und ich werde es installieren und versuchen, den Code zu verstehen. –

+0

Hey, ist es möglich, die Fitbit Charge zu machen, um mit der neuen (angepassten meine eigene Version Android/iPhone) App zu sprechen, die ich entwickle und Erinnerungen zeige usw. – user3705478

11

Ich erinnere mich, etwas ähnliches zu tun, was du beschreibst und in der Lage zu sein, gut zu verbinden. Es gab jedoch keine aufgelisteten Merkmale für irgendwelche Anzeigen/Benachrichtigungen, so dass ich außer den wirklich grundlegenden Metadaten (Gerätetyp, Gerätename usw.) keine Daten vom Gerät abrufen konnte.

Ich habe gerade versucht, das Gleiche heute zu tun, und ich konnte anscheinend keine Verbindung herstellen, bis ich sagte, dass ich eine zufällige Art von Adresse verwenden sollte.

Hier die Ergebnisse, die ich aufgenommen, als ich es bekam vor der Arbeit:

# gatttool -b EB:47:1D:11:11:11 --addr-type=random --primary 
attr handle = 0x0001, end grp handle = 0x0007 uuid: 00001800-0000-1000-8000-00805f9b34fb 
attr handle = 0x0008, end grp handle = 0x0008 uuid: 00001801-0000-1000-8000-00805f9b34fb 
attr handle = 0x0009, end grp handle = 0x000e uuid: adabfb00-6e7d-4601-bda2-bffaa68956ba 
attr handle = 0x000f, end grp handle = 0xffff uuid: 0000180a-0000-1000-8000-00805f9b34fb 

# gatttool -b EB:47:1D:11:11:11 --addr-type=random --characteristics 
handle = 0x0002, char properties = 0x02, char value handle = 0x0003, uuid = 00002a00-0000-1000-8000-00805f9b34fb 
handle = 0x0004, char properties = 0x02, char value handle = 0x0005, uuid = 00002a01-0000-1000-8000-00805f9b34fb 
handle = 0x0006, char properties = 0x02, char value handle = 0x0007, uuid = 00002a04-0000-1000-8000-00805f9b34fb 
handle = 0x000a, char properties = 0x12, char value handle = 0x000b, uuid = adabfb01-6e7d-4601-bda2-bffaa68956ba 
handle = 0x000d, char properties = 0x06, char value handle = 0x000e, uuid = adabfb02-6e7d-4601-bda2-bffaa68956ba 
handle = 0x0010, char properties = 0x02, char value handle = 0x0011, uuid = 00002a29-0000-1000-8000-00805f9b34fb 
handle = 0x0013, char properties = 0x02, char value handle = 0x0014, uuid = 0000fb00-0000-1000-8000-00805f9b34fb 

Sie müssen die Geräte koppeln können die eigentlichen Nutzdaten zu bekommen ... nicht sicher, wie das zu tun.

+0

Danke für die Beantwortung. Dieser Beitrag wird unglaublich hilfreich sein. –

+0

@ TomDignan Irgendwelche Fortschritte? –

+0

danke für mich zu pingen. Leider war ich zu sehr mit der Arbeit beschäftigt, um mich in letzter Zeit damit zu beschäftigen. Ich werde es hoffentlich bald schaffen. –

Verwandte Themen