Currently I am doing a project which is requiring some sensor reading from Huawei Watch GT-DEE
with gatttool
, Python
and Raspberry Pi 4
. Here, the server and the client are Huawei Watch and Raspberry Pi respectively. However, I got this article which pretty much close to my target. I was looking for more detail and got this article and this article. Anyway, I am getting following BLE primary
services:
[aa:bb:cc:dd:ee:ff][LE]> primary
attr handle: 0x0001, end grp handle: 0x0009 uuid: 00001800-0000-1000-8000-00805f9b34fb
attr handle: 0x000a, end grp handle: 0x000d uuid: 00001801-0000-1000-8000-00805f9b34fb
attr handle: 0x0010, end grp handle: 0x0020 uuid: 0000180a-0000-1000-8000-00805f9b34fb
attr handle: 0x002a, end grp handle: 0x0034 uuid: 0000fe86-0000-1000-8000-00805f9b34fb
attr handle: 0x0100, end grp handle: 0x0112 uuid: 00001812-0000-1000-8000-00805f9b34fb
attr handle: 0x0300, end grp handle: 0xffff uuid: 00003802-0000-1000-8000-00805f9b34fb
and getting following characteristics:
[aa:bb:cc:dd:ee:ff][LE]> 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: 00002aa6-0000-1000-8000-00805f9b34fb
handle: 0x0008, char properties: 0x02, char value handle: 0x0009, uuid: 00002ac9-0000-1000-8000-00805f9b34fb
handle: 0x000b, char properties: 0x20, char value handle: 0x000c, uuid: 00002a05-0000-1000-8000-00805f9b34fb
handle: 0x0011, char properties: 0x02, char value handle: 0x0012, uuid: 00002a29-0000-1000-8000-00805f9b34fb
handle: 0x0013, char properties: 0x02, char value handle: 0x0014, uuid: 00002a23-0000-1000-8000-00805f9b34fb
handle: 0x0015, char properties: 0x02, char value handle: 0x0016, uuid: 00002a24-0000-1000-8000-00805f9b34fb
handle: 0x0017, char properties: 0x02, char value handle: 0x0018, uuid: 00002a25-0000-1000-8000-00805f9b34fb
handle: 0x0019, char properties: 0x02, char value handle: 0x001a, uuid: 00002a26-0000-1000-8000-00805f9b34fb
handle: 0x001b, char properties: 0x02, char value handle: 0x001c, uuid: 00002a27-0000-1000-8000-00805f9b34fb
handle: 0x001d, char properties: 0x02, char value handle: 0x001e, uuid: 00002a28-0000-1000-8000-00805f9b34fb
handle: 0x001f, char properties: 0x02, char value handle: 0x0020, uuid: 00002a2a-0000-1000-8000-00805f9b34fb
handle: 0x002b, char properties: 0x0c, char value handle: 0x002c, uuid: 0000fe01-0000-1000-8000-00805f9b34fb
handle: 0x002d, char properties: 0x10, char value handle: 0x002e, uuid: 0000fe02-0000-1000-8000-00805f9b34fb
handle: 0x0030, char properties: 0x0c, char value handle: 0x0031, uuid: 0000fe03-0000-1000-8000-00805f9b34fb
handle: 0x0032, char properties: 0x10, char value handle: 0x0033, uuid: 0000fe04-0000-1000-8000-00805f9b34fb
handle: 0x0101, char properties: 0x02, char value handle: 0x0102, uuid: 00002a4a-0000-1000-8000-00805f9b34fb
handle: 0x0103, char properties: 0x02, char value handle: 0x0104, uuid: 00002a4b-0000-1000-8000-00805f9b34fb
handle: 0x0106, char properties: 0x04, char value handle: 0x0107, uuid: 00002a4c-0000-1000-8000-00805f9b34fb
handle: 0x0108, char properties: 0x12, char value handle: 0x0109, uuid: 00002a22-0000-1000-8000-00805f9b34fb
handle: 0x010b, char properties: 0x0e, char value handle: 0x010c, uuid: 00002a32-0000-1000-8000-00805f9b34fb
handle: 0x010d, char properties: 0x12, char value handle: 0x010e, uuid: 00002a4d-0000-1000-8000-00805f9b34fb
handle: 0x0111, char properties: 0x06, char value handle: 0x0112, uuid: 00002a4e-0000-1000-8000-00805f9b34fb
handle: 0x0301, char properties: 0x1e, char value handle: 0x0302, uuid: 00004a02-0000-1000-8000-00805f9b34fb
According to this article, 2a00 service (uuid: 00002a00-0000-1000-8000-00805f9b34fb, char value handle by 0x0003) refers to the device name (1800 in primary) which I am getting correctly as follows:
[aa:bb:cc:dd:ee:ff][LE]> char-read-hnd 0x0003
Characteristic value/descriptor: 48 55 41 57 45 49 20 57 41 54 43 48 20 47 54 2d 44 45 45
However, I was looking for BMP value which is defined by 2a37
service which is missing in the characteristics
(or 180d
in primary) output section. According the specifications (please have a look at Sensors section), it has Optical heart rate sensor
. Anyway, I can see the heart rate at the watch screen as well as in the Health app in the mobile phone.
Question:
Why gatttool
is not showing the service 2a37
in characteristics or 180d
in primary section?