Table des matières:

Analyse du système Bluetooth Windows - une approche SensorTag: 7 étapes (avec images)
Analyse du système Bluetooth Windows - une approche SensorTag: 7 étapes (avec images)

Vidéo: Analyse du système Bluetooth Windows - une approche SensorTag: 7 étapes (avec images)

Vidéo: Analyse du système Bluetooth Windows - une approche SensorTag: 7 étapes (avec images)
Vidéo: Invite de Commande Windows - Tutoriel Complet 2024, Juillet
Anonim
Analyse du système Bluetooth Windows - une approche SensorTag
Analyse du système Bluetooth Windows - une approche SensorTag

Dans ce qui suit, je vais faire une analyse du système d'exploitation (OS) Windows du point de vue de la communication avec les appareils Bluetooth Low Energy - dans notre cas avec différents types de SensorTags: Thunderboard React, Thunderboard Sense (tous deux produits par Silicon Labs Company), CC2650STK et CC2541DK (tous deux développés par Texas Instruments Company).

Étape 1: Analyse du système Bluetooth Windows – une approche SensorTag

Analyse du système Bluetooth Windows - une approche SensorTag
Analyse du système Bluetooth Windows - une approche SensorTag

Dans ce qui suit, je vais faire une analyse du système d'exploitation (OS) Windows du point de vue de la communication avec les appareils Bluetooth Low Energy - dans notre cas avec différents types de SensorTags: Thunderboard React, Thunderboard Sense (tous deux produits par Silicon Labs Company), CC2650STK et CC2541DK (tous deux développés par Texas Instruments Company).

Dans ce qui suit, je vais analyser Windows 7, Windows 8.1 et les versions suivantes de Windows 10:

· Mise à jour anniversaire (publiée le 2 août 2016; fin du support: provisoirement en mars 2018), · Creators Update (publié le 5 avril 2017; fin du support: provisoirement en septembre 2018) et

· Fall Creators Update (publié le 17 octobre 2017; fin du support: provisoirement en mars 2019).

L'analyse se fera selon les points de vue suivants:

1. La capacité du système d'exploitation (OS) à s'apparier avec un SensorTag;

2. La possibilité d'obtenir des données d'accès générique (ce service est obligatoire);

3. La possibilité d'obtenir des informations sur l'appareil (ce service expose des informations sur le fabricant et/ou le fournisseur liées à un SensorTag spécifique);

4. La possibilité d'obtenir les données du SensorTag, en utilisant l'approche de lecture et

5. La possibilité d'obtenir les données du SensorTag, en utilisant l'approche de notification.

Tous les tests ont été effectués à l'aide de la version 9.7.8.0 de l'application blessTags. L'application blessTags a été conçue en prenant en charge le SDK Windows – Bluetoothapis. Des fonctions telles que BluetoothGATTGetCharacteristicValue, BluetoothGATTGetDescriptorValue, BluetoothGATTGetServices ou BluetoothGATTSetCharacteristicValue ont été utilisées.

Cette application, l'application blessTags (BLE SensorTags), peut être téléchargée à partir des applications du Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Pour plus d'informations, des démos, des applications pratiques, des exemples, etc. veuillez visiter le blog suivant:

Étape 2: Windows 10 - Mise à jour anniversaire - Version 1607

Image
Image

Cette version du système d'exploitation Windows 10 est la meilleure, du point de vue des appareils Bluetooth Low Energy. Il peut s'appairer sans problème avec tous les SensorTags (quelle que soit la version du logiciel qui s'exécute dessus), avec lesquels l'application blessTags sait fonctionner (CC2650STK, Thunderboard React, Thunderboard Sense et CC2541DK), et toutes les informations des services Bluetooth Get Generic L'accès et l'obtention des informations sur l'appareil sont acquis sans aucun problème.

En analysant la vitesse d'acquisition des données (pour les appareils CC2650STK et CC2541DK) à l'aide du mécanisme de notification et de lecture du transfert de données, nous pouvons observer ce qui suit:

1. grâce au mécanisme de notification, nous pouvons obtenir des données de tous les capteurs (huit) de 150 [ms] à 150 [ms] sans aucun problème;

2. au lieu de cela, lorsque nous définissons le temps d'acquisition à 150 [ms] et que nous utilisons le mécanisme de lecture des données - dans la situation la plus heureuse, nous obtenons 713 [ms] et dans le pire des cas, nous obtenons 840 [ms].

Si nous analysons Thunderboard React et Thunderboard Sense, nous obtiendrons les résultats équivalents - ils fonctionnent sans aucun problème dans l'environnement Windows 10 Anniversary Update.

En effet, tous les films de présentation des fonctions principales de l'application blessTags et des différentes fonctionnalités spécifiques (comme les Gadgets) ont été réalisés avec le support de la mise à jour anniversaire de Windows 10.

Étape 3: Windows 10 - Mise à jour des créateurs - Version 1703

Windows 7
Windows 7

La version Creators Update de Windows 10 est le pire système d'exploitation (OS) du point de vue des appareils Bluetooth Low Energy.

Presque rien ne fonctionne. Microsoft a reconnu que la Creators Update a cassé Bluetooth Low Energy (référence 1 et référence 2). La société Microsoft a promis un correctif dès que possible. Mais depuis lors, ils ont publié une version mise à jour de Windows (Fall Creators Update) et rien ne s'est passé - jusqu'à présent, dans la version Windows 10 Creators Update, le Bluetooth Low Energy ne fonctionne toujours pas.

Il existe un grand nombre de messages sur des forums dans lesquels différentes personnes se plaignent de différents types d'appareils Bluetooth qui cessent de fonctionner après la mise à niveau vers Creators Update (voir ici, voir ici, voir ici, voir ici, etc.).

Les résultats, je vais vous le montrer tout de suite, ont été obtenus après de nombreux tests: (1) sur un PC de bureau équipé d'un dongle USB Bluetooth CSR4.0 (CSR8510 A10) et (2) sur un ordinateur portable Dell Inspiron P66F avec un appareil Bluetooth LE intégré. Je sais qu'il existe de nombreuses solutions sur Internet pour résoudre plusieurs types de problèmes Bluetooth. J'ai presque tout essayé, mais rien ne fonctionnait (mettre à jour le pilote Bluetooth, exécuter l'utilitaire de résolution des problèmes Windows, désactiver et activer les services liés à Bluetooth, etc.)

Alors, présentons les résultats:

1. CC2650STK:

une. Sur la version 1.40 du firmware, l'appairage de l'appareil SensorTag avec Windows est impossible (j'ai répété le processus plusieurs fois, au moins 8-10 fois, j'ai allumé et éteint le Bluetooth et j'ai réessayé - les résultats étaient les mêmes: il était impossible de ajouter cet appareil).

b. Sur la version 1.20 du firmware, le PC a découvert le SensorTag et j'ai pu coupler le SensorTag avec le PC.

De plus, j'ai pu obtenir des données d'accès générique. Mais, au service Get Device Information, sur 9 caractéristiques, seules 6 ont répondu et c'est uniquement à partir d'elles qu'il a été possible d'obtenir des informations.

Au lieu de cela, je ne peux pas configurer l'appareil et je ne peux pas récupérer les données des capteurs via le mécanisme de lecture ou via les notifications.

2. Thunderboard réagir:

Le système d'exploitation a un comportement étrange lorsque le processus d'appariement est lancé. Dans la liste des appareils découverts, les SensorTag apparaissent et disparaissent (avec un délai de 1 … 1,5 s). Enfin, lorsqu'un clic de souris réussit sur le SensorTag, le processus d'appairage s'accomplit et les LED du Thunderboard React (les bleues et les vertes) ont une période pendant laquelle elles clignotent consécutivement dans un mode atypique.

La lecture des caractéristiques du Generic Access Service (0x1800) peut se faire sans problème, mais la lecture du Device Information Service (0x180A) échoue sur les quatre caractéristiques existantes.

Paramétrage des capteurs (intégrés sur SensorTag), du mode d'acquisition des données (sur Thunderboard React vous n'avez que la possibilité suivante: (1) obtenir des données via la notification de 3 capteurs et (2) lire les données des quatre autres capteurs) est impossible. Par conséquent, l'impossibilité d'obtenir les données réelles des capteurs résulte directement de là.

3. Sensation du Thunderboard:

Le même processus de pulsation, observé pour Thunderboard React, s'est avéré être également existant pour Thunderboard Sense - lorsque nous voulons réaliser le processus d'appariement. Mais ici, les choses sont encore pires: après l'appairage, le programme blessTag ne peut pas détecter le SensorTag. Donc, pas d'appareil actif - pas d'entité d'où l'application blessTags pour acquérir les données.

4. CC2541DK:

Le comportement est identique à celui du CC2650STK (firmware version 1.40). A chaque tentative de connexion, vous obtiendrez le message d'erreur suivant: "Essayez de nouveau de connecter votre appareil".

Donc, en conclusion, au sein de cette version de Windows 10 (Creators Update), il est impossible de communiquer avec l'un des quatre types de SensorTags indiqués ci-dessus. Par conséquent, je mentionne (encore une fois) qu'ici j'ai utilisé la même version du logiciel que j'ai également utilisé dans tous les tests effectués sur Windows 10 Anniversary Update.

Étape 4: Windows 10 – Fall Creators Update – Version 1709

Image
Image

Cette version de Windows 10 (1709 - OS Build 16299.19) est un énorme pas en avant, par rapport à Windows 10 Creators Update (étaient sur BLE presque rien ne fonctionne), mais a encore un long chemin à parcourir pour atteindre le niveau de Windows 10 Anniversary Update (1607) système d'exploitation

Mais voyons pourquoi j'ai fait cette déclaration:

1. CC2650STK (micrologiciel version 1.40) & CC2541DK:

Je traiterai ici simultanément ces deux appareils car leur comportement lié au système d'exploitation Windows 10 (1709) est similaire.

L'opération d'appairage et la lecture, depuis les services Generic Access et Device Information, fonctionnent parfaitement sans aucun problème.

Les problèmes ne surviennent que lorsque nous voulons lire les informations des capteurs. Le mécanisme de transfert de données via les notifications ne fonctionne pas du tout.

Le seul moyen d'obtenir des données des capteurs, intégrés dans le SensorTag, est d'utiliser le mécanisme de lecture directe de l'appareil. Cette approche présente deux problèmes: (1) une vitesse de transfert de données inférieure (comme nous l'avons montré ci-dessus) et (2) si tous les capteurs acceptent l'une des deux méthodes de transfert de données (par lecture et notification), les boutons du SensorTag peuvent être interrogé uniquement par le biais du mécanisme de notification. Grâce à cette "fonctionnalité" de l'OS Windows 10 (1709), l'application blessTags implémente, à partir de la version 9.7.8.0, la méthode de lecture pour l'acquisition des données également.

Un problème apparaît avec le SensorTag CC2650STK ayant la version de firmware 1.20. Si le processus d'appariement et de lecture des données à partir du service d'accès générique fonctionne très bien, le processus de lecture à partir des services d'informations sur l'appareil n'est pas possible. De plus, la lecture des capteurs (depuis ce SensorTag avec cette version de firmware) ne fonctionne par aucun des deux mécanismes possibles (lecture ou notification).

2. Thunderboard réagir:

Dans le même mode que dans Windows 10 Creators Update, le SensorTag apparaît et disparaît lorsque nous voulons ajouter un nouveau périphérique Bluetooth. Le même comportement peut être mis en évidence dans le centre d'action sur le bouton d'action rapide de Bluetooth si "Non connecté" et "Thunderboard React" sont affichés à plusieurs reprises (veuillez voir dans le film suivant ce processus à partir de l'index de temps 5,14 s). Immédiatement, nous pouvons conclure que Thunderboard React est coupable, principalement en raison d'une mise en œuvre défectueuse du mécanisme publicitaire par les ingénieurs de Silicon Labs. Mais, en cherchant sur Internet, nous remarquerons que d'autres utilisateurs ont signalé le même problème à d'autres types d'appareils BLE, après avoir installé les Fall Creators Mettre à jour - par exemple, regardez ce film sur YouTube.

Après avoir couplé le SensorTag, l'application blessTags n'est pas en mesure de trouver l'appareil Thunderboard React. Donc, à ce stade, rien ne fonctionne: l'accès générique et les services d'informations sur l'appareil ou l'acquisition de données à partir des capteurs intégrés sur Thunderboard React SensorTag.

3. Sensation du Thunderboard:

Le mode de comportement est similaire à celui du Thunderboard React. Cet appareil Bluetooth s'affiche et disparaît à plusieurs reprises. Lorsque le processus d'appariement a réussi, il est possible de récupérer les données du service d'accès générique. Mais à partir de là, plus rien ne fonctionne.

En conclusion, jusqu'à présent sur Windows 10 Fall Creators Update (1709, build 16229.19), seuls les SensorTags produits par TI (CC2650STK et CC2541DK) fonctionnent. De plus, ils ne fonctionnent qu'en mode lecture. Mais attention ! Seule la version 1.40 du micrologiciel CC2650STK fonctionnera dans ce mode. Malheureusement, lorsque vous achetez un CC2650STK, vous avez de très grandes chances de prendre un appareil avec la révision du firmware 1.20. Donc, pour pouvoir communiquer avec un tel type de SensorTag une mise à jour il faut au moins la version firmware 1.40.

Associé à cette étape, je présente un film qui prouve toutes ces déclarations faites ci-dessus pour Windows 10 Fall Creators Update.

Depuis la première version de Windows 10 Fall Creators Update (build 16229.19), le 17 octobre 2017, il n'y a eu aucune amélioration ou correction d'erreurs liées à Bluetooth LE jusqu'à KB4054517 (publié le 12 décembre 2017). Dans KB4054517 (OS Build 16299.125), il y a un changement clé sur Bluetooth LE (voir ici): « Résout le problème avec les appareils Bluetooth personnalisés qui ne prennent pas en charge la liaison ». Étant donné que ce message est très cryptique, j'ai décidé de reprendre toutes mes analyses effectuées jusqu'à présent et de voir s'il y a des améliorations par rapport à la première version de Windows 10 Fall Creators Update (build 16229.19). … et une petite surprise, en ce moment je suis en mesure d'obtenir: (1) les données de Thunderboard Sense (à partir des capteurs intégrés sur le SensorTag mais uniquement via le mécanisme de lecture) et (2) toutes les informations des services d'accès générique et d'informations sur les appareils. Il n'y a pas d'autres améliorations.

Étape 5: Windows 8

En tant que premier système d'exploitation Microsoft avec support BLE, l'implémentation est satisfaisante, mais elle est loin d'être excellente. Les seuls appareils qui fonctionnent avec ce système d'exploitation sont CC2650STK et CC2541DK.

En réglant le temps d'acquisition sur 150 [ms], pour le CC2650STK, nous pouvons obtenir les données (de tous les capteurs intégrés), en respectant le taux d'échantillonnage de 150 [ms], via le mécanisme de notification sans aucun problème. Malheureusement, en utilisant le mécanisme de lecture CCC2650STK, nous pouvons obtenir des données (de tous les capteurs) avec une période de 2 secondes.

La situation empire quand on parle de CC2541DK. Grâce au mécanisme de notification, les données sont obtenues avec une période de 0,4 … 0,6 seconde. En utilisant le mécanisme de lecture, nous pouvons récupérer les données avec une période fluctuante de 2,8 … 3 secondes. Les conditions sont les mêmes: période d'acquisition 150 [ms] de tous les capteurs embarqués sur le SensorTag CC2541DK.

Étape 6: Windows 7

La société Microsoft a ajouté la prise en charge de la pile Bluetooth Low Energy (BLE) à partir du système d'exploitation Windows 8. Ils ont fourni une API qui permet aux applications d'accéder aux appareils BLE.

Mais Microsoft n'a pas porté les API BLE sur Windows 7. La pile intégrée de Windows 7 ne prend en charge que Bluetooth version 2.1/3.0, il n'y a pas de support pour BLE (4.0, 4.1 ou 4.2). Ainsi, du point de vue d'un développeur, il est impossible de communiquer, sous Windows 7, avec un appareil BLE utilisant la pile de Windows 7.

La société TI dispose d'un programme appelé BLE Device Monitor qui est capable: (1) de fonctionner sous Windows 7 et (2) de communiquer avec un SensorTag. Mais vous devez utiliser pour cela un dongle USB spécial (par exemple CC2540 Bluetooth Low Energy USB). Si le code source du dongle USB est gratuit, le code source du BLE Device Monitor n'est pas disponible - il est uniquement destiné à l'usage interne de la société TI.

Étape 7: Conclusions

Conclusion
Conclusion

La mise à jour anniversaire de Windows 10 (version 1607) est la meilleure version de Windows jamais réalisée par Microsoft du point de vue des appareils Bluetooth Low Energy (BLE) – SensorTags dans notre cas. Évidemment, cela est également dû au nombre considérable d'améliorations qui ont eu lieu au niveau de Bluetooth LE dans les versions de système d'exploitation suivantes (voir pour plus d'informations: https://support.microsoft.com/en-us/help/4000825): 14393.51, 14393.105, 14393.189, 14393.222, 14393.321, 14393.351, 14393.726 et 14393.1083.

L'application blessTags (BLE SensorTags) peut être téléchargée à partir des applications Windows Store: https://www.microsoft.com/store/apps/9p054xsjjr1n. Pour plus d'informations, des démos, des applications pratiques, des exemples, etc. veuillez visiter le blog suivant:

En synthétisant tous les résultats ci-dessus, nous obtiendrons le tableau associé à cette étape.

Conseillé: