SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Communiquer en BLE :
Les pièges à éviter !
Alexis Duque @alexis0duque
Fabien Grenier @fabgrenier
@Rtone_Dev2M
1
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Qui sommes nous ?
2
Responsable de l’équipe Cloud&Mobile
Développeur Java/Web full stack
“Le handball c’est la vie.”
Fabien GRENIER
@fabgrenier
RTONE
Alexis DUQUE
@alexis0duque
RTONE
Tech lead soft embarqué
(vrai) Développeur full stack
“Nan, la course à pied c’est mieux.”
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Qui sommes nous ?
3
Just Dev It !
Fondé en 2007 par 3 ingénieurs
Expert en conception d’objets connectés
3 équipes hard, soft embarqué et Cloud&Mobile
Projets B2C et B2B
De la Startup aux grands groupes
Accompagnement complet du CdC à l’industrialisation
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Roadmap
4
• Bluetooth Low Energy ?
• Quelles différences avec le Bluetooth ?
• Pourquoi tant de difficultés ?
• Le BLE en Actions !
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Bluetooth Low Energy
5
2010 : Bluetooth Core Specification v4.0 for low power
device
Mais ne remplace pas le Bluetooth : à ne pas mettre à toutes
les sauces !
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Spécificités
Faible bande passante : ~50 kbps
Faible latence (~10ms) et protocole “non connecté”
Chip radio presque toujours OFF
Très petits paquets : MTU de 20 octets
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Vocabulaire
Connection Interval
Supervision Timeout
Slave Latency
Advertising Interval
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Vocabulaire
Master
Client
Centrale
Scanner
Initiateur
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Vocabulaire
Slave
Périphérique
Advertiser
GATT
Serveur
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Parler à son objet
10
Valeur
Client
Read Request
Server
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Parler à son objet
11
Client
Write Request
Server
Confirmation
Client Write Command Server
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Parler à son objet
12
Client
Indication
Server
Confirmation
Client Notification Server
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Un problème
13
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Un problème
http://opensignal.
com/reports/2015/08/android-
fragmentation/
http://opensignal.com/reports/2015/08/android-fragmentation/
14
#DevoxxFR #TIA_BLE @Rtone_Dev2M 15
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Les outils
16
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Des Applications
nRF Master Control Panel LightBlue
17
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Sniffer BLE
UbertoothTI CC2540 USB
18
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Protocole Analyzer
19
#DevoxxFR #TIA_BLE @Rtone_Dev2M
BTSnoop HCI Log
Wireshark 2.0
open-bluedroid-log.sh
20
#DevoxxFR #TIA_BLE @Rtone_Dev2M 21
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Avant de commencer, des rappels ...
Scanner les périphériques à portée
Se connecter utilisant l'adresse MAC ou l’UUID
Explorer les services et caractéristiques disponibles
Sauvegarder les handles, pour les réutiliser !
Ecrire, Lire ou s’abonner aux notifications
Ne pas oublier de (bien) se déconnecter
22
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Live Demo
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 1 : Permissions
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_FINE_LOCATION
24
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 2 : Découverte des périphériques
25
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 3 : Connexion
26
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 4 : Inspecter les services
27
Battery Service
0000180F
HRM Service
0000180D
Battery Characterstic
00002A19
HRM Characterstic
00002A37
Sensor Characterstic
N
N R
R
W R
W
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 5 : Lecture / Ecriture / Notif.
28
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 6 : Déconnexion
29
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Step 7 : Bonding, Chiffrement, MITM
30
#DevoxxFR #TIA_BLE @Rtone_Dev2M
A suivre ...
Bluetooth 4.2
• Bande passante x2.5
• Sécurité renforcée
• Retrocompatibilité
Android N
Web Bluetooth API & Physical Web
32
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Les derniers tips ...
Utiliser un Nexus pour le développement puis tester
sur un maximum de marque
Éviter tant que possible le bonding et chiffrement
protocolaire, préférer un chiffrement applicatif
cf. https://lacklustre.net/bluetooth/Ryan_Bluetooth_Low_Energy_USENIX_WOOT.pdf
33
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Questions ?
Alexis Duque - alexisd@rtone.fr
Fabien Grenier - fabien@rtone.fr
www.rtone.fr
https://github.com/alexisduque/tia-ble-devoxx16.git
#DevoxxFR #TIA_BLE @Rtone_Dev2M
Venez voir notre Quickie sur
le VLC !
Des LEDs pour remplacer votre routeur WIFI ?
Par Alexis Duque
Vendredi 12:25 - 12:40
Salle Neuilly 253

Contenu connexe

Similaire à Communiquer en BLE: Les pièges à éviter !

20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier
bessem ellili
 

Similaire à Communiquer en BLE: Les pièges à éviter ! (20)

Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
 
SPA avec SignalR et Angular Js
SPA avec SignalR et Angular JsSPA avec SignalR et Angular Js
SPA avec SignalR et Angular Js
 
XebiCon'16 : Orange et Xebia Labs - De l'Agilité vers le Déploiement Continu ...
XebiCon'16 : Orange et Xebia Labs - De l'Agilité vers le Déploiement Continu ...XebiCon'16 : Orange et Xebia Labs - De l'Agilité vers le Déploiement Continu ...
XebiCon'16 : Orange et Xebia Labs - De l'Agilité vers le Déploiement Continu ...
 
Quand GIT rencontre TFS, que peut-on en attendre ?
Quand GIT rencontre TFS, que peut-on en attendre ?Quand GIT rencontre TFS, que peut-on en attendre ?
Quand GIT rencontre TFS, que peut-on en attendre ?
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotique
 
Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016Microservices IRL - Devoxx-fr 2016
Microservices IRL - Devoxx-fr 2016
 
chapitre 7 Android 2.pptx
chapitre 7 Android 2.pptxchapitre 7 Android 2.pptx
chapitre 7 Android 2.pptx
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
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
 
Ibeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux businessIbeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux business
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
 
La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!La Duck Conf - Continuous Security : Secure a DevOps World!
La Duck Conf - Continuous Security : Secure a DevOps World!
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
Codeurs en seine microsoft .net core plaform
Codeurs en seine microsoft  .net core plaformCodeurs en seine microsoft  .net core plaform
Codeurs en seine microsoft .net core plaform
 
Cours cordova & REST
Cours cordova & RESTCours cordova & REST
Cours cordova & REST
 
Plus près, plus près… NFC et la communication à proximité dans Windows 8 et W...
Plus près, plus près… NFC et la communication à proximité dans Windows 8 et W...Plus près, plus près… NFC et la communication à proximité dans Windows 8 et W...
Plus près, plus près… NFC et la communication à proximité dans Windows 8 et W...
 
20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier20140415200533!rapport projet deltombe_gerier
20140415200533!rapport projet deltombe_gerier
 
Ibeacon.pptx
Ibeacon.pptxIbeacon.pptx
Ibeacon.pptx
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
 

Communiquer en BLE: Les pièges à éviter !