Вопрос

Я в настоящее время разрабатываю Android ble, и встречает много проблем с стеками Android Ble ..

Мой инструмент разработки - Samsung Galaxy J с Android 4.3.

Я хочу знать, как я могу прочитать характеристики от BRE и записи характеристик (похоже, что я проверяю, какие данные я получил, а затем я отправляю еще одно данные, используя ble)

И у меня серьезные проблемы понять, как работает Android Bleo Callbacks, Я не понимаю этих 5 функций ... и руководство не ясно, может кто-нибудь хорошая душа объясняет в простой форме ???

onCharacteristicWrite
onCharacteristicRead
onCharacteristicChanged
onDescriptorRead
onDescriptorWrite
.

Моя текущая ситуация в том, что мне удалось прочитать данные в OnCharactizedChanged () обратный вызов, а затем проверили полученные данные, которые я пытаюсь отправить данные с помощью

characteristics.setValue(data)
gatt.writeCharacteristic(characteristics)
.

Но, но стек Android Ble не вызывает нахарактеристикиWrite () и на самом деле, Android просто висит там ..

Попробую Google о Android BTR, не так много информации и только куча жалоб на то, насколько нестабильные стеки блокировки ......

Это было полезно?

Решение

Каждый из обратных вызовов от Android BRE имеет свои функции;

ondescristread и ondescriptorwrite

Это используется для записи / прочтения настроек конфигурации для устройства BLE, некоторые изготовления могут потребоваться отправлять некоторые данные в устройство BLE и подтвердить его, как вы можете подключиться к устройству BLE

oncaractalusicwarite

Это используется для отправки данных на устройство BLE, обычно в режиме данных для устройства BLE. Этот обратный вызов называется при введении

gatt.writeCharacteristic(characteristics);
.

onCharactiveRead

Это используется для чтения данных с устройства BLE Обратный вызов вызывается при записи этого кода

gatt.readCharacteristic(characteristics);
.

onCharableShangeChanged

Этот обратный вызов вызывается, когда вы пытаетесь отправить данные с использованием WriteCharactericies (характеристики), и устройство BLE реагирует с некотором значением.

Обычно устройство BLE имеет несколько характеристик, чтобы сделать его простым, я называю несколько характеристик

    .
  • Написать - Написать характеристики
  • read - чтение характеристики

Чтобы понять, когда вы отправляете данные, вам нужно будет использовать write характеристики, а затем, когда устройство отвечает Android-приложение, будет вызывать READ Характеристики

Очень важный момент к примечанию IS Android BLE Stack позволяет вам писать характеристики по одному времени !!

Пример: если вы попытаетесь вызоветь характеристики записи дважды одновременно

gatt.writeCharacteristic(characteristics);
gatt.writeCharacteristic(characteristics);
.

Стек Android BLE не выдаст 2-й характеристики записи!

Другие советы

До setValue:characteristics.setValue(data) вы должны использовать gatt.setCharacteristicNotification(Char,true) для setNotification.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top