Je développe actuellement Android BLE, et rencontre beaucoup de problèmes avec les piles Android BLE ..
Mon outil de développement est Samsung Galaxy J avec Android 4.3.
Je veux savoir comment lire une caractéristique du BLE et écrire les caractéristiques (c'est comme si je vérifiais les données que j'avais reçues, puis j'envoyais d'autres données en utilisant le BLE)
et j'ai de sérieux problèmes à comprendre comment les callbacks Android BLE fonctionnent, je ne comprends pas ces 5 fonctions ... et le manuel n'est pas clair, quelqu'un de bon âme peut-il l'expliquer sous une forme simple ???
onCharacteristicWrite
onCharacteristicRead
onCharacteristicChanged
onDescriptorRead
onDescriptorWrite
Ma situation actuelle est, j'ai réussi à lire les données dans le rappel onCharacteristicChanged () puis j'ai vérifié les données reçues, j'essaie d'envoyer les données en utilisant
characteristics.setValue(data)
gatt.writeCharacteristic(characteristics)
Mais, la pile Android BLE n'appelle pas onCharacteristicsWrite () et en fait, Android se bloque juste là ..).
J'essaie de google sur Android BLE, il n'y a pas beaucoup d'informations et seulement un tas de plaintes sur l'instabilité des piles BLE ......
Chacun des rappels du Android BLE a ses fonctions;
Ceci est utilisé pour écrire/lire les paramètres de configuration pour le périphérique BLE, certains fabricants peuvent avoir besoin d'envoyer certaines données au périphérique BLE et de les accuser réception en les lisant, avant de pouvoir vous connecter au périphérique BLE
Il est utilisé pour envoyer des données au périphérique BLE, généralement en mode données pour le périphérique BLE. Ce rappel est appelé lorsque vous tapez
gatt.writeCharacteristic(characteristics);
Ceci est utilisé pour lire les données du périphérique BLE Le rappel est appelé lorsque vous écrivez ce code
gatt.readCharacteristic(characteristics);
Ce rappel est appelé lorsque vous essayez d'envoyer des données à l'aide de writeCharacteristic (caractéristiques) et le périphérique BLE répond avec une certaine valeur.
Habituellement, un appareil BLE a peu de caractéristiques, pour simplifier, je nomme quelques caractéristiques
Pour être clair, lorsque vous envoyez des données, vous devrez utiliser les caractéristiques ÉCRIRE , puis lorsque l'appareil BLE répond Android = l'application appellera LIRE caractéristiques
Un point très important à noter est Android La pile BLE vous permet d'écrire les caractéristiques une à la fois uniquement !!
Exemple: SI vous essayez d'appeler les caractéristiques d'écriture deux fois en même temps
gatt.writeCharacteristic(characteristics);
gatt.writeCharacteristic(characteristics);
La pile Android BLE n'émettra pas les 2e caractéristiques d'écriture!