SlideShare a Scribd company logo
1 of 39
MILAN november 28th/29th, 2014 
Francesco Novelli 
Bluetooth 4.0 and iBeacons in your 
iOS app 
francesco.nove@gmail.com - RunCode 
@if9 
runcode.it
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
Thanks to: 
blinkar 
http://blinkar.it
MILAN november 28th/29th, 2014 – Francesco Novelli 
Agenda: 
• Bluetooth 4.0 
• iBeacons 
• Beacons alternatives 
• iOS 7…7.1….8!
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
LOW 
ENERGY!!!!
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)
MILAN november 28th/29th, 2014 – Francesco Novelli 
Bluetooth 4.0: A cosa non serve 
• Auricolari 
• Scambio dati 
• Cuffie 
• … 
• e quindi??
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!
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
Bluetooth 4.0 e iOS 
• CoreBluetooth 
• iOS e Mac OS X 
• Bluetooth ad alto livello
MILAN november 28th/29th, 2014 – Francesco Novelli 
Bluetooth 4.0 e iOS 
• CBCentralManager: 
• CBPeripheral: device bluetooth 
• CBService: servizi del device 
• CBCharacteristic: informazioni del servizio
MILAN november 28th/29th, 2014 – Francesco Novelli 
Bluetooth 4.0 e iOS 
123
MILAN november 28th/29th, 2014 – Francesco Novelli 
DEMO
MILAN november 28th/29th, 2014 – Francesco Novelli 
Bluetooth 4.0 e iOS 
• iPhone 4s + 
• Mac 
Thanks to theapplelounge.com
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon 
• Cos’è? 
• Come funziona? 
• Dove si trova? 
• Quanto costa? 
• Come lo uso?
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.
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: notify…what? 
• UDID (Hex ID) 
• Major (Int) 
• Minor (Int) 
• … 
• Sempre! 
• A chiunque, in broadcasting
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.
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: cos’è fisicamente?
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon da iDevice 
• CoreBluetooth.framework 
(AirLocate sample code) 
_peripheralManager = 
[[CBPeripheralManager alloc] initWithDelegate:self 
queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; 
NSDictionary *peripheralData = nil; 
if(_uuid && _major && _minor) 
{ 
CLBeaconRegion *region = 
[[CLBeaconRegion alloc] initWithProximityUUID:_uuid 
major:[_major shortValue] 
minor:[_minor shortValue] 
identifier:@"com.apple.AirLocate"]; 
peripheralData = [region peripheralDataWithMeasuredPower:_power]; 
} 
[_peripheralManager startAdvertising:peripheralData];
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Gli altri
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Estimote 
• Largamente apprezzati 
• Versione stickers (accelerometro e 
temperatura) 
• Custom SDK 
• Android SDK 
• Costo elevato
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Consumi 
http://is.gd/ibeaconcomp
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Come lo uso? 
NOTIFY MONITORING
MILAN november 28th/29th, 2014 – Francesco Novelli
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)
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Notify 
_locationManager = [[CLLocationManager alloc] init]; 
_locationManager.delegate = self; 
CLBeaconRegion *region = nil; 
_uuid = [[NSUUID alloc] initWithUUIDString:@“E2C56DB5-DFFB-48D2-B060- 
D0F5A71096E0"]; 
region = 
[[CLBeaconRegion alloc] initWithProximityUUID:_uuid 
identifier:@"com.apple.AirLocate"]; 
region.notifyOnEntry = YES; 
region.notifyOnExit = YES; 
region.notifyEntryStateOnDisplay = YES; 
[_locationManager startMonitoringForRegion:region];
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;
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Notify, quando? 
• Location awareness push notification 
• Interattività dell’app 
• Pagamenti
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Monitoring 
_locationManager = [[CLLocationManager alloc] init]; 
_locationManager.delegate = self; 
CLBeaconRegion *region = nil; 
_uuid = 
[[NSUUID alloc] initWithUUIDString:@“E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"]; 
region = [[CLBeaconRegion alloc] initWithProximityUUID:_uuid 
identifier:@"com.apple.AirLocate"]; 
[_locationManager startRangingBeaconsInRegion:region]; 
- (void)locationManager:(CLLocationManager *)manager 
didRangeBeacons:(NSArray *)beacons 
inRegion:(CLBeaconRegion *)region { 
NSLog(@"Major: %@, Minor: %@, Acc: %.2fm %li", beacon.major, beacon.minor, 
beacon.accuracy, beacon.proximity); 
}
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
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
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Case history 
• MLB 
• Virgin 
• Apple Store 
• Musei Palazzo Farnese 
• Nazioni unite 
• Parchi floreali 
• Caccia al tesoro 
• …
MILAN november 28th/29th, 2014 – Francesco Novelli 
iBeacon: Android 
• Android 4.3+ (e.g. Samsung Galaxy S3/S4/S4 
Mini, Samsung Galaxy Note 2/3, HTC One, 
Google/LG Nexus 7 2013 version/Nexus 
4/Nexus 5, HTC Butterfly, OnePlus One) 
• SDK produttori (Gimbal, Estimote, etc) 
• AltBeacon Project
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
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

More Related Content

Similar to Bluetooth 4.0 and iBeacons in your iOS app - Francesco Novelli - Codemotion Milan 2014

FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsFIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsCodemotion
 
Backend as a Service: Parse - Moriconi
Backend as a Service: Parse - MoriconiBackend as a Service: Parse - Moriconi
Backend as a Service: Parse - MoriconiCodemotion
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreENTER S.r.l.
 
muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"Daniel Bryant
 
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016Post password era - Bernard Toplak, OWASP Croatia Meetup 2016
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016Bernard Toplak
 
Presentazione Codemotion
Presentazione Codemotion Presentazione Codemotion
Presentazione Codemotion LinkMe Srl
 
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and Entitlements
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and EntitlementsRuxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and Entitlements
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and EntitlementsStefan Esser
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreCodemotion
 
ESP8266 and IOT
ESP8266 and IOTESP8266 and IOT
ESP8266 and IOTdega1999
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Cyber Security Alliance
 
iBeacons e le novità di BLE [Mokapp 2013]
iBeacons e le novità di BLE [Mokapp 2013]iBeacons e le novità di BLE [Mokapp 2013]
iBeacons e le novità di BLE [Mokapp 2013]Francesco Novelli
 
OSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
OSMC 2010 | Munin & Nagios by Stig Sandbeck MathisenOSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
OSMC 2010 | Munin & Nagios by Stig Sandbeck MathisenNETWAYS
 
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOTAndrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOTCodemotion
 
Matteo Meucci OWASP Testing Guide v4
Matteo Meucci OWASP Testing Guide v4Matteo Meucci OWASP Testing Guide v4
Matteo Meucci OWASP Testing Guide v4Matteo Meucci
 
Mobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchMobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchJanusz Chudzynski
 
Fred bovyresume@2
Fred bovyresume@2Fred bovyresume@2
Fred bovyresume@2Fred Bovy
 

Similar to Bluetooth 4.0 and iBeacons in your iOS app - Francesco Novelli - Codemotion Milan 2014 (20)

FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEsFIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
FIWARE Accelerator Programme: 80 Milion Euro for Start-Ups and SMEs
 
Backend as a Service: Parse
Backend as a Service: ParseBackend as a Service: Parse
Backend as a Service: Parse
 
Backend as a Service: Parse - Moriconi
Backend as a Service: Parse - MoriconiBackend as a Service: Parse - Moriconi
Backend as a Service: Parse - Moriconi
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
 
muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"muCon 2014 "Building Java Microservices for the Cloud"
muCon 2014 "Building Java Microservices for the Cloud"
 
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016Post password era - Bernard Toplak, OWASP Croatia Meetup 2016
Post password era - Bernard Toplak, OWASP Croatia Meetup 2016
 
Presentazione Codemotion
Presentazione Codemotion Presentazione Codemotion
Presentazione Codemotion
 
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and Entitlements
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and EntitlementsRuxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and Entitlements
Ruxcon 2014 - Stefan Esser - iOS8 Containers, Sandboxes and Entitlements
 
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso CrowdcoreSviluppare in cloud con M.E.A.N.: il caso Crowdcore
Sviluppare in cloud con M.E.A.N.: il caso Crowdcore
 
ESP8266 and IOT
ESP8266 and IOTESP8266 and IOT
ESP8266 and IOT
 
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100Create a-strong-two-factors-authentication-device-for-less-than-chf-100
Create a-strong-two-factors-authentication-device-for-less-than-chf-100
 
iBeacons e le novità di BLE [Mokapp 2013]
iBeacons e le novità di BLE [Mokapp 2013]iBeacons e le novità di BLE [Mokapp 2013]
iBeacons e le novità di BLE [Mokapp 2013]
 
OSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
OSMC 2010 | Munin & Nagios by Stig Sandbeck MathisenOSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
OSMC 2010 | Munin & Nagios by Stig Sandbeck Mathisen
 
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOTAndrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
Andrea De Gaetano - An Adventure with ESP8266 firmwares and IOT
 
Communitydays2014
Communitydays2014Communitydays2014
Communitydays2014
 
Matteo Meucci OWASP Testing Guide v4
Matteo Meucci OWASP Testing Guide v4Matteo Meucci OWASP Testing Guide v4
Matteo Meucci OWASP Testing Guide v4
 
Deploy via CircleCI
Deploy via CircleCIDeploy via CircleCI
Deploy via CircleCI
 
Mobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple WatchMobile development in age of Internet of Things and programming Apple Watch
Mobile development in age of Internet of Things and programming Apple Watch
 
Fred bovyresume@2
Fred bovyresume@2Fred bovyresume@2
Fred bovyresume@2
 
Communitydays2015
Communitydays2015Communitydays2015
Communitydays2015
 

More from Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

More from Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
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
  • 3. MILAN november 28th/29th, 2014 – Francesco Novelli Thanks to: blinkar http://blinkar.it
  • 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
  • 6. MILAN november 28th/29th, 2014 – Francesco Novelli LOW ENERGY!!!!
  • 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
  • 13. MILAN november 28th/29th, 2014 – Francesco Novelli Bluetooth 4.0 e iOS 123
  • 14. MILAN november 28th/29th, 2014 – Francesco Novelli DEMO
  • 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.
  • 20. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: cos’è fisicamente?
  • 21. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon da iDevice • CoreBluetooth.framework (AirLocate sample code) _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; NSDictionary *peripheralData = nil; if(_uuid && _major && _minor) { CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:_uuid major:[_major shortValue] minor:[_minor shortValue] identifier:@"com.apple.AirLocate"]; peripheralData = [region peripheralDataWithMeasuredPower:_power]; } [_peripheralManager startAdvertising:peripheralData];
  • 22. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Gli altri
  • 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
  • 25. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Consumi http://is.gd/ibeaconcomp
  • 26. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Come lo uso? NOTIFY MONITORING
  • 27. MILAN november 28th/29th, 2014 – Francesco Novelli
  • 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)
  • 29. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Notify _locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; CLBeaconRegion *region = nil; _uuid = [[NSUUID alloc] initWithUUIDString:@“E2C56DB5-DFFB-48D2-B060- D0F5A71096E0"]; region = [[CLBeaconRegion alloc] initWithProximityUUID:_uuid identifier:@"com.apple.AirLocate"]; region.notifyOnEntry = YES; region.notifyOnExit = YES; region.notifyEntryStateOnDisplay = YES; [_locationManager startMonitoringForRegion:region];
  • 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
  • 33. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Monitoring _locationManager = [[CLLocationManager alloc] init]; _locationManager.delegate = self; CLBeaconRegion *region = nil; _uuid = [[NSUUID alloc] initWithUUIDString:@“E2C56DB5-DFFB-48D2-B060-D0F5A71096E0"]; region = [[CLBeaconRegion alloc] initWithProximityUUID:_uuid identifier:@"com.apple.AirLocate"]; [_locationManager startRangingBeaconsInRegion:region]; - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region { NSLog(@"Major: %@, Minor: %@, Acc: %.2fm %li", beacon.major, beacon.minor, beacon.accuracy, beacon.proximity); }
  • 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 • …
  • 37. MILAN november 28th/29th, 2014 – Francesco Novelli iBeacon: Android • Android 4.3+ (e.g. Samsung Galaxy S3/S4/S4 Mini, Samsung Galaxy Note 2/3, HTC One, Google/LG Nexus 7 2013 version/Nexus 4/Nexus 5, HTC Butterfly, OnePlus One) • SDK produttori (Gimbal, Estimote, etc) • AltBeacon Project
  • 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

  1. Le differenze a livello di abbinamento, Differenza di consumo Differenza di utilizzo con meno range e Throughput Vantaggio enorme sulla latenza
  2. 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
  3. Identifier della region Notify On…
  4. CLRegionState { CLRegionStateUnknown, CLRegionStateInside, CLRegionStateOutside } --- CLBeacon *beacon = (CLBeacon *)region;
  5. 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