Get char value descriptor in windows

On linux, we have a gatttool tool for querying low energy Bluetooth devices. If we run gatttool --device=[MAC] --characteristics , we get a list of characteristics that the corresponding device has. Output Example:

 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 = 0x0a, char value handle = 0x0007, uuid = 00002a02-0000-1000-8000-00805f9b34fb handle = 0x0008, char properties = 0x02, char value handle = 0x0009, uuid = 00002a04-0000-1000-8000-00805f9b34fb handle = 0x000d, char properties = 0x22, char value handle = 0x000e, uuid = 00002a05-0000-1000-8000-00805f9b34fb handle = 0x0011, char properties = 0x1a, char value handle = 0x0012, uuid = 00000001-0000-1000-8000-00805f9b34fb handle = 0x0014, char properties = 0x02, char value handle = 0x0015, uuid = 00000002-0000-1000-8000-00805f9b34fb handle = 0x0016, char properties = 0x12, char value handle = 0x0017, uuid = 00000004-0000-1000-8000-00805f9b34fb handle = 0x0018, char properties = 0x08, char value handle = 0x0019, uuid = 00000007-0000-1000-8000-00805f9b34fb handle = 0x001a, char properties = 0x08, char value handle = 0x001b, uuid = 00000010-0000-1000-8000-00805f9b34fb handle = 0x001c, char properties = 0x0a, char value handle = 0x001d, uuid = 00000013-0000-1000-8000-00805f9b34fb handle = 0x001e, char properties = 0x02, char value handle = 0x001f, uuid = 00000014-0000-1000-8000-00805f9b34fb handle = 0x0020, char properties = 0x10, char value handle = 0x0021, uuid = 00001001-0000-1000-8000-00805f9b34fb handle = 0x0024, char properties = 0x0a, char value handle = 0x0025, uuid = 8082caa8-41a6-4021-91c6-56f9b954cc34 handle = 0x0026, char properties = 0x0a, char value handle = 0x0027, uuid = 724249f0-5ec3-4b5f-8804-42345af08651 handle = 0x0028, char properties = 0x02, char value handle = 0x0029, uuid = 6c53db25-47a1-45fe-a022-7c92fb334fd4 handle = 0x002a, char properties = 0x0a, char value handle = 0x002b, uuid = 9d84b9a3-000c-49d8-9183-855b673fda31 handle = 0x002c, char properties = 0x0e, char value handle = 0x002d, uuid = 457871e8-d516-4ca1-9116-57d0b17b9cb2 handle = 0x002e, char properties = 0x12, char value handle = 0x002f, uuid = 5f78df94-798c-46f5-990a-b3eb6a065c88 handle = 0x0032, char properties = 0x0a, char value handle = 0x0033, uuid = 00001a00-0000-1000-8000-00805f9b34fb handle = 0x0034, char properties = 0x1a, char value handle = 0x0035, uuid = 00001a01-0000-1000-8000-00805f9b34fb handle = 0x0037, char properties = 0x02, char value handle = 0x0038, uuid = 00001a02-0000-1000-8000-00805f9b34fb handle = 0x003b, char properties = 0x02, char value handle = 0x003c, uuid = 00001a11-0000-1000-8000-00805f9b34fb handle = 0x003d, char properties = 0x1a, char value handle = 0x003e, uuid = 00001a10-0000-1000-8000-00805f9b34fb handle = 0x0040, char properties = 0x02, char value handle = 0x0041, uuid = 00001a12-0000-1000-8000-00805f9b34fb 

In windows, I was able to get handle , char properties and uuid with the following code

 IEnumerable<GattCharacteristic> characteristics = device.GattServices. SelectMany(s => s.GetAllCharacteristics()); foreach (GattCharacteristic characteristic in characteristics) { Console.WriteLine($"handle = 0x{characteristic.AttributeHandle:x4}, char properties = 0x????, uuid = {characteristic.Uuid}"); } 

But how do I get the char value handle , the only template I found for the char value handle is characteristic.AttributeHandle + 1 , but I only have one device to test, so I don’t know if this is always the case or just this specific device.

So how to get char value handle under windows?

+7
c # windows-10 bluetooth-lowenergy gatt
source share

No one has answered this question yet.

See related questions:

2058
How to get consistent byte representation of strings in C # without manually specifying an encoding?
1658
Get int value from enum in C #
12
BlueZ: How to configure a GATT server from the command line
5
Android BLE 4.3 onDescriptorWrite returns status 128 in the notification of activating characteristics
one
Android BLE blood pressure monitoring app
0
Android BLE services onServiceDiscover () not called
0
How to get the service name for the corresponding UUID in bluetooth?
0
Heart rate service not found in Nexus 5
0
How to get actual values ​​from a BLE device in Android?
-one
Core Bluetooth: some kind of character is published from the peripheral side, but you can only get the name of the manufacturer. String frrom central side

All Articles