Search code examples
flutterbluetooth

How to fetch heart rate from fireboltt smartwatch to flutter android app


I'm trying to make a flutter app to fetch data(heart rate, spo2,......) from my smartwatch. I don't know if it is wearOS or tizen or anything. It is smartwatch of the brand fire boltt. I'm currently using flutter_ble for bluetooth functionality. I'm getting services and characteristics from bluetooth client. But can't figure out which of those data corresponds to what. How am I supposed to tackle this?

This is one example of data I am receiving:

BluetoothService{uuid: 0000180f-0000-1000-8000-00805f9b34fb, 
deviceId: F9:CE:08:3E:0B:31, 
isPrimary: true, 
characteristics: [BluetoothCharacteristic{
    uuid: 00002a19-0000-1000-8000-00805f9b34fb, 
    deviceId: F9:CE:08:3E:0B:31, 
    serviceUuid: 0000180f-0000-1000-8000-00805f9b34fb, 
    secondaryServiceUuid: null,
    properties: CharacteristicProperties{
        broadcast: false, 
        read: true, 
        writeWithoutResponse: false,
        write: false, 
        notify: true, 
        indicate: false, 
        authenticatedSignedWrites: false, 
        extendedProperties: false, 
        notifyEncryptionRequired: false, 
        indicateEncryptionRequired: false}, 
    descriptors: [BluetoothDescriptor{
        uuid: 00002902-0000-1000-8000-00805f9b34fb, 
        deviceId: F9:CE:08:3E:0B:31, 
        serviceUuid: 0000180f-0000-1000-8000-00805f9b34fb, 
        characteristicUuid: 00002a19-0000-1000-8000-00805f9b34fb, 
        value: []}],
    value: []], 
includedServices: []}

Solution

  • As long as the device supports standard services and characteristics here is the list of bluetooth UUID: 16-bit UUID Numbers Document.

    Easy way to inspect which services the device supports is to use bluetooth internals, chrome://bluetooth-internals/#devices,