BLUETOOTH_BLE - Kasimashi/Systemes-embarques GitHub Wiki
Le Bluetooth Low Energy (BLE)
Le Bluetooth Low Energy (BLE), aussi appelé Bluetooth LE ou Bluetooth Smart, est une technologie de communication sans fil à faible consommation d'énergie, conçue pour des appareils qui nécessitent une connectivité mais qui ne peuvent pas se permettre de consommer beaucoup d'énergie, comme les capteurs, les dispositifs portables (wearables), ou les objets connectés (IoT).
Introduction
1. Caractéristiques principales du Bluetooth Low Energy
- Faible consommation d'énergie : BLE consomme bien moins d'énergie que le Bluetooth classique (Bluetooth BR/EDR). Cette réduction de consommation est obtenue grâce à des périodes de veille plus longues et des transmissions plus courtes.
- Portée : BLE a une portée de communication qui peut aller de quelques mètres à plusieurs dizaines de mètres, selon la puissance d'émission, la configuration et l'environnement.
- Vitesse de transmission : BLE permet des débits de transfert de données relativement faibles par rapport à la version classique du Bluetooth, mais suffisants pour les applications qui nécessitent des transmissions simples, comme les capteurs ou les appareils de suivi.
- Connectivité : BLE permet une connexion à des appareils à faible coût et faible consommation, comme les smartphones, les tablettes, les dispositifs médicaux, les montres connectées, etc.
2. Cas d’utilisation typiques
- Objets connectés (IoT) : BLE est souvent utilisé dans des applications IoT comme les capteurs environnementaux (température, humidité), les dispositifs de suivi (suivi des stocks, localisation), les serrures intelligentes, et plus encore.
- Dispositifs portables (wearables) : Montres connectées, bracelets de fitness, capteurs de santé.
- Santé et bien-être : BLE est souvent utilisé dans les appareils médicaux pour la surveillance à distance des signes vitaux, comme les moniteurs de glucose ou les appareils de mesure de la pression artérielle.
- Maison intelligente : BLE est utilisé pour les systèmes de contrôle à distance des objets connectés dans la maison, comme les thermostats, les lumières, les appareils électroménagers, etc.
3. Architecture BLE
- Périphériques et centres : Un appareil BLE peut agir soit comme un périphérique, soit comme un centre. Le périphérique envoie des données (par exemple un capteur), tandis que le centre les reçoit (comme un smartphone ou une tablette).
- Profil et Services : BLE utilise une architecture basée sur des profils et des services. Un profil définit la manière dont un périphérique interagit avec d'autres périphériques, tandis qu'un service représente un ensemble de fonctionnalités.
- Publicité (Advertising) : BLE utilise un mécanisme de publicité pour annoncer sa présence. Les périphériques envoient des paquets de publicité pour permettre aux centres de découvrir leur existence sans établir immédiatement une connexion complète.
4. Avantages du Bluetooth Low Energy
- Longue durée de vie de la batterie : Les appareils utilisant BLE peuvent fonctionner pendant des mois, voire des années, avec une petite batterie, ce qui est crucial pour des dispositifs comme les capteurs et les objets connectés.
- Coût réduit : La simplicité et la faible consommation d'énergie font de BLE une technologie bon marché à intégrer dans des appareils à faible coût.
- Interopérabilité : BLE est compatible avec une large gamme d'appareils, y compris les smartphones, tablettes et autres périphériques compatibles.
5. Comparaison avec le Bluetooth classique
- Le Bluetooth classique est conçu pour des débits de transmission plus élevés et une consommation d'énergie plus importante, adapté aux applications nécessitant une bande passante plus large, comme les écouteurs sans fil ou les transferts de fichiers.
- BLE, quant à lui, est optimisé pour des applications nécessitant une faible bande passante et une faible consommation d'énergie, comme les capteurs, les balises ou les appareils portables.
6. Normes et évolutions
- BLE fait partie de la spécification Bluetooth 4.0 et au-delà, avec des améliorations dans les versions successives (Bluetooth 4.1, 4.2, 5.0 et 5.1, etc.).
- Le Bluetooth 5.0 a introduit des améliorations majeures comme une portée accrue (jusqu’à 240 mètres en conditions idéales) et des débits plus rapides, tout en maintenant la faible consommation d’énergie.
Conclusion
En résumé, Bluetooth Low Energy est une solution idéale pour des applications où la connectivité sans fil à faible consommation d'énergie est essentielle, tout en offrant une portée modérée et des débits de transmission adaptés aux besoins des objets connectés.
Le Bluetooth Low Energy (BLE) : Services et Caractéristiques
Le Bluetooth Low Energy (BLE) repose sur une architecture spécifique qui permet la communication entre les appareils en utilisant des services et des caractéristiques. Voici une explication détaillée des concepts clés liés à BLE, notamment les services et les caractéristiques.
1. Architecture de BLE : GATT (Generic Attribute Profile)
Le modèle de communication BLE repose sur le GATT (Generic Attribute Profile), qui définit la manière dont les données sont structurées et échangées entre les appareils BLE. Dans ce modèle, les appareils BLE peuvent avoir des services et des caractéristiques qui permettent de structurer et de manipuler les données échangées.
a. Services
Un service dans BLE représente un ensemble de fonctionnalités ou de capacités offertes par un appareil. Il s'agit d'un regroupement logique de caractéristiques. Par exemple, un appareil de santé peut avoir un service de mesure de la fréquence cardiaque ou un service de suivi du niveau d'oxygène.
-
Chaque service est identifié par un UUID (Identifiant Unique Universel). Il existe des services standardisés dans BLE (par exemple, le service de fréquence cardiaque, le service de température, etc.), mais il est aussi possible de définir des services personnalisés en utilisant des UUID personnalisés.
-
Un service standard est généralement défini dans les spécifications Bluetooth et représente une fonction bien connue (par exemple, le service de batterie, de santé, ou de positionnement).
-
Un service personnalisé peut être créé pour des applications spécifiques, comme une solution propriétaire de mesure de données ou de gestion d'un objet connecté.
b. Caractéristiques
Les caractéristiques sont des entités qui contiennent une valeur (par exemple, la température, le niveau de batterie, la fréquence cardiaque) et qui peuvent être lues ou écrites par un autre appareil. Chaque caractéristique fait partie d'un service.
-
Chaque caractéristique a un UUID associé, qui permet de l'identifier de manière unique. Les caractéristiques standardisées sont définies dans les spécifications Bluetooth (par exemple, la caractéristique de fréquence cardiaque dans le service de fréquence cardiaque).
-
Les caractéristiques peuvent avoir des descripteurs (des informations supplémentaires), comme la manière dont la valeur doit être interprétée.
-
Les caractéristiques peuvent être de type lecture (pour récupérer une valeur), écriture (pour envoyer des données), ou notification/indication (pour notifier un appareil central d'un changement de valeur).
2. Communication : GATT Client et GATT Server
Le modèle GATT implique deux rôles principaux :
-
GATT Server : C'est l'appareil qui héberge les services et les caractéristiques. Il expose ses services et caractéristiques à d'autres appareils. Par exemple, un capteur de température peut être un GATT Server qui offre un service de température avec une caractéristique qui contient la valeur actuelle de la température.
-
GATT Client : C'est l'appareil qui accède aux services et caractéristiques du GATT Server. Le client peut lire ou écrire des caractéristiques, ou bien s'abonner à des notifications. Par exemple, un smartphone ou une montre connectée peut être un GATT Client qui interagit avec un GATT Server pour lire la température.
3. Exemples de Services et Caractéristiques
Voici quelques exemples de services et de caractéristiques BLE couramment utilisés :
a. Service de Fréquence Cardiaque
- Service UUID :
0x180D
- Caractéristiques :
- Fréquence Cardiaque :
0x2A37
(valeur de la fréquence cardiaque en battements par minute) - Type de mesure de la fréquence cardiaque :
0x2A38
(indique le type de mesure : réel, maximal, etc.)
- Fréquence Cardiaque :
b. Service de Batterie
- Service UUID :
0x180F
- Caractéristiques :
- Niveau de batterie :
0x2A19
(valeur de la batterie exprimée en pourcentage ou en volts)
- Niveau de batterie :
c. Service de Positionnement (Location)
- Service UUID :
0x1819
- Caractéristiques :
- Position :
0x2AA5
(données liées à la localisation GPS ou à la position dans un espace défini)
- Position :
d. Service de Température
- Service UUID :
0x1809
- Caractéristiques :
- Température :
0x2A6E
(valeur de la température mesurée)
- Température :
e. Service de Glucose
- Service UUID :
0x1808
- Caractéristiques :
- Concentration de glucose :
0x2A18
(valeur du taux de glucose dans le sang)
- Concentration de glucose :
4. Types de Caractéristiques
Les caractéristiques peuvent être configurées pour supporter différentes actions et types de données. Voici quelques types courants de caractéristiques :
- Lecture (Read) : Le client peut lire la valeur de la caractéristique.
- Écriture (Write) : Le client peut écrire une valeur dans la caractéristique.
- Notification : Le client peut être notifié lorsque la valeur de la caractéristique change (sans avoir à interroger l'appareil).
- Indication : Comme les notifications, mais avec confirmation du client que le changement a bien été reçu.
- Read-Write : Le client peut lire ou écrire la caractéristique.
5. Descripteurs (Descriptors)
Un descripteur est une petite quantité d'information associée à une caractéristique ou à un service. Les descripteurs sont utilisés pour fournir des métadonnées supplémentaires sur les caractéristiques, telles que le format des données, les permissions d'accès, ou des informations liées à la sécurité.
Exemple de descripteur :
- Descripteur de présentation : Cela pourrait être un descripteur qui donne des détails sur le format des données de la caractéristique.
6. Notifications et Indications
Les notifications et les indications sont des mécanismes qui permettent à un GATT Server d'informer un GATT Client d'un changement dans une caractéristique sans que le client ait besoin de demander à chaque fois (ce qu'on appelle un "polling").
- Notifications : Le serveur envoie une mise à jour de la caractéristique au client sans attendre une confirmation. Ce mécanisme est sans retour.
- Indications : Similaire aux notifications, mais le client doit confirmer la réception de l'indication.
7. Exemple de flux de communication avec BLE
Prenons un exemple simple d'interaction entre un smartphone (GATT Client) et un capteur de température (GATT Server) :
- Le smartphone envoie une demande pour lire la caractéristique de température du capteur de température.
- Le capteur de température répond avec la valeur de la température.
- Si le capteur de température change de valeur, il peut envoyer une notification au smartphone pour l'informer du changement.
Conclusion
L'architecture BLE repose donc sur des services et des caractéristiques qui permettent d'organiser les données échangées entre les appareils. Chaque service contient une ou plusieurs caractéristiques, et les appareils BLE utilisent le modèle GATT pour organiser la communication. Ce modèle facilite l'interopérabilité entre les appareils, tout en permettant une gestion efficace des ressources et une faible consommation d'énergie.