Ваше устройство использует принятый профиль частоты сердечных сокращений, поскольку 0x2A37 является принятой характеристикой UUID для измерения частоты сердечных сокращений. Я бы порекомендовал вам использовать инструменты командной строки BlueZ следующим образом: -
1. Найдите маркер характеристики сердечного ритма, используя: -
gatttool -b 00:11:22:33:44:55 --characteristics
Замените 00: 11: 22: 33: 44: 55 на адрес Bluetooth вашего устройства. По сути, вы хотите найти uuid, содержащий 2a37, и записать соответствующий ему «дескриптор значения символа».
2. Найдите дескрипторы по этому дескриптору, используя: -
gatttool -b 00:11:22:33:44:55 char-desc --handle=0xXX
Где XX - дескриптор значения символа, который вы записали ранее. Вы должны быть в состоянии увидеть несколько характерных дескрипторов на этом дескрипторе. Запишите на ручку символа uuid 2902.
3- Включить уведомления, написав «0100» для этого дескриптора, используя: -
gatttool -b 00:11:22:33:44:55 --sec-level=high --char-write --handle=0xYYYY --value=0100
Где 0xYYYY - дескриптор CCCD, который вы отметили на шаге 2. Как только это произойдет, вы должны начать получать данные индикации, которые можно расшифровать, используя найденную структуру данных температуры здесь .
Более подробную информацию об использовании команд BlueZ можно найти по следующим ссылкам: -
Надеюсь, это поможет.