STEMMA

Profils

Un profil n’existe pas réellement sur le périphérique BLE lui-même, il s’agit simplement d’une collection prédéfinie de Services qui a été compilée par le SIG Bluetooth ou par les concepteurs de périphériques. Le Profil de fréquence Cardiaque, par exemple, combine le Service de Fréquence Cardiaque et le Service d’Informations sur l’Appareil. La liste complète des profils officiellement adoptés sur la base du GATT peut être consultée ici: Aperçu des profils.

Services

Les services sont utilisés pour diviser les données en entités logiques et contiennent des morceaux de données spécifiques appelés caractéristiques. Un service peut avoir une ou plusieurs caractéristiques, et chaque service se distingue des autres services au moyen d’un identifiant numérique unique appelé UUID, qui peut être 16 bits (pour les services BLE officiellement adoptés) ou 128 bits (pour les services personnalisés).
Une liste complète des services BLE officiellement adoptés peut être consultée sur la page Services du Portail des développeurs Bluetooth. Si vous regardez le Service de fréquence cardiaque, par exemple, nous pouvons voir que ce service officiellement adopté a un UUID 16 bits de 0x180D et contient jusqu’à 3 caractéristiques, bien que seule la première soit obligatoire: Mesure de la Fréquence Cardiaque, Emplacement du Capteur Corporel et Point de Contrôle de la Fréquence Cardiaque.

Caractéristiques

Le concept de niveau le plus bas dans les transactions du GATT est la caractéristique, qui encapsule un seul point de données (bien qu’il puisse contenir un tableau de données connexes, telles que les valeurs X / Y/ Z d’un accéléromètre à 3 axes, etc.).
De la même manière que les Services, chaque Caractéristique se distingue via un UUID 16 ou 128 bits prédéfini, et vous êtes libre d’utiliser les caractéristiques standard définies par le SIG Bluetooth (qui garantit l’interopérabilité entre et HW/ SW compatible BLE) ou de définir vos propres caractéristiques personnalisées que seuls votre périphérique et votre SW comprennent.
A titre d’exemple, la caractéristique de mesure de la Fréquence cardiaque est obligatoire pour le Service de fréquence cardiaque et utilise un UUID de 0x2A37. Il commence par une seule valeur de 8 bits décrivant le format des données HRM (que les données soient UINT8 ou UINT16, etc.), et le inclut ensuite les données de mesure de la fréquence cardiaque qui correspondent à cet octet de configuration.
Les caractéristiques sont le point principal sur lequel vous interagirez avec votre périphérique BLE, il est donc important de comprendre le concept. Ils sont également utilisés pour renvoyer des données au périphérique BLE, car vous pouvez également écrire dans la caractéristique. Vous pouvez implémenter une interface simple de type UART avec un « service UART » personnalisé et deux caractéristiques, une pour le canal TX et une pour le canal RX, où une caractéristique peut être configurée en lecture seule et l’autre aurait des privilèges d’écriture.