versa precio one charge linux reverse-engineering bluez fitbit

linux - precio - fitbit zip manual



¿Cómo puedo conectarme a FitBit Zip a través de Bluetooth 4.0 LE en Linux con bluez? (2)

Compré una cremallera FitBit. Este dispositivo utiliza Bluetooth 4.0 LE. Me gustaría al menos conectarme a través de bluez. Si eso tiene éxito, quiero ver qué parte del protocolo puedo averiguar.

Estoy usando una Lenovo P500 Ideapad que tiene soporte integrado para Bluetooth 4.0. Parece funcionar (tipo de)

Cuando lo hago:

hcitool lescan

Puedo encontrar la dirección de Bluetooth del dispositivo, que (aunque potencialmente irrelevante) es: CF: D9: 24: DB: F4: 7B

Ahora, leí en otra pregunta: Bluetooth Low Energy: escuchar notificaciones / indicaciones en Linux que puedo escuchar notificaciones y otras funciones del protocolo. He trabajado con bluetooth antiguo, pero no tengo experiencia con bluetooth LE.

Me estoy quedando atascado tratando de usar hcitool lecc o gatttool para conectarme al dispositivo. La conexión se agota y parece que deja el bluetooth en mal estado en la caja de Linux. Soy capaz de arreglar eso recargando los módulos del kernel relacionados con bluetooth.

Cualquier consejo es apreciado. Estoy intentando con el último bluez ahora.


Eche un vistazo al proyecto de galileo , podemos conectarnos al rastreador (y sincronizarlo) usando el dongle Fitbit, que también es un conector BluetoothLE. Los bytes que se usan allí te ayudarán a encontrar el que necesitas ...

Revelación completa : soy el mantenedor de este proyecto.


Recuerdo haber hecho algo similar a lo que estás describiendo y poder conectarme bien. Sin embargo, no hubo características enumeradas para ninguna indicación / notificación, por lo que no pude obtener ningún tipo de información del dispositivo, excepto los metadatos básicos (tipo de dispositivo, nombre del dispositivo, etc.).

Intenté hacer lo mismo hoy y parece que no pude establecer una conexión hasta que le dije que usara un tipo de dirección al azar.

Aquí están los resultados que registré cuando lo hice funcionar antes:

# 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

Es posible que deba vincular los dispositivos para obtener los datos útiles reales ... no está seguro de cómo hacerlo.