2013-05-21 14 views
24

Kupiłem zamek błyskawiczny FitBit. To urządzenie wykorzystuje Bluetooth 4.0 LE. Chciałbym przynajmniej połączyć się z nim przez bluez. Jeśli to się uda, chcę zobaczyć, ile protokołu mogę obliczyć.Jak mogę połączyć się z FitBit Zip przez Bluetooth 4.0 LE w systemie Linux z bluez?

używam Lenovo IdeaPad P500 która zintegrowane wsparcie dla Bluetooth 4.0. Wydaje się, że działa (niby)

Kiedy zrobić:

hcitool lescan 

jestem w stanie odnaleźć adresu Bluetooth urządzenia, które (choć potencjalnie nieistotne) wynosi: CF: D9: 24: DB: F4 : 7B

teraz czytam w innym pytaniem: Bluetooth Low Energy: listening for notifications/indications in linux że mogę słuchać powiadomień i innych funkcji protokołów. Pracowałem ze starym bluetooth, ale nie mam doświadczenia z Bluetooth LE.

Utknąłem próbując użyć hcitool lecc lub gatttool, aby połączyć się z urządzeniem. Czas oczekiwania na połączenie i wydaje się pozostawić bluetooth w złym stanie na Linuksie. Mogę to naprawić, ponownie ładując moduły jądra związane z bluetooth.

Wszelkie wskazówki są mile widziane. Próbuję teraz z najnowszym Bluezem.

Odpowiedz

15

Spójrz na galileo project, jesteśmy w stanie połączyć się z trackerem (i zsynchronizować go) za pomocą klucza sprzętowego Fitbit, który jest również złączem BluetoothLE. Użyte tam bajty powinny pomóc ci znaleźć to, czego potrzebujesz ...

Pełna informacja: Jestem opiekunem tego projektu.

+0

dziękuję. Ostatnio nie byłem w pobliżu, ale jest fajny i zamierzam go zainstalować i spróbować zrozumieć kod. –

+0

Hej, jest możliwe, aby Fitbit Charge porozmawiał z nową (dostosowaną przeze mnie własną wersją android/iphone), którą rozwijam i wyświetla przypomnienia itp. – user3705478

11

Pamiętam robi coś podobnego do tego, co opisujesz i jest w stanie połączyć w porządku. Nie podano jednak żadnych cech charakterystycznych dla żadnych wskazań/powiadomień, więc nie mogłem uzyskać żadnych danych z urządzenia, z wyjątkiem naprawdę podstawowych danych meta (typu urządzenia, nazwy urządzenia itd.).

Ja tylko starałem się zrobić dzisiaj to samo, a ja nie wydaje się nawiązać połączenie w ogóle, aż powiedziałem go używać losowy typ adresu.

Oto wyniki nagrałem kiedy dostałem go do pracy przed:

# 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 

Być może trzeba będzie powiązać oba urządzenia, aby uzyskać rzeczywiste użytecznych danych ... nie wiem, jak to zrobić.

+0

Dzięki za odpowiedź. Ten post będzie niezwykle pomocny. –

+0

@TomDignan Jakikolwiek postęp? –

+0

dziękuję za wysłanie mi polecenia. Niestety, ostatnio byłem zbyt zajęty pracą, by z nim zadzierać. Mam nadzieję, że uda się to jak najszybciej. –

Powiązane problemy