Я пытаюсь использовать gatttool bluez для записи некоторых демонстрационных характеристик на пользовательской плате 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
в значении). - person kaylum   schedule 21.12.2015gatttool
, поскольку у меня никогда не было хорошего опыта с ним. Попробуйте вместо этогоbluetoothctl
илиbtgatt-client
и посмотрите, работает ли это лучше для вас. Также обратите внимание, что дескрипторы - это не то же самое, что значения. - person Zimano   schedule 21.12.20150x
сделало это. Означает ли это, что второй параметр считается шестнадцатеричным? - person WKleinberg   schedule 25.12.2015