我正在尝试使用bluez的gatttool向BLE自定义板上的一些演示特征写入数据。具体而言,我希望能够向一个特征中写入数据并读取回传的值。以下是我的操作步骤(其中0x25是该特征的句柄):
bluepy$ gatttool -b EC:24:B8:23:1C:39 -I
[ ][EC:24:B8:23:1C:39][LE]> connect
[CON][EC:24:B8:23:1C:39][LE]> char-read-hnd 0x0025
[CON][EC:24:B8:23:1C:39][LE]> Characteristic value/descriptor: 01
[CON][EC:24:B8:23:1C:39][LE]> char-write-cmd 0x25 0x02
[CON][EC:24:B8:23:1C:39][LE]> char-read-hnd 0x0025
[CON][EC:24:B8:23:1C:39][LE]> Characteristic value/descriptor: 00
有人知道为什么读取的特征值是00而不是02(char-write-cmd
的第二个参数)吗?
任何帮助将不胜感激。
gatttool
非常挑剔。尝试使用char-write-cmd 0x25 02
代替(即在值中不包含0x
)。 - kaylumgatttool
,因为我从未有过好的使用体验。相反,尝试使用bluetoothctl
或btgatt-client
,看看是否对您更有效。此外,请注意描述符与值不同。 - Zimano0x
就可以了。这是否意味着第二个参数被假定为十六进制? - WKleinberg