3. Bluetooth
SIG : Special Interest Group
Origine : Ericsson, IBM, Intel, Nokia, Toshiba
Actuellement : 31000 Soci´et´es
Historique
1994 : Cr´eation
1998 : SIG
1999 : 1.0
2004 : 2.0 BR / EDR
2010 : 4.0 BLE
2014 : 4.2
2016 : 5
4. Standard Bluetooth
Services, Profils et Protocoles
Liaison physique
Adressage physique
Controle de flux
Multiplexage
Chiffrement
Protocoles over Bluetooth
”Profils”
https://www.bluetooth.com/specifications/adopted-specifications
10. Bluetooth Classique
Profils
Audio (AD2P)
Transfert de fichiers (OBEX)
IP / LAN (PAN over BNEP)
Port s´erie (SPP over RFCOMM)
Partage de contacts
Human Interface Device
D´ecouverte de services (SDP)
Radio
2.4 GHZ
79 canaux
FHSS
18. Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Scanning
Ecoute d’advertisements
19. Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Scanning
Ecoute d’advertisements
Initiating
Ecoute d’advertisements
R´eponse par connexion
20. Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Scanning
Ecoute d’advertisements
Initiating
Ecoute d’advertisements
R´eponse par connexion
Connection
Connect´e
Master (depuis Initiating) ou
Slave (Depuis Advertising)
22. ATT
A protocol for discovering, reading, and writing attributes
on a peer device.
ATTribute
Type : Ce que l’attribut repr´esente (UUID)
Handle : Indentifie l’attribut sur un serveur
Permissions :
Lecture / ´Ecriture
Notification
Encryption
Autorisation
Authentification
Un Attribut est une m´etadonn´ee d´efinissant une valeur.
23. GATT par l’exemple
Generic ATTribute Profile
”Getting started with bluetooth low energy”, R.Davidson, Akiba, Carles Cuf´ı, Kevin Townsend, O’Reilly
29. Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
30. Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmon
Monitore HCI
Monitore MGMT
Excellent pour le debug
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
31. Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmon
Monitore HCI
Monitore MGMT
Excellent pour le debug
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
GATT
gatttool
btgatt-client
btgatt-server
32. Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmon
Monitore HCI
Monitore MGMT
Excellent pour le debug
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
GATT
gatttool
btgatt-client
btgatt-server
A voir aussi : obexctl, rfcomm, l2ping, hciattach
33. Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmon
Monitore HCI
Monitore MGMT
Excellent pour le debug
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
GATT
gatttool
btgatt-client
btgatt-server
A voir aussi : obexctl, rfcomm, l2ping, hciattach
D´epr´eci´e : hciconfig, hcitool, hcidump, sdptool
34. D´emo
Laptop : Intel 7265, linux 3.19, BlueZ 5.37
Host - Controller : PCI
TI Sensortag :TI CC2650, D´emonstrateur BLE avec capteurs
embarqu´es, OS TI
Host - Controller : SoC