tutorial studio low example devices ble android bluetooth-lowenergy android-bluetooth

studio - Android BLE, características de lectura y escritura.



bluetooth low energy android example (2)

Actualmente estoy desarrollando Android BLE y tengo muchos problemas con las pilas de Android BLE.

Mi herramienta de desarrollo es Samsung Galaxy J con Android 4.3.

Quiero saber cómo puedo leer las características del BLE y escribirlas (es como que verifico qué datos he recibido y luego envío otros datos utilizando el BLE)

y tengo un serio problema para entender cómo funcionan las devoluciones de llamada de Android BLE, no entiendo estas 5 funciones ... y el manual no está claro, ¿alguien de bien puede explicar de forma sencilla?

onCharacteristicWrite onCharacteristicRead onCharacteristicChanged onDescriptorRead onDescriptorWrite

Mi situación actual es que logré leer los datos en la devolución de llamada onCharacteristicChanged () y luego verifiqué los datos recibidos. Intento enviar los datos utilizando

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

Pero, la pila de BLE de Android no llama a CaracterísticaEscribe () y, de hecho, Android simplemente cuelga allí.

Intento buscar en Google sobre Android BLE, no hay mucha información y solo un montón de quejas sobre cuán inestables son las pilas BLE ......


Antes de setValue:characteristics.setValue(data) debe usar gatt.setCharacteristicNotification(Char,true) para setNotification .


Cada una de las devoluciones de llamada del BLE de Android tiene sus funciones;

onDescriptorRead y onDescriptorWrite

Esto se usa para escribir / leer los ajustes de configuración para el dispositivo BLE, algunos fabricantes pueden requerir enviar algunos datos al dispositivo BLE y reconocerlos mediante la lectura, antes de poder conectarse al dispositivo BLE.

en CaracterísticaEscriba

Esto se utiliza para enviar datos al dispositivo BLE, generalmente en modo de datos para el dispositivo BLE. Esta llamada se llama cuando escribes

gatt.writeCharacteristic(characteristics);

enCaracterísticaLeer

Esto se usa para leer datos del dispositivo BLE. Se llama a la devolución de llamada cuando escribe este código

gatt.readCharacteristic(characteristics);

onCharacteristicChanged

Se llama a esta devolución de llamada cuando intenta enviar datos utilizando writeCharacteristic (características) y el dispositivo BLE responde con algún valor.

Por lo general, un dispositivo BLE tiene pocas características, para simplificarlo, nombro algunas características

  • ESCRIBIR - escribir características
  • LEER - leer caracteristicas

Para que quede claro, cuando envíe datos, deberá usar las características de ESCRITURA y luego, cuando el dispositivo BLE responda, la aplicación de Android llamará las características de LEER

Un punto muy importante a tener en cuenta es que la pila BLE de Android le permite escribir características una por vez.

Ejemplo: SI intenta llamar a las características de escritura dos veces al mismo tiempo

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

La pila BLE de Android no emitirá las características de escritura 2!