43 votes

Bluetooth Low Energy: écoute des notifications/indications dans linux

J'essaie de communiquer avec un module BLE à travers une machine Linux (le module est en cours d'exécution d'un profil de fréquence cardiaque). Jusqu'à présent, j'ai été en mesure de faire tout ce dont j'ai besoin, sauf à l'écoute des notifications et des indications (par exemple, l'écoute de la notification de mesure de la fréquence cardiaque). J'utilise la version 3.5 et bluez-5.3.

Commandes de secours utilisées jusqu'à présent :

Commandes échouées :

Toute aide est grandement appréciée.

50voto

Tim Tisdall Points 3153

Essayez ceci...

Exécutez gatttool -b <MAC Address> --interactive comme vous l'avez fait avant. Vous aurez une invite de commandes, puis vous tapez connect. Vous devriez voir un CON dans le message de confirmation indiquant que vous avez connecté à l'appareil. Puis tapez char-read-uuid 2902. Vous devriez obtenir une liste de tous les CCC (Client Caractéristique de Configuration) les attributs de l'appareil. Vous pouvez essayer de régler tous 0100 pour obtenir des notifications, 0200 pour les indications, les 0300 pour les deux, ou 0000 pour tout. Type help pour voir toutes les commandes et de leurs arguments.

Je n'ai malheureusement pas LE périphérique avec moi pour vérifier ma mémoire. Laissez-moi savoir si vous avez encore des problèmes, et je peux vérifier les choses avec un appareil quand je suis capable de les.

11voto

jaredwolff Points 132

Ressemble à l'ancienne version de Bluez (hcitool & gatttool) ne vous permet pas de vous écrire afin de Bluetooth de Basse Énergie des appareils. J'ai fini par installer une version plus récente (5.17 de cette écriture) pour activé les notifications, etc.

Pour obtenir une liste de tous vos poignées vous pouvez exécuter les opérations suivantes:

char-desc

Vous pouvez ensuite lire à partir d'une poignée:

char-read-hnd 0x000e

(au-dessus de la poignée est pour mon nrf51822 niveau de la batterie)

Lorsque la poignée est à partir de la liste que vous avez obtenu d' char-desc.

Tout comme Tim dit ci-dessus, vous pouvez écrire à la notification poignée liée à obtenir des indications ou des notifications. (dans mon cas, mon appareil présentait des notifications)

char-write-req 0x000f 0100

(au-dessus de la poignée est pour mon nrf51822 niveau de la batterie de notification)

Dans mon cas, la notification de batterie ne devrait pas envoyer quoi que ce soit jusqu'à ce que le niveau de la batterie a changé.

J'ai écrit un assez long billet de blog sur l'obtention d'installation avec Bluez. Vous pouvez le trouver ici: démarrer avec le Bluetooth Low Energy hésitez pas à consulter!

6voto

Fred.Taiwan Points 11

Réponse finale pour la lecture de la fréquence cardiaque sur Mio Alpha :

2voto

RobinSingh Points 51

pour conserver la valeur CCC dont vous avez besoin pour jumeler les deux appareils. une fois qu'ils sont appariés, vous n'avez pas besoin de définir le CCC à nouveau. sur la prochaine reconnexion, il trouvera le paramètre , qui sera enregistré dans le flashc de Key fob. essayer de configurer après l'appariement via SMP.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X