Je ne connais rien à cet appareil, donc ma réponse sera assez générale.
Oui, vous pouvez diffuser les données de votre capteur par le biais de la publicité, de cette manière, les autres appareils ne doivent pas se connecter pour voir la valeur du capteur.
Voici le format de données publicitaires indiqué dans la spécification de base BLE 4.2, Vol 3, partie C, 11.1.
Voici ce qui vous intéressant est la dernière partie imbriquée, le type AD et AD Data, et bien sûr la longueur de ceux-ci.
Fondamentalement, ce que vous voulez faire est, si vous avez une valeur de 4 octets, de définir une longueur de 5 (octets), 1 pour le type et 4 pour les données.
Le type lui-même doit être l'un des types de GAP définis ici: Generic Access Profile. Pour annoncer vos propres données, vous devez choisir le dernier, Données spécifiques du fabricant, qui est 0xFF.
Concernant votre code source et la pile TI que vous utilisez je ne peux pas vraiment vous aider, si cela fonctionne de la même façon que les autres piles que je l'ai utilisé, il est très probable que:
- Vous peut mettre vos données advertData []
- le type GAP ressemble GAP_ADTYPE_MANUFACTURER_SPECIFIC
Bien sûr, la longueur de la structure AD doit être spécifié quelque part. Que vous spécifiiez la longueur du paquet entier ou que vous indiquiez à la pile la longueur de vos données (dans advertData) et qu'il calcule (ajoutez 1) la longueur de la structure AD.
Très utile pour expliquer les choses! advertData est la taille maximale = 31 octets pour l'appareil. Je vais voir si je peux reconstituer un exemple de travail. – ayman
31 octets est la taille globale du paquet, à l'intérieur duquel vous pouvez avoir une ou plusieurs structures AD.Donc, s'il y a suffisamment d'espace, vous pouvez toujours annoncer l'UUID de certains services, certains drapeaux ou noms locaux. De toute façon je ne sais pas si c'est géré par la pile ou par toi-même. Et c'est vrai puisque la longueur est présente dans le protocole, donc dans advertData, vous n'avez probablement pas besoin de le spécifier ailleurs, il sera analysé. – Tim
Oh et c'est écrit sur l'image du Core Spec mais au cas où vous ne savez pas, vous pouvez mettre 31 octets de plus dans la réponse de la publicité. Cette réponse est envoyée si le périphérique du scanner demande plus de données. Mais la spécification de base indique également 'Alors que les données d'utilisateur de diffusion envoyées comme partie des paquets de publicité est généralement de nature dynamique, la réponse de balayage données est généralement de nature statique.'. (Vol1, Part A, 4.2.2.2) – Tim