Я пытаюсь использовать gatttool bluez для записи некоторых демо-характеристик на пользовательской плате BLE. В частности, я надеюсь написать характеристику и прочитать значение обратно. Вот что я делаю (где 0x25 является ручка для характеристики):GATTTool не умеет читать/писать характеристики
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' в значении). – kaylum
Я бы не использовал 'gatttool', поскольку у меня никогда не было хорошего опыта с ним. Попробуйте 'bluetoothctl' или' btgatt-client' вместо этого и посмотрите, обнаружите ли вы, что работаете лучше для вас. Также обратите внимание, что дескрипторы не совпадают с значениями. – Zimano
проверить, есть ли у вас права на запись, а также char-write-cmd не имеет никакого ответа, поэтому лучше получить для char-write-req; если у вас нет разрешений, это вызовет ошибку – Jagdish