Я использую bluetoothctl (инструмент командной строки Linux, основанный на BlueZ), чтобы прочитать датчик частоты сердечных сокращений BLE GATT (я выбираю атрибут измерения частоты сердечных сокращений, а затем использую «notify on»).
В предыдущем bluetoothctlверсия, вот пример вывода:
[CHG] Attribute /org/bluez/hci0/dev_F7_AD_24_25_D4_05/service000c/char000d Value: 0x00 //flags
[CHG] Attribute /org/bluez/hci0/dev_F7_AD_24_25_D4_05/service000c/char000d Value: 0x40 //HR
В текущей версии приведен еще один пример вывода:
[CHG] Attribute /org/bluez/hci0/dev_A0_9E_1A_3B_6F_24/service0026/char0027 Value:
00 4c .L
Итак, все байты теперь находятся в одной строке, хорошо,но теперь в конце есть дополнительный байт (".L"), значение которого я не знаю (не в спецификации GATT), но содержание которого варьируется. Документация по bluetoothctl, к сожалению, довольно скудна (https://docs.ubuntu.com/core/en/stacks/bluetooth/bluez/docs/reference/gatt-services) и не помогает мне.
Кто-нибудь знает, имеет ли этот байт какое-либо значение, и если да, то как его интерпретировать?