With iOS 7 Apple introduced iBeacons. It's a new API based on Bluetooth 4.0 called Bluetooth Low Energy. In this we will see how everyone can use iBeacons to create great iOS app, also if you aren't an hardware guy. A small part of the talk will explain how to use CoreBluetooth framework to connect to BLE devices. After this talk you will be able to use Bluetooth 4.0 easily in you app.
How to Remove Document Management Hurdles with X-Docs?
Bluetooth 4.0 and iBeacons in your iOS app - Francesco Novelli - Codemotion Milan 2014
1. MILAN november 28th/29th, 2014
Francesco Novelli
Bluetooth 4.0 and iBeacons in your
iOS app
francesco.nove@gmail.com - RunCode
@if9
runcode.it
2. MILAN november 28th/29th, 2014 – Francesco Novelli
Chi sono?
1. Appassionato di tecnologia!
2. Freelance!
3. iOS Developer
4. Blogger per devApp.it
5. Ex Scrittore di libri
6. Ex Web Developer
4. MILAN november 28th/29th, 2014 – Francesco Novelli
Agenda:
• Bluetooth 4.0
• iBeacons
• Beacons alternatives
• iOS 7…7.1….8!
5. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0: cos’è?
• BLE: Bluetooth Low
Energy
• Standard, niente draft!
(dal 2010)
• Chip diverso da 3.0 e
non retro compatibile
• Dual Chip Device
7. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0: Le novità “minori”
• Niente abbinamenti, accoppiamenti, PIN, attese
• Advertising continuo (se acceso…)
• Low energy
MIN 0.01 - MAX 0.5
Old Bluetooth 1
• Meno Range (50m vs 100m)
• Meno Throughput (0.27Mbit/s vs 2.1 Mbit/s)
• Meno Latency (6ms vs 100ms)
8. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0: A cosa non serve
• Auricolari
• Scambio dati
• Cuffie
• …
• e quindi??
9. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0: A cosa serve
• IoT Internet of Things
• Orologi (Apple Watch, Android Wear, Pebble)
• Sport e device fitness
• Healtcare
• Security
• Proxymity
• Automation
• Everything!
10. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0: Profili di utilizzo
• GATT: is.gd/blegatt
• Da leggere per
developer
• Da leggere per ogni
hardware makers
• Adattare il device BLE
con i profili
11. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0 e iOS
• CoreBluetooth
• iOS e Mac OS X
• Bluetooth ad alto livello
12. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0 e iOS
• CBCentralManager:
• CBPeripheral: device bluetooth
• CBService: servizi del device
• CBCharacteristic: informazioni del servizio
15. MILAN november 28th/29th, 2014 – Francesco Novelli
Bluetooth 4.0 e iOS
• iPhone 4s +
• Mac
Thanks to theapplelounge.com
16. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon
• Cos’è?
• Come funziona?
• Dove si trova?
• Quanto costa?
• Come lo uso?
17. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon
iBeacon, a new class of low-powered, low-cost
transmitters that can notify nearby iOS 7
devices of their presence, provides apps a whole
new level of location awareness, such as trail
markers in a park, exhibits in a museum, or
product displays in stores.
18. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: notify…what?
• UDID (Hex ID)
• Major (Int)
• Minor (Int)
• …
• Sempre!
• A chiunque, in broadcasting
19. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Sample
• UUDID: E2C56DB5-DFFB-48D2-B060-D0F5A71096E0
Museo Uffizi
• Major: int 2
Piano 2
• Minor: int 13
Quadro 13
• quindi…
• sei nel Museo al secondo piano davanti al quadro 13.
propongo audio guida per quel quadro.
23. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Estimote
• Largamente apprezzati
• Versione stickers (accelerometro e
temperatura)
• Custom SDK
• Android SDK
• Costo elevato
24. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Gimbal
• Qualcomm!
• Prezzo basso
• Programmabili via iPhone
• SDK potenziato (non obbligatorio)
• Controllo via web (con SDK proprietario)
• Android SDK
• Consumo batteria da rivedere
• Versione Tag o Device
28. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Notify
• CLLocationManager e delegate
• Metodo delegate chiamato ad ogni entrata o
uscita da una CLBeaconRegion (campo
iBeacon)
• Disponibile anche ad app in background
• Si può osservare un UUID o una iBeacon
(UUID + Major + Minor)
30. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Notify delegate
- (void)locationManager:(CLLocationManager *)manager
didEnterRegion:(CLRegion *)region;
- (void)locationManager:(CLLocationManager *)manager
didExitRegion:(CLRegion *)region;
- (void)locationManager:(CLLocationManager *)manager
didDetermineState:(CLRegionState)state forRegion:
(CLRegion *)region;
31. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Notify, quando?
• Location awareness push notification
• Interattività dell’app
• Pagamenti
32. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Monitoring
• CLLocationManager e delegate
• Metodo del delegate invocato ogni secondo
(se ci sono 1 o più beacon)
• Array di beacons
34. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Monitoring, quando?
• Geofencing al chiuso
• Elencare beacons vicini
• Ottenere le distanza da un beacon
• Visualizzare informazioni con app aperta
35. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: iOS Roadmap
• 7.0 Introduzione
• 7.1 Notify con app killate
Velocità maggiore per le notifiche
• 8.0 Continuity Icon
36. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Case history
• MLB
• Virgin
• Apple Store
• Musei Palazzo Farnese
• Nazioni unite
• Parchi floreali
• Caccia al tesoro
• …
38. MILAN november 28th/29th, 2014 – Francesco Novelli
iBeacon: Resources
• iBeacon Bible
• developer.apple.com/ibeacon
• WWDC 2014 Session 307 – What’s New In
Core Location
• AirLocate Sample Code
39. MILAN november 28th/29th, 2014
Thanks
Francesco Novelli
Bluetooth 4.0 and iBeacons in your
iOS app
francesco.nove@gmail.com - RunCode
@if9
runcode.it
Editor's Notes
Le differenze a livello di abbinamento,
Differenza di consumo
Differenza di utilizzo con meno range e Throughput
Vantaggio enorme sulla latenza
Spiegare codice, facendo riferimento a CBPeripheralManager e CLBeaconRegion (CLRegion è diventata astratta)
Perché usare un iPad? Come periferica?
Tanti negozi hanno già un iPad che usano con app dedicate
iPad come registratori di cassa
iPad per magazzini
MLB: Checkin e contenuti esclusivi sbloccati in 20 stadi
Virgin: Heathrow, notifiche in base a Passbook e indoor-positioning
Virgin e anche easyjet a London Luton e gatwick e CDG a Parigi con messaggi in base a posizioni rilevanti oltre alla posizione per fare il checkin dei bagagli
American Airlines per non perdersi a Dallas
Apple store => notifiche per prodotti interessanti a cui sei vicino
Palazzo Farnese di Piacenza. Audio guida automatica gestita on-demand
Nazioni unite: addestramento per la ricerca di mine tramite la simulazione e iBeacon
Tulpenland: avvicinanandosi ai fiori si hanno informazioni relativi a cosa si vede
- CES Las vegas. Organizzata una caccia al tesoro con premi veri usando iBeacons