Как я могу подключиться к FitBit Zip через Bluetooth 4.0 LE в Linux с помощью bluez?

Я купил почтовый индекс FitBit. Это устройство использует Bluetooth 4.0 LE. Я хотел бы хотя бы подключиться к нему через bluez. Если это удастся, я хочу посмотреть, какую часть протокола я могу выяснить.

Я использую Lenovo P500 Ideapad, который имеет встроенную поддержку Bluetooth 4.0. Вроде работает (вроде)

Когда я делаю:

hcitool lescan

Я могу найти адрес устройства Bluetooth, который (хотя потенциально не имеет значения): CF:D9:24:DB:F4:7B

Теперь я прочитал еще один вопрос: Bluetooth Low Energy: прослушивание уведомлений / указаний в linux, которые я могу прослушивать для уведомлений и других функций протокола. Я работал со старым Bluetooth, но у меня нет опыта работы с Bluetooth LE.

Я застреваю, пытаясь использовать hcitool lecc или же gatttool подключиться к устройству. Время соединения истекает, и кажется, что Bluetooth остается в плохом состоянии на коробке Linux. Я могу это исправить, перезагрузив модули ядра, связанные с Bluetooth.

Любые советы приветствуются. Я сейчас пытаюсь с последним bluez.

2 ответа

Решение

Посмотрите на проект galileo, мы можем подключиться к трекеру (и синхронизировать его) с помощью ключа Fitbit, который также является разъемом BluetoothLE. Используемые здесь байты должны помочь вам определить, какой вам нужен...

Полное раскрытие: я поддерживаю этот проект.

Я помню, что делал что-то похожее на то, что вы описываете, и был в состоянии нормально подключиться. Однако никаких признаков / уведомлений в списке не было, поэтому я не смог получить никаких данных с устройства, за исключением действительно базовых метаданных (типа устройства, имени устройства и т. Д.).

Я просто попытался сделать то же самое сегодня, и я никак не мог установить соединение, пока не сказал ему использовать случайный тип адреса.

Вот результаты, которые я записал, когда получил его на работу раньше:

# 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

Возможно, вам придется подключить устройства, чтобы получить реальные полезные данные... не знаю, как это сделать.

Другие вопросы по тегам