Android BLE, leer y escribir características
Actualmente estoy desarrollando BLE Android, y encuentro muchos problemas con las pilas BLE de Android.
Mi herramienta de desarrollo es Samsung Galaxy J con Android 4.3.
- Android Bluetooth Código de baja energía compatible con API> = 21 Y API <21
- Cómo identificar Eddystone URL y uid?
- Cómo forzar Bluetooth LE "Just Works" Emparejamiento en Android
- Android cómo leer varias características BLE con un PriorityQueue
- Detectar AC (encendido / apagado) y Ventana (abrir / cerrar) de CAR utilizando OBD
Quiero saber cómo puedo leer las características de la BLE y escribir las características (es como i verificar qué datos he recibido, y luego enviar otros datos utilizando el BLE)
Y tengo problemas serios de entender cómo funcionan las devoluciones de BLE de Android, no entiendo estas 5 funciones … y el manual no está claro, ¿Alguien buen alma puede explicar en forma simple ???
onCharacteristicWrite onCharacteristicRead onCharacteristicChanged onDescriptorRead onDescriptorWrite
Mi situación actual es, me las arreglé para leer los datos en onCharacteristicChanged () de devolución de llamada y luego verifiqué el recibido los datos que intento enviar los datos usando
characteristics.setValue(data) gatt.writeCharacteristic(characteristics)
Pero, la pila BLE de Android no está llamando onCharacteristicsWrite () y de hecho, Android sólo cuelga allí ..
Trato de google sobre Android BLE, no hay mucha información y sólo un montón de quejas sobre lo inestable de las pilas BLE es ……
- ¿Qué es "escritura confiable" en BLE?
- Android Bluetooth LE - Leer las características que no funcionan en Samsung
- La devolución de llamada de Gatt de BLuetooth no funciona con la nueva API de Lollipop
- ¿La API de Android 20 permite que los dispositivos compatibles con Bluetooth LE actúen como un dispositivo periférico?
- Android Lollipop BLE scan - obtener periféricos sin duplicaciones
- Fuerza de la señal de Bluetooth LE continua en Android
- Retrasos en aplicaciones de Android GraphView en tiempo real
- ¿Cómo obtener el nivel de la batería después de conectarse al dispositivo BLE?
Cada una de las devoluciones de llamada desde el Android BLE tiene sus funciones;
OnDescriptorRead y onDescriptorWrite
Esto se utiliza para escribir / leer los ajustes de configuración para el dispositivo BLE, algunos fabricantes pueden requerir enviar algunos datos al dispositivo BLE y reconocerlos leyendo, antes de que pueda conectarse al dispositivo BLE
OnCharacteristicWrite
Esto se utiliza para enviar datos al dispositivo BLE, normalmente en modo de datos para el dispositivo BLE. Esta llamada de llamada se llama cuando escribe
gatt.writeCharacteristic(characteristics);
OnCharacteristicRead
Se utiliza para leer datos del dispositivo BLE. La llamada de retorno se llama cuando se escribe este código
gatt.readCharacteristic(characteristics);
OnCharacteristicChanged
Esta llamada de llamada se llama cuando está intentando enviar datos usando writeCharacteristic (características) y el dispositivo BLE responde con algún valor.
Por lo general, un dispositivo BLE tiene pocas características, para hacerlo simple, nombro algunas características
- ESCRIBIR – escribe las características
- Leer – leer Características
Para dejarlo en claro, al enviar datos, necesitará usar las características de WRITE y cuando el dispositivo BLE responda, la aplicación de Android llamará a las características READ
Un punto muy importante a tener en cuenta es Android BLE pila le permite escribir las características de una en una sola 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ª!
Antes de setValue:characteristics.setValue(data)
debe usar gatt.setCharacteristicNotification(Char,true)
para setNotification
.
- Android: measureText () Retorno de píxeles basados en píxeles escalados
- ¿Cómo saber si mi aplicación Android es visible?