2016-10-28 5 views
2

По-прежнему спрашивают о устройствах BLE и gatttool.Неинтерактивный режим Gatttool --char-write

Я могу отправить char-write-cmd в интерактивном режиме, но я не могу сделать то же самое в неинтерактивном режиме.

Это то, что я посылаю в интерактивном режиме:

gatttool -I 

[]> connect BTADDR 

[BTADDR]> char-write-cmd 0x0040 01 

[BTADDR]> exit 

Таким образом, я запустить службу оповещения, которая в моем случае делает зуммер.

В теории, режим неинтерактивный должен быть:

gatttool -b BTADDR --char-write -a 0x0040 -n 01 

Но это не отправить событие команды запроса к доске, я проверяю его с помощью Dev платы.

+0

У меня такая же проблема. Интерактивный режим работает, но неинтерактивный режим не работает. Я могу отправить запрос на запись в неинтерактивный режим, но я не могу отправить команду write в неинтерактивном режиме. Я посмотрел исходный код gatttool, и я не вижу никакой очевидной ошибки. Вы могли заставить его работать? –

ответ

2

Руководство (не интерактивный) способ чтения или записи на ваш BLE периферического:

Чтобы написать и получить ответ сразу: (в зависимости от того, как настроить BLE устройство)

sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff 

К писать и получать ответ на неопределенный срок (пока вы не отключиться от BLE устройства или остановить клиента Bluetooth)

sudo gatttool -i hci0 -b xx:xx:xx:xx:xx:xx --char-write-req -a 0x0025 -n ff --listen 

Примечание Я только добавил --listen вариант в конце. Этот механизм работает только в том случае, если вы сконфигурируете свой узел BLE (датчик или исполнительный механизм) для чтения и ответа. источники :: How to use gatttool non-interactive mode Bluetooth Low Energy: listening for notifications/indications in linux

Все, что сказал, я до сих пор не думаю, что лучше контролировать или получить значения из BLE устройства. Мое направление - двигаться вперед и использовать API (возможно, на python), чтобы выполнить эту работу за вас.

https://github.com/peplin/pygatt Этот API доказал свою эффективность в борьбе с малиной Pi Jessie destro.

+0

Я все еще не думаю, что лучше контролировать или получать значения с устройства BLE. Почему? pyGATT использует подход CLI gatttool во внутренней реализации. Если вам не нравится использовать подход CLI, то я рекомендую внедрить Native Library с помощью BlueZ Libs. –

 Смежные вопросы

  • Нет связанных вопросов^_^