Android Ble, чтение и писать характеристики
-
20-12-2019 - |
Вопрос
Я в настоящее время разрабатываю 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-приложение, будет вызывать
Очень важный момент к примечанию IS Android BLE Stack позволяет вам писать характеристики по одному времени !!
Пример: если вы попытаетесь вызоветь характеристики записи дважды одновременно
gatt.writeCharacteristic(characteristics);
gatt.writeCharacteristic(characteristics);
.
Стек Android BLE не выдаст 2-й характеристики записи!
Другие советы
До setValue:characteristics.setValue(data)
вы должны использовать gatt.setCharacteristicNotification(Char,true)
для setNotification
.