Présentation iBeacon (cocoaheads toulouse)

8 020 vues

Publié le

Slides de la présentation iBeacon pour la session CocoaHeads Toulouse du 30 janvier 2014.

Certains slides ont des infos complémentaires dans les notes de présentation, ne pas hésiter à télécharger pour les voir.

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
8 020
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5 784
Actions
Partages
0
Téléchargements
47
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Présentation iBeacon (cocoaheads toulouse)

  1. 1. Présentation iBeacon Arnaud Boudou 30/01/2014
  2. 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. 3. Sommaire • La localisation indoor • Qu’est-ce qu’iBeacon • Avec iOS • Limitations 30/01/2014 www.ekito.fr 3
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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
  17. 17. Des questions ? 30/01/2014 www.ekito.fr 17
  18. 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. 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

×