BLE & communications de courte portée¶
Bluetooth Low Energy 5.x, NFC et RFID couvrent la plage 0–100 m avec des consommations de quelques µA à quelques mA — le trio de référence pour les objets portables, l'inventaire et le provisioning.
BLE 5.x — couche physique et performances¶
Bluetooth Low Energy (BLE) a été introduit dans la spécification Bluetooth 4.0 (2010) et évolue régulièrement. BLE 5.x (2016+) triple le débit et quadruple la portée par rapport à BLE 4.2 grâce à de nouvelles options PHY.
PHY disponibles¶
| PHY | Débit utile | Portée typique | Sensibilité | Usage |
|---|---|---|---|---|
| LE 1M | 1 Mbit/s | 40–100 m | −95 dBm | Standard, compatible 4.x |
| LE 2M | 2 Mbit/s | 20–60 m | −93 dBm | Transferts rapides, HID |
| LE Coded S=2 | 500 kbit/s | 200–400 m | −103 dBm | Longue portée |
| LE Coded S=8 | 125 kbit/s | 400–1000 m | −106 dBm | Longue portée max |
La PHY Coded utilise un code FEC (Forward Error Correction) qui améliore la sensibilité au prix du débit. Utile pour les beacons industriels ou les capteurs en extérieur.
Advertising — legacy vs extended¶
| Mode | BLE version | Canaux | Payload max | Scan response |
|---|---|---|---|---|
| Legacy advertising | 4.x + 5.x | 3 (37,38,39) | 31 octets | +31 octets |
| Extended advertising | 5.0+ | 3 + secondaires | 255 octets | Oui |
| Periodic advertising | 5.0+ | Secondaires | 255 octets | Sync possible |
L'advertising extended permet de diffuser des payloads de 255 octets sur des canaux secondaires (0–36), réduisant les collisions sur les 3 canaux primaires.
Stack BLE — architecture en couches¶
graph TB
A[Application\nLogique métier, données] --> B
B[GATT\nGeneric Attribute Profile\nProfils, services, caractéristiques] --> C
C[ATT\nAttribute Protocol\nLecture/écriture d'attributs] --> D
D[L2CAP\nLogical Link Control\nMultiplexage, segmentation] --> E
E[HCI\nHost Controller Interface\nSéparation host/controller] --> F
F[Link Layer\nConnexion, canaux, crypto] --> G
G[PHY\n1M / 2M / Coded\nModulation GFSK]
style A fill:#2d6a4f,color:#fff
style B fill:#1b4332,color:#fff
style C fill:#1b4332,color:#fff
style D fill:#40916c,color:#fff
style E fill:#52b788,color:#fff
style F fill:#74c69d,color:#fff
style G fill:#95d5b2,color:#fff Profils GATT — services et caractéristiques¶
GATT (Generic Attribute Profile) structure les données BLE en une hiérarchie Profil → Service → Caractéristique → Descripteur.
Hiérarchie¶
Profil : Heart Rate Monitor
Service : Heart Rate (UUID 0x180D)
Caractéristique : Heart Rate Measurement (UUID 0x2A37)
Propriétés : Notify
Descripteur : Client Characteristic Configuration (CCCD, UUID 0x2902)
Caractéristique : Body Sensor Location (UUID 0x2A38)
Propriétés : Read
Service : Battery Service (UUID 0x180F)
Caractéristique : Battery Level (UUID 0x2A19)
Propriétés : Read, Notify
Propriétés des caractéristiques¶
| Propriété | Description |
|---|---|
| Read | Lecture ponctuelle par le client |
| Write | Écriture avec accusé de réception |
| Write Without Response | Écriture sans ACK (débit max) |
| Notify | Notification server → client sans ACK |
| Indicate | Notification server → client avec ACK |
| Broadcast | Inclus dans l'advertising |
UUIDs¶
Les services/caractéristiques standard utilisent des UUID 16 bits (ex : 0x180D). Les services propriétaires utilisent des UUID 128 bits (ex : 6E400001-B5A3-F393-E0A9-E50E24DCCA9E).
BLE Mesh — réseau maillé publish/subscribe¶
BLE Mesh (spécification Bluetooth SIG 2017) transforme des nodes BLE en réseau mesh à grande portée via du flooding et des relais.
Rôles des nœuds¶
graph LR
P[Provisioner\nSmartphone/gateway] -- provisioning --> N1
subgraph Réseau mesh
N1[Node relais\nRouter] -- relay --> N2[Node relais]
N1 -- relay --> N3[Node relais]
N2 -- relay --> N4[Low Power Node\nCapteur batterie]
N3 -- relay --> N5[Friend Node\nStock messages]
N5 -. messages en attente .-> N6[Low Power Node\nEndpoint]
end
N1 -- messages --> AP[Application\nDomotique] | Rôle | Description | Conso |
|---|---|---|
| Relay | Relaie les messages reçus | Moyenne |
| Proxy | Passerelle BLE classic/GATT → mesh | Moyenne |
| Friend | Stocke les messages pour LPN | Haute |
| Low Power Node (LPN) | Dort, se réveille interroger le Friend | Ultra-basse |
| Provisioner | Ajoute des nodes au réseau | N/A |
Modèle publish/subscribe¶
Chaque node peut publier sur une adresse de groupe et s'abonner à des adresses. Les messages traversent le réseau par flooding avec un TTL décrémenté à chaque saut (TTL max = 127).
Provisioning¶
Le provisioning associe un node au réseau via un échange sécurisé (ECDH + AES-CCM) qui distribue la NetKey (clé réseau) et l'AppKey (clé application). Effectué une seule fois par le Provisioner (application mobile ou gateway).
NFC — Near Field Communication¶
NFC opère à 13,56 MHz sur des distances de 0 à ~10 cm. Basé sur ISO 14443 (cartes à puce) et ISO 18092, il supporte trois modes opératoires :
Modes NFC¶
| Mode | Description | Exemple |
|---|---|---|
| Reader/Writer | Lit/écrit des tags NFC passifs | Lecture d'étiquette produit |
| Card Émulation | Simule une carte NFC (HCE ou SE) | Paiement sans contact, badge |
| Peer-to-Peer | Échange bidirectionnel NFC ↔ NFC | Android Beam (déprécié) |
NDEF — NFC Data Exchange Format¶
NDEF est le format de message standardisé pour les tags NFC. Un message NDEF contient un ou plusieurs records :
Record type : URI (TNF=0x01, Type="U")
Payload : https://device.example.com/config/ABC123
Record type : Text (TNF=0x01, Type="T")
Payload : "SN:2024-ABC-0042"
Cas d'usage IoT¶
- Provisioning : tapoter un smartphone sur un device IoT pour le configurer (Wi-Fi credentials via NDEF + App)
- Authentification : badge NFC pour déverrouiller un équipement industriel
- Identification : lecture de numéro de série ou URL de configuration
- Maintenance : NFC tag sur machine → lien direct vers fiche technique et historique
RFID — identification sans contact à distance¶
RFID (Radio Frequency IDentification) couvre une gamme de fréquences plus large que NFC, avec des portées allant de quelques centimètres à plusieurs mètres.
Bandes de fréquence¶
| Bande | Fréquence | Portée | Débit | Tags |
|---|---|---|---|---|
| LF | 125–134 kHz | 0–30 cm | ~1 kbit/s | Passifs, accès bâtiment |
| HF | 13,56 MHz | 0–1 m | 106–848 kbit/s | ISO 14443/15693, NFC |
| UHF | 860–960 MHz | 1–12 m | ~640 kbit/s | EPC Gen2, logistique |
| Micro-onde | 2,4–5,8 GHz | 1–10 m | Élevé | Péage, parking |
Tags passifs vs actifs¶
| Type | Alimentation | Portée | Coût | Usage |
|---|---|---|---|---|
| Passif | Champ RF du lecteur | 0–12 m (UHF) | 0,05–0,50 € | Logistique, palettes |
| Semi-passif | Batterie (MCU), RF (comm) | 1–50 m | 2–10 € | Traçabilité chaîne froide |
| Actif | Batterie (MCU + RF) | 10–100 m | 10–50 € | Suivi assets en temps réel |
EPC Gen2 (ISO 18000-63)¶
Standard dominant en logistique UHF : Electronic Product Code sur 96 à 496 bits. Permet la lecture simultanée de centaines de tags (anti-collision par slots aléatoires). Utilisé dans les entrepôts, la grande distribution (Walmart, Amazon) et la traçabilité pharmaceutique.
Tableau comparatif — BLE vs NFC vs RFID¶
| Critère | BLE 5.x | NFC | RFID UHF |
|---|---|---|---|
| Portée | 10–1000 m | 0–10 cm | 1–12 m |
| Débit | 125 kbit/s – 2 Mbit/s | 106–848 kbit/s | 40–640 kbit/s |
| Énergie tag | Batterie (~µA sleep) | Passif (0 batterie) | Passif (0 batterie) |
| Énergie lecteur | ~15 mA actif | ~50 mA | ~500 mA–1 W |
| Coût tag | 1–5 € (module) | 0,10–1 € | 0,05–0,50 € |
| Bidirectionnel | Oui | Oui (P2P) | Limité (EPC Gen2) |
| Connexion | Oui (GATT) | Non | Non |
| Localisation | AoA/AoD (BLE 5.1) | Non | Non |
| Interférence | 2,4 GHz (Wi-Fi, BT) | Faible | Eau, métal |
| Cas d'usage | Wearables, actionneurs | Provisioning, paiement | Logistique, inventaire |
Ce qu'il faut retenir¶
- BLE 5.x offre trois PHY au choix : 2M pour le débit, Coded S=8 pour la portée (jusqu'à ~1 km). La PHY s'adapte dynamiquement selon les conditions radio.
- GATT structure les échanges en Services/Caractéristiques avec des propriétés (Read/Notify/Indicate) qui déterminent le modèle d'interaction.
- BLE Mesh permet des réseaux maillés à centaines de nœuds avec des Low Power Nodes qui dorment et s'appuient sur des Friend Nodes.
- NFC excelle pour le provisioning et l'authentification de proximité grâce aux tags passifs sans batterie.
- RFID UHF EPC Gen2 reste indétrônable pour la logistique à grande échelle (lecture de centaines de tags simultanément à plusieurs mètres).
Chapitre suivant : LoRa & LPWAN — communiquer sur des kilomètres avec une pile de batterie pendant des années.