SlideShare a Scribd company logo
1 of 19
Présentation iBeacon
Arnaud Boudou

30/01/2014
• Arnaud Boudou
– Développeur Java / iOS chez ekito
– Twitter : @boudouarnaud
– Web (ekito) :
http://www.ekito.fr/people?author_name=aboudou
– Web (perso) : http://goddess-gate.com/
30/01/2014

www.ekito.fr

2
Sommaire
• La localisation indoor
• Qu’est-ce qu’iBeacon
• Avec iOS
• Limitations

30/01/2014

www.ekito.fr

3
La localisation indoor
• Positionnement géographique, les différentes
méthodes :
– Réseau cellulaire
– Points d’accès WIFI
– GPS

• Dans certains cas, ces solutions ne sont pas viables
en intérieur
• Solution proposée par Apple : iBeacon

30/01/2014

www.ekito.fr

4
Qu’est ce qu’iBeacon ?
• iBeacon ≠ pomme au bacon
• iBeacon = iBalise / iPhare
• Émetteur radio basé sur la norme BLE (Bluetooth
Low Energy)
• Faible portée : environ 10m, fonction de la puissance
d’émission
• Forte autonomie, fonction de la puissance d’émission

30/01/2014

www.ekito.fr

5
Qu’est ce qu’iBeacon ?
• Techniquement :
– Utilise un champ optionnel des paquets d’avertissement
– Message sous la forme
02 | 15 | E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 | 00 00 | 00 00 | C8

•
•
•
•
•
•

ID : toujours 0x02
Data length : taille du message en octets. Ici 0x15 (= 21 octets)
UUID : identifiant iBeacon (différent de l’identifiant Bluetooth)
Numéro major
Numéro minor
TX Power : niveau de puissance, utilisé pour « calculer » la distance entre
l’iBeacon et le périphérique iOS

30/01/2014

www.ekito.fr

6
Qu’est ce qu’iBeacon ?
• Les identifiants d’un iBeacon :
– UUID : Identifiant semi-unique, pour une entreprise
– Major : Identifiant d’un des locaux de l’entreprise
– Minor : Identifiant d’un lieu précis du local précédent

• Exemple Apple Store
– UUID identique pour l’ensemble des AS
– Major en fonction d’un AS donné
– Minor en fonction d’un rayon donné de l’AS correspondant

30/01/2014

www.ekito.fr

7
Compatibilité
• Compatibilité :
– iOS 7 +
•
•
•
•

iPhone 4S et suivants
iPad 3 et suivants
iPad mini et suivants
iPod Touch 5 et suivants

– OS X 10.9 + machines équipées en Bluetooth 4.0 (en
émetteur)
– Android 4.3 + devices équipés en Bluetooth 4.0
– Machines sous Linux avec BlueZ (en émetteur)

30/01/2014

www.ekito.fr

8
Avec iOS
• Dépend de CoreLocation (et non CoreBluetooth) :
NSUUID *uuid = [[NSUUID alloc]
initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"];
CLBeaconMajorValue major = 42176;
CLBeaconMinorValue minor = 34023;
NSString *regionIdentifier = @"com.example.identifier.ibeacon";

CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc]
initWithProximityUUID:uuid
major:major
minor:minor
identifier:regionIdentifier];

30/01/2014

www.ekito.fr

9
Avec iOS
• Deux types de méthodes
– Dépendent de CLLocationManagerDelegate
– Méthode de type « Ranging »
– Méthode de type « Monitoring »

30/01/2014

www.ekito.fr

10
Avec iOS
• Méthode de type Ranging :
– Uniquement quand l’application est active au premier plan
– Permet de récupérer les informations de l’iBeacon détecté
•
•
•
•
•
•

30/01/2014

UUID
Major
Minor
RSSI
Distance
Accuracy

www.ekito.fr

11
Avec iOS
• Une seule méthode
-(void)locationManager:(CLLocationManager *)manager
didRangeBeacons:(NSArray *)beacons
inRegion:(CLBeaconRegion *)region

Est appelée quand le statut d’un iBeacon à portée du iDevice change.

30/01/2014

www.ekito.fr

12
Avec iOS
• Méthodes de type Monitoring:
– Fonctionnent aussi avec l’application en arrière plan
– Doivent aussi fonctionner avec application arrêtée (d’après
Doc Apple), mais échec.
– Permettent seulement de savoir quand on rentre ou sort
d’une région.

30/01/2014

www.ekito.fr

13
Avec iOS
• Deux méthodes
- (void)locationManager:(CLLocationManager *)manager
didEnterRegion:(CLRegion *)region

Est appelée quand l’iDevice rentre dans une région définie.

- (void)locationManager:(CLLocationManager *)manager
didExitRegion:(CLRegion *)region

Est appelée quand l’iDevice sort d’une région définie.

30/01/2014

www.ekito.fr

14
Limitations
• Pour le moment, techno Apple-centrée (pas de
support officiel pour les autres OS)
• UUID iBeacon ≠ UUID Bluetooth
– Si un iBeacon propose des services Bluetooth, c’est à
l’application de faire le lien entre les deux

30/01/2014

www.ekito.fr

15
Ressources
• Salade de bacon à la pomme : http://www.elle.fr/Elle-a-Table/Recettesde-cuisine/salade-de-bacon-a-la-pomme-549374
• Doc Apple : Ahem… (a.k.a. /dev/null, HTTP 404, etc.)
• Gestion du monitoring en avant et arrière plan (point de vue
performances) :
http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-inthe-background-and-foreground.html
• Un projet d’exemple pour le monitoring et ranging iBeacon :
https://github.com/Ekito/TestBeacon
• Emetteur iBeacon pour OS X : https://github.com/lgaches/BeaconEmitter
• Billet sir iBeacon, avec extraits de code et prototypes :
http://www.ekito.fr/people/?p=3698

30/01/2014

www.ekito.fr

16
Des questions ?

30/01/2014

www.ekito.fr

17
Plus d’informations
Laurent Blondon

ekito
SARL au capital de 150 000 €
RCS Toulouse 485 109 300
1 place de la bourse 31000 Toulouse
contact@ekito.fr – www.ekito.fr

30/01/2014

www.ekito.fr

Responsable Commercial
Tél. : + 33 (0) 659 976 860
lblondon@ekito.fr

18
Copyright
• Vous êtes libres de :
– Reproduire, distribuer et communiquer l’œuvre
– Adapter l’œuvre
– D’utiliser cette œuvre à des fins commerciales

• Selon les conditions suivantes :
– Vous devez attribuer l’œuvre de la manière indiquée par
l’auteur de l’œuvre ou le titulaire des droits (mais pas
d’une manière qui suggérerait qu’ils vous
approuvent, vous ou votre utilisation de l’œuvre).
http://creativecommons.org/licenses/by/3.0/fr/

30/01/2014

www.ekito.fr

19

More Related Content

What's hot

How javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible toolHow javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible toolCocoaHeads France
 
La sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockLa sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockNicolas Lourenço
 
Transition de NIBs/XIBs vers Storyboards
Transition de NIBs/XIBs vers StoryboardsTransition de NIBs/XIBs vers Storyboards
Transition de NIBs/XIBs vers StoryboardsCocoaHeads France
 
CocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeadsRNS
 
L’environnement du développement mobile iOS & Android
L’environnement du développement mobile iOS & AndroidL’environnement du développement mobile iOS & Android
L’environnement du développement mobile iOS & AndroidChris Saez
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOSCocoaHeads France
 
Hermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelHermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelCocoaHeads France
 
L'intégration continue avec Bitrise
L'intégration continue avec BitriseL'intégration continue avec Bitrise
L'intégration continue avec BitriseCocoaHeads France
 
Firebase par nicolas lehovetzki
Firebase par nicolas lehovetzkiFirebase par nicolas lehovetzki
Firebase par nicolas lehovetzkiCocoaHeads France
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! Erwann Robin
 
Test flight et les outils de distribution continue par simone civetta de xebia
Test flight et les outils de distribution continue par simone civetta de xebiaTest flight et les outils de distribution continue par simone civetta de xebia
Test flight et les outils de distribution continue par simone civetta de xebiaCocoaHeads France
 
Apple Watch par Benoit Capallere et Joeffrey Bocquet
Apple Watch par Benoit Capallere et Joeffrey BocquetApple Watch par Benoit Capallere et Joeffrey Bocquet
Apple Watch par Benoit Capallere et Joeffrey BocquetCocoaHeads France
 
L'oculus rift de a à z meetup unity
L'oculus rift de a à z   meetup unityL'oculus rift de a à z   meetup unity
L'oculus rift de a à z meetup unityBeMyApp
 
Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobilesneuros
 
Microsoft Edge pour les développeurs web
Microsoft Edge pour les développeurs webMicrosoft Edge pour les développeurs web
Microsoft Edge pour les développeurs webLaurent Duveau
 
Présentation de Carthage par Simone Civetta
Présentation de Carthage par Simone CivettaPrésentation de Carthage par Simone Civetta
Présentation de Carthage par Simone CivettaCocoaHeads France
 

What's hot (18)

How javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible toolHow javascript core helped PAW to move from a small app to an extensible tool
How javascript core helped PAW to move from a small app to an extensible tool
 
La sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de BockLa sécurité sur iOS par Arnaud de Bock
La sécurité sur iOS par Arnaud de Bock
 
Transition de NIBs/XIBs vers Storyboards
Transition de NIBs/XIBs vers StoryboardsTransition de NIBs/XIBs vers Storyboards
Transition de NIBs/XIBs vers Storyboards
 
CocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nulsCocoaHeads Rennes #7 : Intégration continue pour les nuls
CocoaHeads Rennes #7 : Intégration continue pour les nuls
 
L’environnement du développement mobile iOS & Android
L’environnement du développement mobile iOS & AndroidL’environnement du développement mobile iOS & Android
L’environnement du développement mobile iOS & Android
 
Introduction to WebRTC on iOS
Introduction to WebRTC on iOSIntroduction to WebRTC on iOS
Introduction to WebRTC on iOS
 
Hermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter MeuelHermes, génération et déploiement d'ipa by Peter Meuel
Hermes, génération et déploiement d'ipa by Peter Meuel
 
L'intégration continue avec Bitrise
L'intégration continue avec BitriseL'intégration continue avec Bitrise
L'intégration continue avec Bitrise
 
Firebase par nicolas lehovetzki
Firebase par nicolas lehovetzkiFirebase par nicolas lehovetzki
Firebase par nicolas lehovetzki
 
BlaBlaCar - Going Native !
BlaBlaCar - Going Native ! BlaBlaCar - Going Native !
BlaBlaCar - Going Native !
 
Test flight et les outils de distribution continue par simone civetta de xebia
Test flight et les outils de distribution continue par simone civetta de xebiaTest flight et les outils de distribution continue par simone civetta de xebia
Test flight et les outils de distribution continue par simone civetta de xebia
 
Apple Watch par Benoit Capallere et Joeffrey Bocquet
Apple Watch par Benoit Capallere et Joeffrey BocquetApple Watch par Benoit Capallere et Joeffrey Bocquet
Apple Watch par Benoit Capallere et Joeffrey Bocquet
 
L'oculus rift de a à z meetup unity
L'oculus rift de a à z   meetup unityL'oculus rift de a à z   meetup unity
L'oculus rift de a à z meetup unity
 
Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobiles
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Microsoft Edge pour les développeurs web
Microsoft Edge pour les développeurs webMicrosoft Edge pour les développeurs web
Microsoft Edge pour les développeurs web
 
Plugins Xcode
Plugins XcodePlugins Xcode
Plugins Xcode
 
Présentation de Carthage par Simone Civetta
Présentation de Carthage par Simone CivettaPrésentation de Carthage par Simone Civetta
Présentation de Carthage par Simone Civetta
 

Viewers also liked

CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads France
 
Les différents design patterns pour CoreData par Emmanuel Furnon
Les différents design patterns pour CoreData par Emmanuel FurnonLes différents design patterns pour CoreData par Emmanuel Furnon
Les différents design patterns pour CoreData par Emmanuel FurnonNicolas Lourenço
 
Comment faire de HLS votre solution vidéo préférée ?
Comment faire de HLS votre solution vidéo préférée ?Comment faire de HLS votre solution vidéo préférée ?
Comment faire de HLS votre solution vidéo préférée ?CocoaHeads France
 
Safari app extensions cleared up by Sanaa Squalli
Safari app extensions cleared up by Sanaa SqualliSafari app extensions cleared up by Sanaa Squalli
Safari app extensions cleared up by Sanaa SqualliCocoaHeads France
 
MVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierMVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierCocoaHeads France
 
Découvrir dtrace en ligne de commande.
Découvrir dtrace en ligne de commande.Découvrir dtrace en ligne de commande.
Découvrir dtrace en ligne de commande.CocoaHeads France
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsekito
 
Un retour d'expérience sur Apple Pay
Un retour d'expérience sur Apple PayUn retour d'expérience sur Apple Pay
Un retour d'expérience sur Apple PayCocoaHeads France
 
Build a lego app with CocoaPods
Build a lego app with CocoaPodsBuild a lego app with CocoaPods
Build a lego app with CocoaPodsCocoaHeads France
 
J'ai fait une app native en React Native
J'ai fait une app native en React NativeJ'ai fait une app native en React Native
J'ai fait une app native en React NativeCocoaHeads France
 
Rebranding an ios application
Rebranding an ios applicationRebranding an ios application
Rebranding an ios applicationCocoaHeads France
 
Programme MFI retour d'expérience
Programme MFI retour d'expérienceProgramme MFI retour d'expérience
Programme MFI retour d'expérienceCocoaHeads France
 

Viewers also liked (20)

CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie BessagnetCocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
CocoaHeads Toulouse - iOS TechTalk - Mélanie Bessagnet
 
Les différents design patterns pour CoreData par Emmanuel Furnon
Les différents design patterns pour CoreData par Emmanuel FurnonLes différents design patterns pour CoreData par Emmanuel Furnon
Les différents design patterns pour CoreData par Emmanuel Furnon
 
Comment faire de HLS votre solution vidéo préférée ?
Comment faire de HLS votre solution vidéo préférée ?Comment faire de HLS votre solution vidéo préférée ?
Comment faire de HLS votre solution vidéo préférée ?
 
Safari app extensions cleared up by Sanaa Squalli
Safari app extensions cleared up by Sanaa SqualliSafari app extensions cleared up by Sanaa Squalli
Safari app extensions cleared up by Sanaa Squalli
 
Alamofire
AlamofireAlamofire
Alamofire
 
MVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire LhotelierMVC-RS par Grégoire Lhotelier
MVC-RS par Grégoire Lhotelier
 
Découvrir dtrace en ligne de commande.
Découvrir dtrace en ligne de commande.Découvrir dtrace en ligne de commande.
Découvrir dtrace en ligne de commande.
 
Chainable datasource
Chainable datasourceChainable datasource
Chainable datasource
 
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tlsSpec et test agile sur mobile @airfrance #at lille & cocoaheads tls
Spec et test agile sur mobile @airfrance #at lille & cocoaheads tls
 
Un retour d'expérience sur Apple Pay
Un retour d'expérience sur Apple PayUn retour d'expérience sur Apple Pay
Un retour d'expérience sur Apple Pay
 
Let's migrate to Swift 3.0
Let's migrate to Swift 3.0Let's migrate to Swift 3.0
Let's migrate to Swift 3.0
 
Project Entourage
Project EntourageProject Entourage
Project Entourage
 
BitTorrent on iOS
BitTorrent on iOSBitTorrent on iOS
BitTorrent on iOS
 
Build a lego app with CocoaPods
Build a lego app with CocoaPodsBuild a lego app with CocoaPods
Build a lego app with CocoaPods
 
J'ai fait une app native en React Native
J'ai fait une app native en React NativeJ'ai fait une app native en React Native
J'ai fait une app native en React Native
 
CloudKit as a backend
CloudKit as a backendCloudKit as a backend
CloudKit as a backend
 
Rebranding an ios application
Rebranding an ios applicationRebranding an ios application
Rebranding an ios application
 
Présentation de HomeKit
Présentation de HomeKitPrésentation de HomeKit
Présentation de HomeKit
 
What's new in iOS9
What's new in iOS9What's new in iOS9
What's new in iOS9
 
Programme MFI retour d'expérience
Programme MFI retour d'expérienceProgramme MFI retour d'expérience
Programme MFI retour d'expérience
 

Similar to Présentation iBeacon (cocoaheads toulouse)

Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / Orléans
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / OrléansDécouvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / Orléans
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / OrléansFlorian Rousselet
 
Ibeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux businessIbeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux businessChris Saez
 
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
 
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3Florian Rousselet
 
Présentation Arduino
Présentation ArduinoPrésentation Arduino
Présentation ArduinoArnaud Boudou
 
"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hoursLaurent MEURISSE
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
iPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesiPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesFabrice Delhoste
 
Niji rapport de prévention 2021 - i os 15
Niji   rapport de prévention 2021 - i os 15Niji   rapport de prévention 2021 - i os 15
Niji rapport de prévention 2021 - i os 15Gabriel DUPONT
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotiqueLouise Roy
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...Pôle Systematic Paris-Region
 
Philippe Libioulle - Soirée IoT!
Philippe Libioulle - Soirée IoT!Philippe Libioulle - Soirée IoT!
Philippe Libioulle - Soirée IoT!MSDEVMTL
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur site
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur siteCWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur site
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur siteCapgemini
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Cédric Leblond
 
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaUbuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaJérôme aka "Genma" Kun
 
Formation développement iOS - Tutoriel
Formation développement iOS - TutorielFormation développement iOS - Tutoriel
Formation développement iOS - TutorielHETIC
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Yannick Comte
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Trésor-Dux LEBANDA
 

Similar to Présentation iBeacon (cocoaheads toulouse) (20)

Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / Orléans
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / OrléansDécouvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / Orléans
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3 / Orléans
 
Ibeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux businessIbeacon, une technologie à fort enjeux business
Ibeacon, une technologie à fort enjeux business
 
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"
 
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3
Découvrir l'IoT avec Windows 10 et le Raspberry Pi 3
 
Ibeacon.pptx
Ibeacon.pptxIbeacon.pptx
Ibeacon.pptx
 
Présentation Arduino
Présentation ArduinoPrésentation Arduino
Présentation Arduino
 
"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours"Introduction aux Developements iOS" in Three hours
"Introduction aux Developements iOS" in Three hours
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
iPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesiPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications natives
 
Niji rapport de prévention 2021 - i os 15
Niji   rapport de prévention 2021 - i os 15Niji   rapport de prévention 2021 - i os 15
Niji rapport de prévention 2021 - i os 15
 
Présentation de la robotique
Présentation de la robotiquePrésentation de la robotique
Présentation de la robotique
 
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
OSIS19_IoT : State of the art in security for embedded systems and IoT, by Pi...
 
Philippe Libioulle - Soirée IoT!
Philippe Libioulle - Soirée IoT!Philippe Libioulle - Soirée IoT!
Philippe Libioulle - Soirée IoT!
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur site
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur siteCWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur site
CWIN17 Paris/ Field Worker, solution PAN LAN d’aide aux intervenants sur site
 
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
Retour d'expérience Docker: Puissance et simplicité de VSTS, déploiement sur ...
 
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de MozillaUbuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
Ubuntu Party Mai 2015 - FirefoxOS, l'OS pour Smarpthone de Mozilla
 
Formation développement iOS - Tutoriel
Formation développement iOS - TutorielFormation développement iOS - Tutoriel
Formation développement iOS - Tutoriel
 
Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3Réalité virtuelle + Open source = <3
Réalité virtuelle + Open source = <3
 
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
 

Présentation iBeacon (cocoaheads toulouse)

  • 2. • Arnaud Boudou – Développeur Java / iOS chez ekito – Twitter : @boudouarnaud – Web (ekito) : http://www.ekito.fr/people?author_name=aboudou – Web (perso) : http://goddess-gate.com/ 30/01/2014 www.ekito.fr 2
  • 3. Sommaire • La localisation indoor • Qu’est-ce qu’iBeacon • Avec iOS • Limitations 30/01/2014 www.ekito.fr 3
  • 4. La localisation indoor • Positionnement géographique, les différentes méthodes : – Réseau cellulaire – Points d’accès WIFI – GPS • Dans certains cas, ces solutions ne sont pas viables en intérieur • Solution proposée par Apple : iBeacon 30/01/2014 www.ekito.fr 4
  • 5. Qu’est ce qu’iBeacon ? • iBeacon ≠ pomme au bacon • iBeacon = iBalise / iPhare • Émetteur radio basé sur la norme BLE (Bluetooth Low Energy) • Faible portée : environ 10m, fonction de la puissance d’émission • Forte autonomie, fonction de la puissance d’émission 30/01/2014 www.ekito.fr 5
  • 6. Qu’est ce qu’iBeacon ? • Techniquement : – Utilise un champ optionnel des paquets d’avertissement – Message sous la forme 02 | 15 | E2 0A 39 F4 73 F5 4B C4 A1 2F 17 D1 AD 07 A9 61 | 00 00 | 00 00 | C8 • • • • • • ID : toujours 0x02 Data length : taille du message en octets. Ici 0x15 (= 21 octets) UUID : identifiant iBeacon (différent de l’identifiant Bluetooth) Numéro major Numéro minor TX Power : niveau de puissance, utilisé pour « calculer » la distance entre l’iBeacon et le périphérique iOS 30/01/2014 www.ekito.fr 6
  • 7. Qu’est ce qu’iBeacon ? • Les identifiants d’un iBeacon : – UUID : Identifiant semi-unique, pour une entreprise – Major : Identifiant d’un des locaux de l’entreprise – Minor : Identifiant d’un lieu précis du local précédent • Exemple Apple Store – UUID identique pour l’ensemble des AS – Major en fonction d’un AS donné – Minor en fonction d’un rayon donné de l’AS correspondant 30/01/2014 www.ekito.fr 7
  • 8. Compatibilité • Compatibilité : – iOS 7 + • • • • iPhone 4S et suivants iPad 3 et suivants iPad mini et suivants iPod Touch 5 et suivants – OS X 10.9 + machines équipées en Bluetooth 4.0 (en émetteur) – Android 4.3 + devices équipés en Bluetooth 4.0 – Machines sous Linux avec BlueZ (en émetteur) 30/01/2014 www.ekito.fr 8
  • 9. Avec iOS • Dépend de CoreLocation (et non CoreBluetooth) : NSUUID *uuid = [[NSUUID alloc] initWithUUIDString:@"B9407F30-F5F8-466E-AFF9-25556B57FE6D"]; CLBeaconMajorValue major = 42176; CLBeaconMinorValue minor = 34023; NSString *regionIdentifier = @"com.example.identifier.ibeacon"; CLBeaconRegion *beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:major minor:minor identifier:regionIdentifier]; 30/01/2014 www.ekito.fr 9
  • 10. Avec iOS • Deux types de méthodes – Dépendent de CLLocationManagerDelegate – Méthode de type « Ranging » – Méthode de type « Monitoring » 30/01/2014 www.ekito.fr 10
  • 11. Avec iOS • Méthode de type Ranging : – Uniquement quand l’application est active au premier plan – Permet de récupérer les informations de l’iBeacon détecté • • • • • • 30/01/2014 UUID Major Minor RSSI Distance Accuracy www.ekito.fr 11
  • 12. Avec iOS • Une seule méthode -(void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region Est appelée quand le statut d’un iBeacon à portée du iDevice change. 30/01/2014 www.ekito.fr 12
  • 13. Avec iOS • Méthodes de type Monitoring: – Fonctionnent aussi avec l’application en arrière plan – Doivent aussi fonctionner avec application arrêtée (d’après Doc Apple), mais échec. – Permettent seulement de savoir quand on rentre ou sort d’une région. 30/01/2014 www.ekito.fr 13
  • 14. Avec iOS • Deux méthodes - (void)locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region Est appelée quand l’iDevice rentre dans une région définie. - (void)locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region Est appelée quand l’iDevice sort d’une région définie. 30/01/2014 www.ekito.fr 14
  • 15. Limitations • Pour le moment, techno Apple-centrée (pas de support officiel pour les autres OS) • UUID iBeacon ≠ UUID Bluetooth – Si un iBeacon propose des services Bluetooth, c’est à l’application de faire le lien entre les deux 30/01/2014 www.ekito.fr 15
  • 16. Ressources • Salade de bacon à la pomme : http://www.elle.fr/Elle-a-Table/Recettesde-cuisine/salade-de-bacon-a-la-pomme-549374 • Doc Apple : Ahem… (a.k.a. /dev/null, HTTP 404, etc.) • Gestion du monitoring en avant et arrière plan (point de vue performances) : http://developer.radiusnetworks.com/2013/11/13/ibeacon-monitoring-inthe-background-and-foreground.html • Un projet d’exemple pour le monitoring et ranging iBeacon : https://github.com/Ekito/TestBeacon • Emetteur iBeacon pour OS X : https://github.com/lgaches/BeaconEmitter • Billet sir iBeacon, avec extraits de code et prototypes : http://www.ekito.fr/people/?p=3698 30/01/2014 www.ekito.fr 16
  • 18. Plus d’informations Laurent Blondon ekito SARL au capital de 150 000 € RCS Toulouse 485 109 300 1 place de la bourse 31000 Toulouse contact@ekito.fr – www.ekito.fr 30/01/2014 www.ekito.fr Responsable Commercial Tél. : + 33 (0) 659 976 860 lblondon@ekito.fr 18
  • 19. Copyright • Vous êtes libres de : – Reproduire, distribuer et communiquer l’œuvre – Adapter l’œuvre – D’utiliser cette œuvre à des fins commerciales • Selon les conditions suivantes : – Vous devez attribuer l’œuvre de la manière indiquée par l’auteur de l’œuvre ou le titulaire des droits (mais pas d’une manière qui suggérerait qu’ils vous approuvent, vous ou votre utilisation de l’œuvre). http://creativecommons.org/licenses/by/3.0/fr/ 30/01/2014 www.ekito.fr 19