L’Internet des Objets
Chapitre 34 BLuetooth Low Energy
Le BLE utilise la bande ISM 2,4GHz. Cette bande est divisée en 40 canaux de 2 MHz. Le débit est de 1 Mb/s (2 Mb/s avec la version 2). Le débit applicatif est de 800 ou 1400 kb/s.
34.0.1 Generic Access Profile
GAP (Generic Access Profile) contrôle les connexions et la publicité (advertising). Il défini les rôles suivant :
- Périphérique
-
(serveur), c’est l’équipement distant, disposant de ressources limitées (sonde de température, équipement de bioinformatique…) ;
- Central
-
(client) c’est l’ordinateur central, voire un téléphone.
Il y a deux types de message d’advertising : Advertising Data payload and the Scan Response payload. Le premier est obligatoire et sera transmis de manière continue.
34.0.2 Generic Attribute Profile
GATT (Generic ATTribute profile) définit les communications bi-directionnelles entre le serveur et le client. Pour cela, il utilise deux concepts service et characteristics. Il utilise le protocole générique ATT (Attribute Protocol). Ce protocole permet de lister tous les services et charactéristiques dans une table d’identifiants sur 16 bits. Dès qu’un périphérique se connecte avec un central, aucune autre communication ne lui est possible.
34.0.2.1 Profils
Un profil n’a pas de réelle existence. C’est une collection de services, définiies par le SIG Bluetooth ou par le concepteur du périphérique. Le profil Heart rate regoupe le service Heart rate et le service device information. La liste officielle est disponible sur : https://www.bluetooth.com/specifications/gatt.
34.0.2.2 Services
Les services regroupent des données appelées characteristics. Chaque service est identifié par un identifiant numérique unique (UUID) sur 16 bits, pour les services officiels ou sur 128 bits pour les services personnalisés.
La liste complète est disponible sur https://www.bluetooth.com/specifications/gatt/services. Le service cardiaque a l’identifiant 0x180D et regroupe trois charactéristiques : Heart Rate Measurement, Body Sensor Location et Heart Rate Control Point.
34.0.2.3 Characteristics
Les caractéristiques définissent un élément de donnée unique (qui peut être un vecteur d’un accéléromètre). Chaque charactéristique est identifiée par un UUID (16 ou 128 bits).
Les caractéristiques permettent l’interaction avec le périphérique. Par exemple, une interace UART pourrait être définie par un service UART service avec deux caractéristiques (TX et RX), l’une en lecture, l’autre en écriture.