SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Bluetooth Low Energy
Pr´esentation et Utilisation sous Linux
maxime.chevallier@smile.fr
16 mai 2017
Plan
1 Bluetooth
2 Bluetooth Low Energy
3 GATT
4 BLE dans Linux
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
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
D´enomination
Classique
Classique
BR/EDR
2.0 3.0 3.1
Bluetooth
D´enomination
Classique
Classique
BR/EDR
2.0 3.0 3.1
Bluetooth
Low Energy
Low Energy
Smart
Wibree
4.0 4.1 4.2
D´enomination
Classique
Classique
BR/EDR
2.0 3.0 3.1
Bluetooth
Les deux
Dual mode
Smart Ready
4.0 4.1 4.2
Low Energy
Low Energy
Smart
Wibree
4.0 4.1 4.2
Architecture physique
Host et controller s´epar´es
Architecture physique
Host et controller s´epar´es
System on a Chip
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
Architecture logique
Controller
Chiffrement
Connexion
Transmission physique
Architecture logique
Host
Profils et applications
Diff´erents protocoles
Abstraction
Multiplexage
Controller
Chiffrement
Connexion
Transmission physique
Plan
1 Bluetooth
2 Bluetooth Low Energy
3 GATT
4 BLE dans Linux
Bluetooth Low Energy
Services
”Healthcare”
”Fitness”
”Human Interface Device”
”Alert”
”Proximity”
Capteurs g´en´eriques
D´ecouverte de services
Et bien plus...
Radio
2.4 GHZ
40 canaux
Stack BLE
Stack Bluetooth Low Energy
Link Layer
L2CAP
Protocole ATT
Profile GATT
Services : Application
Link Layer
Idle
On ne fait rien
Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Scanning
Ecoute d’advertisements
Link Layer
Idle
On ne fait rien
Advertising
Broadcast, connectable ou non
Scanning
Ecoute d’advertisements
Initiating
Ecoute d’advertisements
R´eponse par connexion
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)
Plan
1 Bluetooth
2 Bluetooth Low Energy
3 GATT
4 BLE dans Linux
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.
GATT par l’exemple
Generic ATTribute Profile
”Getting started with bluetooth low energy”, R.Davidson, Akiba, Carles Cuf´ı, Kevin Townsend, O’Reilly
Plan
1 Bluetooth
2 Bluetooth Low Energy
3 GATT
4 BLE dans Linux
BlueZ
Historique
2001 : Max Krasnyansky ( Qualcomm ) linux 2.4.6
2004 : Marcel Holtmann ( Intel ) linux 2.6
2012 : Low Energy ( BlueZ 5.0 ) linux 3.5
2017 : BlueZ 5.45
APIs : DBus, Socket, Librairie C
Bluez : Architecture
kernel
HCI
Drivers
Protocoles
mgmt
l’API `a tout faire
Bluez : Architecture
userspace
Profils
API Dbus
Bluetoothd
le d´emon `a tout faire
kernel
HCI
Drivers
Protocoles
mgmt
l’API `a tout faire
Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
Outils pratiques
bluetoothctl
UI de bluetoothd
Gestion des appareils
Gestion des profils
btmgmt
Utilise la MGMT API
Gestion du controller
Gestion du dual-mode
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
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
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
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
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
C’est fini
Merci

Contenu connexe

Tendances

Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
vangogue
 

Tendances (20)

Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01Merise exercicesmcdcorriges-121007174045-phpapp01
Merise exercicesmcdcorriges-121007174045-phpapp01
 
Exercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdfExercices_Python_Fenni_2023 -corrigé.pdf
Exercices_Python_Fenni_2023 -corrigé.pdf
 
Remote method invocation
Remote method invocationRemote method invocation
Remote method invocation
 
Corrige tp java
Corrige tp javaCorrige tp java
Corrige tp java
 
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
Rapport PFE ingénieur réseaux marwen SAADAOUI ( Juin 2018 )
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Ouzamou mohamed cv
Ouzamou mohamed cvOuzamou mohamed cv
Ouzamou mohamed cv
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
La théorie du multimédia
La théorie du multimédiaLa théorie du multimédia
La théorie du multimédia
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Cours #9 L'Internet des objets
Cours #9 L'Internet des objetsCours #9 L'Internet des objets
Cours #9 L'Internet des objets
 
cloud.pdf
cloud.pdfcloud.pdf
cloud.pdf
 
Introduction à Python
Introduction à PythonIntroduction à Python
Introduction à Python
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
Réseau lora
Réseau loraRéseau lora
Réseau lora
 
Ch 01 poo
Ch 01 pooCh 01 poo
Ch 01 poo
 
Principes fondamentaux de la sécurité du réseau.
Principes fondamentaux de la sécurité du réseau.Principes fondamentaux de la sécurité du réseau.
Principes fondamentaux de la sécurité du réseau.
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 

Similaire à Présentation Bluetooth Low Energy - SMILE ECS

Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Smile I.T is open
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013
O10ée
 
Cours Middleware orientés objets
Cours Middleware orientés objetsCours Middleware orientés objets
Cours Middleware orientés objets
Vincent Englebert
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?
Pierre-jean Texier
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Microsoft Décideurs IT
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Microsoft Technet France
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
Fabrice Enock
 
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinalPSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
Belkacem KAID
 

Similaire à Présentation Bluetooth Low Energy - SMILE ECS (20)

Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 
Projet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdfProjet haute disponibilité asterisk pdf
Projet haute disponibilité asterisk pdf
 
Hadjer
HadjerHadjer
Hadjer
 
Rapport bluetooth
Rapport bluetooth Rapport bluetooth
Rapport bluetooth
 
Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013Article open-silicium-juin-juillet-aout-2013
Article open-silicium-juin-juillet-aout-2013
 
sécurité Bluetooth.
sécurité Bluetooth.sécurité Bluetooth.
sécurité Bluetooth.
 
LyncConference2013 - Interopérabilité Audio – Intégrez et faites coexister Ly...
LyncConference2013 - Interopérabilité Audio – Intégrez et faites coexister Ly...LyncConference2013 - Interopérabilité Audio – Intégrez et faites coexister Ly...
LyncConference2013 - Interopérabilité Audio – Intégrez et faites coexister Ly...
 
Cours Middleware orientés objets
Cours Middleware orientés objetsCours Middleware orientés objets
Cours Middleware orientés objets
 
Introduction au Bluetouth
Introduction au BluetouthIntroduction au Bluetouth
Introduction au Bluetouth
 
Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?Architecture hétérogène au service de l'IoT industriel ?
Architecture hétérogène au service de l'IoT industriel ?
 
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoTVISEO Shake the Microsoft business - comment rapidement batir une solution IoT
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
 
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+Objets connectés WLAN et ESP32  ou WPAN et bananapi et nrf24-l01+
Objets connectés WLAN et ESP32 ou WPAN et bananapi et nrf24-l01+
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
 
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
Windows Azure Media Services : des API pour encoder, multiplexer et difuser v...
 
Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01Coursrseaux 111019081618-phpapp01
Coursrseaux 111019081618-phpapp01
 
Cours réseaux
Cours réseauxCours réseaux
Cours réseaux
 
Internet des Objets
Internet des ObjetsInternet des Objets
Internet des Objets
 
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinalPSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
PSECRES2017-Projet11-KHATOUN_RIDA-Secu_VoIP-RapFinal
 
Iot juin 2017
Iot juin 2017Iot juin 2017
Iot juin 2017
 
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
SophiaConf 2010 Présentation de la conférence du 05 Juillet - Android :Tout s...
 

Plus de Alexandre LAHAYE

Les technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquéesLes technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquées
Alexandre LAHAYE
 

Plus de Alexandre LAHAYE (14)

Building RT image with Yocto
Building RT image with YoctoBuilding RT image with Yocto
Building RT image with Yocto
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over Xenomai
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectés
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectés
 
Qt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarquéQt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarqué
 
Les technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquéesLes technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquées
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
 
Yocto oe
Yocto oeYocto oe
Yocto oe
 
Plateformes embarquées
Plateformes embarquéesPlateformes embarquées
Plateformes embarquées
 
Open Wide : les licences libres.
Open Wide : les licences libres. Open Wide : les licences libres.
Open Wide : les licences libres.
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarques
 
Open Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueOpen Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarque
 
OPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reelOPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reel
 

Présentation Bluetooth Low Energy - SMILE ECS