SlideShare una empresa de Scribd logo
¿Qué es un iBeacon y
como funciona?

Pedro Muñoz Cabrera

pmunoz08@gmail.com

@pmunoz08
Qué es un beacon?
No es bacon, es beacon!!!

Su inicio data del 2007, cuando Nokia creó Wibree, punto de inicio de
BLE.

Funciona bajo el protocolo BLE (Bluetooth 4.0) junio 2010

Indoor positioning sytem o “System Advertising”.

Envía información contínuamente, no necesario ser enlazado

CB 4.0 emite en una frecuencia de 2.4GHz, divididos en 39 canales de
2.0 MHz. (36 primeros para intercambio de datos con dispositivos enlazados, los otros 3 son
los usados para “Advertising”)

Alcamce 50-70m dependiendo de posibles interferencias.
y un iBeacon?
Es el nombre comercial acuñado por Apple para los beacons.

“a new class of low-powered, low-cost transmitters that can notify nearby iOS
7 devices of their presence.” WWDC 2013

Soportado por :

iPhone 4S y posteriores

iPad3 y posteriores

iPod touch 5ª generación

Macs con Mavericks y Bluetooth 4.0
y un iBeacon?
!
Aunque Bluetooth 4.0 está soportado desde iOS 5.0 hasta iOS 7 no hemos contado
una api para trabjar con beacons incluyendo en el Framework Core Location:

Nuevos métodos en el protocolo CLLocationManagerDelegate

CLBeacon

CLBeaconRegion


Dentro Bluetooth LE hay dos grupos o conceptos:

Peripheral. Informan de servicios y expone sus características (properties).

Central. Buscar servicios y leen/escriben las propiedades del mismo.

Un iBeacon es un “Peripheral” que expone sus características pero no es un
servicio BLE
CLLocationManagerDelegate
Para poder interactuar con iBeacons en iOS7 se han añadido algunos métodos al
protocolo CLLocationMAnagerDelegate:

locationManager:didDetermineState:forRegion:
El CLLocationManager llama a este método cuando se pasa la frontera de una region.
CLREgionState: (CLRegionStateUnknown, CLRegionStateInside, CLRegionStateOutside)


locationManager:didRangeBeacons:inRegion:
El CLLocationMAnager llama a este método cuando detecta beacons o dejar de
detectarlos. Los iBeacosn detectados se reciben en un aray ordenados por proximidad.
El más cercano el primero.



locationManager:rangingBeaconsDidFailForRegion:withError:
Si una CLBeaconRegion contiene datos no válidos o falla al registrase.


requestStateForRegion:
Nos permite preguntar por estado del dispositivo en relación con una región.
CLBeacon
Hereda de NSObject y representa alos iBeacons encontrados en
una CLBeaconRegion.

Nos provee de las siguientes propiedades:

proximityUUID. Un ID global, por ejemplo para identificar una compañía.

major y minor. Permite crear áreas o secciones de beacons

proximity. Distancia relativa a un iBeacon (Inmediate, Near, Far, Unknown)

accuracy. Distancia en metros. No posición exacta

rssi. Fuerza de la señal recibida medida en Db

Crear un uuid en terminal

$ uuidgen
F33AA853-94A8-4912-8BCF-D2EF6C2EF36F
CLBeaconRegion
Hereda de CLRegion, define una región basada en la proximidad de un
dispositivo a un CLBeacon. Nos ofrece 3 inicializadores:

initWithProximityUUID:identifier:

initWithProximityUUID:major:identifier:

initWithProximityUUID:major:minor:identifier:


!
CLBeaconRegion *region = [[CLBeaconRegion alloc]
initWithProximityUUID:uuid
major:major
minor:minor
identifier:kBeaconIdentifier];
CLBeaconRegion
Propiedades:

notifyEntryStayOnDisplay. Si su valor es YES, envía
notificaciones de beacons, cuando el usuario enciende la pantalla del
dispositivo y está dentro de la región, incluso si la app no está
corriendo, en este caso la app se lanza en background. Ojo que la app
no esté corriendo se refiere a que esté inactiva porque la ha parado el
SO, si la apara el usuario, la app no recibirá notificaciones. Default NO


CLRegion:

notifyOnEntry. llamará a locationManager:didEnterRegion:
cunado se entre en una región .Default Yes


notifyOnExit. llamará a locationManager:didExitRegion:
cunado se salga en una región .Default Yes
Monitoring iBeacons
!

self.locManager = [[CLLocationManager alloc] init];
[self.locManager setDelegate:self];
if ([CLLocationManager isRangingAvailable]) {
NSLog(@"Beacon ranging available");

NSUUID *proximityUUID = [[NSUUID alloc]
initWithUUIDString:UUIDiBeacon];
self.beaconRegion = [[CLBeaconRegion alloc]
initWithProximityUUID:proximityUUID identifier:@"com.softpmc.beacons"];

!

[self.beaconRegion setNotifyEntryStateOnDisplay:YES];
[self.locManager startMonitoringForRegion:self.beaconRegion];
}
Ranging iBeacons
#pragma mark - CLLocationManagerDelegate

!

- (void)locationManager:(CLLocationManager *)manager didDetermineState:
(CLRegionState)state forRegion:(CLRegion *)region{
if (state == CLRegionStateInside) {

!
}

[self.locManager startRangingBeaconsInRegion:(CLBeaconRegion *)region];
} else {
}

[self.locManager stopRangingBeaconsInRegion:(CLBeaconRegion *)region];

!

- (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray
*)beacons inRegion:(CLBeaconRegion *)region {
if ([beacons count] != 0) {
for (CLBeacon *beacon in beacons) {
//Do something

}

}

}
CLBeaconRegion
Métodos:

peripheralDataWithMeasuredPower:
Devuelve un diccionario con la información que identifica al beacon codificada
además de la información a trnasmitir. Este diccionario se debe pasar a una
instancia de CBPeropheralMAnager al método startAdvertising. Este es uno de
los pasos a realizar para convertir nuestro dispositivo en un iBeacon. Lo veremos
despues en un ejemplo.


El parámetro measuredPower es opcional, representa la medida de la
fuerza de la señal a 1 metro de distancia del beacon.
Donde encuentro un iBeacon?
Posiblemente lleves un potencial iBeacon en el bolsillo :-).
Como hemos visto un iPhone puede funcionar como iBeacon,
lo veremos en una Demo.
Donde encuentro un iBeacon?
Posiblemente lleves un potencial iBeacon en el bolsillo :-). Como
hemos visto un iPhone puede funcionar como iBeacon, lo veremos en
una Demo.

_peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self
queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];

!

!

CLBeaconRegion *region = [[CLBeaconRegion alloc]
initWithProximityUUID:uuid
major:major
minor:minor
identifier:kBeaconIdentifier];

NSDictionary *peripheralData = [region
peripheralDataWithMeasuredPower:nil];
[_peripheralManager startAdvertising:peripheralData];

!

//opcional
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Donde encuentro un iBeacon?
!
Además, acutalmente hay varios fabricantes que comercializan iBeacons e
imagino que el número crecerá, algunos son estos:

RedBearLAb, plug in board for arduino http:/
/redbearlab.com/
bleshield

Kontakt http:/
/kontakt.io/order-now

GeoHopper http:/
/geohopper.com/bleu/pricing

Estimote http:/
/estimote.com

Remotte http:/
/remotte.com




De las opciones de arriba la que me parecío más interesante fué la de
Estimote.
Qué oferece Estimote?
Los iBeacons distribuidos por Estimote tienen las siguientes carácterísticas:

CPU 32.bit ARM Cortex con 256kb de memoria flash.

Acelerómetro.

Sensor de temperatura.

SDK, realmente es un wrapper de CLLocationManager,
CLBeaconRegion y CLBeacon. A parte de ofrecerte una api para
modificar la configuración de los iBeacons (No el proximityUUID, viene
fijo de fábrica), actualizar el firmaware, modificar la frecuencia de
emisión,....

Autonomía de 2 años y alcance de 70 metros (en un escenaro ideal,
sin interferencias)

Es estanco afirman que puede funcionar bajo el agua.

Si he de decir, que está en versión beta y el SDK, no permite exprimir al
máximo los ibeacons aún.
Qué usos se le puede
dar a un iBeacon?
Geoposicionamiento “indoor”, crear zonas, Proximidad,...lo que se
te ocurra a partir de la detección de 1 punto o región.

En Passkit, ahora podemos añadir en el json el uuid y el texto a
mostrar, el dispositivo detectará el beacon cuando esté cerca de
él y mostrará una alaerta con el texto indicado.

En combinación con el nuevo Framework Multipeer Connectivity,
para detectar usuarios o apps, con las que puedas intercambiar
información, alertando al usuario de ello.
Casos de uso
iBeacons Used To Deliver Location-Based Access To iOS Newsstand
Publications

Macy's tests location-specific store discounts using Apple's iBeacon

Apple Feature to Turn MLB Stadiums Into Interactive
Playgrounds

PayPal Beacon
Demo
Pedro Muñoz

pmunoz08@gmail.com

@pmunoz08
Enlaces de Interés
Bibliografía

Bluetooth Low Energy, Beacons and Retail

With iBeacon, Apple is going to dump on NFC and embrace the
internet of things

What’s New in Core Location WWDC 2013

Core Location Framework Reference

Can you Smell the iBeacon?

Reverse Engineering the Estimote
Enlaces de Interés
Código ejemplo:

Demo 1. iBeacon Emitter for iOS

Demo2. Working with iBeacons

Beacon emitter for Mac

iOS 7 SDK: iBeacons Game
Gracias
Pedro Muñoz

pmunoz08@gmail.com

@pmunoz08

Más contenido relacionado

La actualidad más candente

Presentacion Snom Producto Its
Presentacion Snom Producto ItsPresentacion Snom Producto Its
Presentacion Snom Producto Its
Gustavo P. Mazzeo
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con Asterisk
Elio Rojano
 
VOiP
VOiPVOiP
VOiP
kio89
 
Configuracion comunicación ip
Configuracion comunicación ipConfiguracion comunicación ip
Configuracion comunicación ipdagomorb
 
VoIp Un Enfoque Practico
VoIp Un Enfoque PracticoVoIp Un Enfoque Practico
VoIp Un Enfoque Practico
Alberto Sagredo Castro
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
guest1e22df3
 
Unifi AP
Unifi APUnifi AP
Unifi AP
Rodri Hinojosa
 
Voz ip desde dispositivos móviles
Voz ip desde dispositivos móvilesVoz ip desde dispositivos móviles
Voz ip desde dispositivos móviles
Alberto Sagredo Castro
 
Ahorro y versatilidad en la telefonía gracias a Asterisk
Ahorro y versatilidad en la telefonía gracias a AsteriskAhorro y versatilidad en la telefonía gracias a Asterisk
Ahorro y versatilidad en la telefonía gracias a Asterisk
LibreCon
 
Curso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sipCurso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sipedgarjgonzalezg
 
Seminario final telefonia y voip wifi
Seminario final telefonia y voip wifiSeminario final telefonia y voip wifi
Seminario final telefonia y voip wifi
Melvin Gustavo Balladares Rocha
 
Sistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo ISistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo I
Gabriel Astudillo
 
Yeastar 2018 - Soluciones IPPBX SISTEK.
Yeastar 2018 - Soluciones IPPBX SISTEK. Yeastar 2018 - Soluciones IPPBX SISTEK.
Yeastar 2018 - Soluciones IPPBX SISTEK.
Francisco Chacon Segura
 

La actualidad más candente (17)

Presentacion Snom Producto Its
Presentacion Snom Producto ItsPresentacion Snom Producto Its
Presentacion Snom Producto Its
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con Asterisk
 
VOiP
VOiPVOiP
VOiP
 
Tema 5
Tema 5Tema 5
Tema 5
 
Configuracion comunicación ip
Configuracion comunicación ipConfiguracion comunicación ip
Configuracion comunicación ip
 
VOIP II
VOIP IIVOIP II
VOIP II
 
VoIp Un Enfoque Practico
VoIp Un Enfoque PracticoVoIp Un Enfoque Practico
VoIp Un Enfoque Practico
 
Tema 5
Tema 5Tema 5
Tema 5
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
 
Unifi AP
Unifi APUnifi AP
Unifi AP
 
Voz ip desde dispositivos móviles
Voz ip desde dispositivos móvilesVoz ip desde dispositivos móviles
Voz ip desde dispositivos móviles
 
Curso de Asterisk (e-Verano 2007)
Curso de Asterisk (e-Verano 2007)Curso de Asterisk (e-Verano 2007)
Curso de Asterisk (e-Verano 2007)
 
Ahorro y versatilidad en la telefonía gracias a Asterisk
Ahorro y versatilidad en la telefonía gracias a AsteriskAhorro y versatilidad en la telefonía gracias a Asterisk
Ahorro y versatilidad en la telefonía gracias a Asterisk
 
Curso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sipCurso Asterisk Voz IP 1-Introduccion-sip
Curso Asterisk Voz IP 1-Introduccion-sip
 
Seminario final telefonia y voip wifi
Seminario final telefonia y voip wifiSeminario final telefonia y voip wifi
Seminario final telefonia y voip wifi
 
Sistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo ISistemas de VoIP con Asterisk: Modulo I
Sistemas de VoIP con Asterisk: Modulo I
 
Yeastar 2018 - Soluciones IPPBX SISTEK.
Yeastar 2018 - Soluciones IPPBX SISTEK. Yeastar 2018 - Soluciones IPPBX SISTEK.
Yeastar 2018 - Soluciones IPPBX SISTEK.
 

Destacado

Will Eco-aware Things will help us to Save the World?
Will Eco-aware Things will help us to Save the World?Will Eco-aware Things will help us to Save the World?
Will Eco-aware Things will help us to Save the World?
Diego Casado Mansilla
 
Ibeacons
IbeaconsIbeacons
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
Steven Davelaar
 
Introduction to Growth Hacking
Introduction to Growth HackingIntroduction to Growth Hacking
Introduction to Growth Hacking
Ken Leaver
 
Mobisfera - ¿Qué son los beacons?
Mobisfera - ¿Qué son los beacons?Mobisfera - ¿Qué son los beacons?
Mobisfera - ¿Qué son los beacons?
Mobisfera
 
DISPOSITIVOS DE ALMASENAMIENTO
DISPOSITIVOS DE ALMASENAMIENTODISPOSITIVOS DE ALMASENAMIENTO
DISPOSITIVOS DE ALMASENAMIENTO
FREDDY8989
 
Herramientas para la web ITED
Herramientas para la web ITEDHerramientas para la web ITED
Herramientas para la web ITEDDarkly777
 
Segmento de mercado
Segmento de mercadoSegmento de mercado
Segmento de mercado
Lennin Tarmeño
 
Intel Curie Presentation
Intel Curie PresentationIntel Curie Presentation
Intel Curie Presentation
Davide Tiriticco
 
Presentacion dispositivos de almacenamiento
Presentacion dispositivos de almacenamientoPresentacion dispositivos de almacenamiento
Presentacion dispositivos de almacenamientoanachicon96
 
Evolucion de los dispositivos de almacenamiento de informacion
Evolucion de los dispositivos de almacenamiento de informacionEvolucion de los dispositivos de almacenamiento de informacion
Evolucion de los dispositivos de almacenamiento de informacion
sceapn
 
Inteligencia De Negocios con Software Libre
Inteligencia De Negocios con Software LibreInteligencia De Negocios con Software Libre
Inteligencia De Negocios con Software Libre
Beacon Software
 
Dispositivos de Almacenamiento
Dispositivos de AlmacenamientoDispositivos de Almacenamiento
Dispositivos de Almacenamiento
Guadalinfo Olivares
 
Momentos de ASACO en el VII Congreso de GEPAC
Momentos de ASACO en el VII Congreso de GEPACMomentos de ASACO en el VII Congreso de GEPAC
Momentos de ASACO en el VII Congreso de GEPAC
Asociación de Afectados por Cáncer de Ovario
 
2014 -3euro-acrostiche-pintura española
2014 -3euro-acrostiche-pintura española2014 -3euro-acrostiche-pintura española
2014 -3euro-acrostiche-pintura españolaadbespagnol
 
Trabajo 1 periodo
Trabajo 1 periodoTrabajo 1 periodo
Trabajo 1 periodo
Julian Camilo Higuera
 
B learning
B learningB learning
Violencia en el noviazgo
Violencia en el noviazgoViolencia en el noviazgo
Violencia en el noviazgozoxhil
 

Destacado (20)

Will Eco-aware Things will help us to Save the World?
Will Eco-aware Things will help us to Save the World?Will Eco-aware Things will help us to Save the World?
Will Eco-aware Things will help us to Save the World?
 
Ibeacons
IbeaconsIbeacons
Ibeacons
 
Building beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCSBuilding beacon-enabled apps with Oracle MCS
Building beacon-enabled apps with Oracle MCS
 
Introduction to Growth Hacking
Introduction to Growth HackingIntroduction to Growth Hacking
Introduction to Growth Hacking
 
Mobisfera - ¿Qué son los beacons?
Mobisfera - ¿Qué son los beacons?Mobisfera - ¿Qué son los beacons?
Mobisfera - ¿Qué son los beacons?
 
DISPOSITIVOS DE ALMASENAMIENTO
DISPOSITIVOS DE ALMASENAMIENTODISPOSITIVOS DE ALMASENAMIENTO
DISPOSITIVOS DE ALMASENAMIENTO
 
Herramientas para la web ITED
Herramientas para la web ITEDHerramientas para la web ITED
Herramientas para la web ITED
 
Segmento de mercado
Segmento de mercadoSegmento de mercado
Segmento de mercado
 
Intel Curie Presentation
Intel Curie PresentationIntel Curie Presentation
Intel Curie Presentation
 
Dispositivos de almacenamiento 3
Dispositivos de almacenamiento 3Dispositivos de almacenamiento 3
Dispositivos de almacenamiento 3
 
Presentacion dispositivos de almacenamiento
Presentacion dispositivos de almacenamientoPresentacion dispositivos de almacenamiento
Presentacion dispositivos de almacenamiento
 
Evolucion de los dispositivos de almacenamiento de informacion
Evolucion de los dispositivos de almacenamiento de informacionEvolucion de los dispositivos de almacenamiento de informacion
Evolucion de los dispositivos de almacenamiento de informacion
 
Inteligencia De Negocios con Software Libre
Inteligencia De Negocios con Software LibreInteligencia De Negocios con Software Libre
Inteligencia De Negocios con Software Libre
 
Dispositivos de Almacenamiento
Dispositivos de AlmacenamientoDispositivos de Almacenamiento
Dispositivos de Almacenamiento
 
Momentos de ASACO en el VII Congreso de GEPAC
Momentos de ASACO en el VII Congreso de GEPACMomentos de ASACO en el VII Congreso de GEPAC
Momentos de ASACO en el VII Congreso de GEPAC
 
2014 -3euro-acrostiche-pintura española
2014 -3euro-acrostiche-pintura española2014 -3euro-acrostiche-pintura española
2014 -3euro-acrostiche-pintura española
 
Club de remo power point
Club de remo power pointClub de remo power point
Club de remo power point
 
Trabajo 1 periodo
Trabajo 1 periodoTrabajo 1 periodo
Trabajo 1 periodo
 
B learning
B learningB learning
B learning
 
Violencia en el noviazgo
Violencia en el noviazgoViolencia en el noviazgo
Violencia en el noviazgo
 

Similar a ¿Qué es y como funciona un iBeacon?

Micro taller
Micro tallerMicro taller
Micro taller
Enrique Granados
 
Radio mobile
Radio mobileRadio mobile
Radio mobile
alfredo Màrquez
 
Radio mobile
Radio mobileRadio mobile
Radio mobile
alfredo Màrquez
 
Enlace redes inalambricas
Enlace redes inalambricasEnlace redes inalambricas
Enlace redes inalambricas
Johan Silva Cueva
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
Software Guru
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
Software Guru
 
GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6
Alex Vasquez
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskDiego Llanes
 
Carro a control remoto Zigbee IEE802.15.4
Carro a control remoto Zigbee IEE802.15.4Carro a control remoto Zigbee IEE802.15.4
Carro a control remoto Zigbee IEE802.15.4
Fredy Serna
 
Actividad 08 protocolo ospf
Actividad 08   protocolo ospfActividad 08   protocolo ospf
Actividad 08 protocolo ospf
Emir Méndez Alarcón
 
Informe labs telematica
Informe labs telematicaInforme labs telematica
Informe labs telematica
Anibal Castro Pulido
 
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
leonardo miranda
 
RPC
RPCRPC
Cain & abel (sniffer)
Cain & abel (sniffer)Cain & abel (sniffer)
Cain & abel (sniffer)
Tensor
 
Manual de packet tracer 7.3 2020
Manual de packet tracer 7.3 2020Manual de packet tracer 7.3 2020
Manual de packet tracer 7.3 2020
ValentinaPantoja3
 
Actividad 4
Actividad 4Actividad 4
Actividad 4yimfer1
 
Practica 2 irdt
Practica 2 irdtPractica 2 irdt
Practica 2 irdt
marcolopez597230
 
Unidad IV: Planeación de una red Lan
Unidad IV: Planeación de una red LanUnidad IV: Planeación de una red Lan
Unidad IV: Planeación de una red Lan
brayan valbuena
 
Semana 3 redes
Semana 3  redesSemana 3  redes
Semana 3 redes
JH Terly Tuanama
 
Configuraciones básica en Router Cisco
Configuraciones básica en Router CiscoConfiguraciones básica en Router Cisco
Configuraciones básica en Router Cisco
AXELELIANAMAVIZCA
 

Similar a ¿Qué es y como funciona un iBeacon? (20)

Micro taller
Micro tallerMicro taller
Micro taller
 
Radio mobile
Radio mobileRadio mobile
Radio mobile
 
Radio mobile
Radio mobileRadio mobile
Radio mobile
 
Enlace redes inalambricas
Enlace redes inalambricasEnlace redes inalambricas
Enlace redes inalambricas
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
 
Construyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvilConstruyendo la nueva app social, local y móvil
Construyendo la nueva app social, local y móvil
 
GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6GNS3 instalación, configuración, ipv4, ipv6
GNS3 instalación, configuración, ipv4, ipv6
 
Configuración de escenarios reales con asterisk
Configuración de escenarios reales con asteriskConfiguración de escenarios reales con asterisk
Configuración de escenarios reales con asterisk
 
Carro a control remoto Zigbee IEE802.15.4
Carro a control remoto Zigbee IEE802.15.4Carro a control remoto Zigbee IEE802.15.4
Carro a control remoto Zigbee IEE802.15.4
 
Actividad 08 protocolo ospf
Actividad 08   protocolo ospfActividad 08   protocolo ospf
Actividad 08 protocolo ospf
 
Informe labs telematica
Informe labs telematicaInforme labs telematica
Informe labs telematica
 
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
Configuracindeescenariosrealesconasterisk 131117194346-phpapp02
 
RPC
RPCRPC
RPC
 
Cain & abel (sniffer)
Cain & abel (sniffer)Cain & abel (sniffer)
Cain & abel (sniffer)
 
Manual de packet tracer 7.3 2020
Manual de packet tracer 7.3 2020Manual de packet tracer 7.3 2020
Manual de packet tracer 7.3 2020
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Practica 2 irdt
Practica 2 irdtPractica 2 irdt
Practica 2 irdt
 
Unidad IV: Planeación de una red Lan
Unidad IV: Planeación de una red LanUnidad IV: Planeación de una red Lan
Unidad IV: Planeación de una red Lan
 
Semana 3 redes
Semana 3  redesSemana 3  redes
Semana 3 redes
 
Configuraciones básica en Router Cisco
Configuraciones básica en Router CiscoConfiguraciones básica en Router Cisco
Configuraciones básica en Router Cisco
 

Último

Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
Luis Enrique Zafra Haro
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
CesarPazosQuispe
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
cofferub
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
IsabellaRubio6
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 

Último (20)

Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
biogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectosbiogas industrial para guiarse en proyectos
biogas industrial para guiarse en proyectos
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
Semana 10_MATRIZ IPER_UPN_ADM_03.06.2024
 
Conceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación ProyectoConceptos Básicos de Programación Proyecto
Conceptos Básicos de Programación Proyecto
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdfEstructuras Básicas_ Conceptos Basicos De Programacion.pdf
Estructuras Básicas_ Conceptos Basicos De Programacion.pdf
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 

¿Qué es y como funciona un iBeacon?

  • 1. ¿Qué es un iBeacon y como funciona? Pedro Muñoz Cabrera pmunoz08@gmail.com @pmunoz08
  • 2. Qué es un beacon? No es bacon, es beacon!!! Su inicio data del 2007, cuando Nokia creó Wibree, punto de inicio de BLE. Funciona bajo el protocolo BLE (Bluetooth 4.0) junio 2010 Indoor positioning sytem o “System Advertising”. Envía información contínuamente, no necesario ser enlazado CB 4.0 emite en una frecuencia de 2.4GHz, divididos en 39 canales de 2.0 MHz. (36 primeros para intercambio de datos con dispositivos enlazados, los otros 3 son los usados para “Advertising”) Alcamce 50-70m dependiendo de posibles interferencias.
  • 3. y un iBeacon? Es el nombre comercial acuñado por Apple para los beacons. “a new class of low-powered, low-cost transmitters that can notify nearby iOS 7 devices of their presence.” WWDC 2013 Soportado por : iPhone 4S y posteriores iPad3 y posteriores iPod touch 5ª generación Macs con Mavericks y Bluetooth 4.0
  • 4. y un iBeacon? ! Aunque Bluetooth 4.0 está soportado desde iOS 5.0 hasta iOS 7 no hemos contado una api para trabjar con beacons incluyendo en el Framework Core Location: Nuevos métodos en el protocolo CLLocationManagerDelegate CLBeacon CLBeaconRegion Dentro Bluetooth LE hay dos grupos o conceptos: Peripheral. Informan de servicios y expone sus características (properties). Central. Buscar servicios y leen/escriben las propiedades del mismo. Un iBeacon es un “Peripheral” que expone sus características pero no es un servicio BLE
  • 5. CLLocationManagerDelegate Para poder interactuar con iBeacons en iOS7 se han añadido algunos métodos al protocolo CLLocationMAnagerDelegate: locationManager:didDetermineState:forRegion: El CLLocationManager llama a este método cuando se pasa la frontera de una region. CLREgionState: (CLRegionStateUnknown, CLRegionStateInside, CLRegionStateOutside) locationManager:didRangeBeacons:inRegion: El CLLocationMAnager llama a este método cuando detecta beacons o dejar de detectarlos. Los iBeacosn detectados se reciben en un aray ordenados por proximidad. El más cercano el primero. locationManager:rangingBeaconsDidFailForRegion:withError: Si una CLBeaconRegion contiene datos no válidos o falla al registrase. requestStateForRegion: Nos permite preguntar por estado del dispositivo en relación con una región.
  • 6. CLBeacon Hereda de NSObject y representa alos iBeacons encontrados en una CLBeaconRegion. Nos provee de las siguientes propiedades: proximityUUID. Un ID global, por ejemplo para identificar una compañía. major y minor. Permite crear áreas o secciones de beacons proximity. Distancia relativa a un iBeacon (Inmediate, Near, Far, Unknown) accuracy. Distancia en metros. No posición exacta rssi. Fuerza de la señal recibida medida en Db Crear un uuid en terminal $ uuidgen F33AA853-94A8-4912-8BCF-D2EF6C2EF36F
  • 7. CLBeaconRegion Hereda de CLRegion, define una región basada en la proximidad de un dispositivo a un CLBeacon. Nos ofrece 3 inicializadores: initWithProximityUUID:identifier: initWithProximityUUID:major:identifier: initWithProximityUUID:major:minor:identifier: ! CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:major minor:minor identifier:kBeaconIdentifier];
  • 8. CLBeaconRegion Propiedades: notifyEntryStayOnDisplay. Si su valor es YES, envía notificaciones de beacons, cuando el usuario enciende la pantalla del dispositivo y está dentro de la región, incluso si la app no está corriendo, en este caso la app se lanza en background. Ojo que la app no esté corriendo se refiere a que esté inactiva porque la ha parado el SO, si la apara el usuario, la app no recibirá notificaciones. Default NO CLRegion: notifyOnEntry. llamará a locationManager:didEnterRegion: cunado se entre en una región .Default Yes notifyOnExit. llamará a locationManager:didExitRegion: cunado se salga en una región .Default Yes
  • 9. Monitoring iBeacons ! self.locManager = [[CLLocationManager alloc] init]; [self.locManager setDelegate:self]; if ([CLLocationManager isRangingAvailable]) { NSLog(@"Beacon ranging available"); NSUUID *proximityUUID = [[NSUUID alloc] initWithUUIDString:UUIDiBeacon]; self.beaconRegion = [[CLBeaconRegion alloc] initWithProximityUUID:proximityUUID identifier:@"com.softpmc.beacons"]; ! [self.beaconRegion setNotifyEntryStateOnDisplay:YES]; [self.locManager startMonitoringForRegion:self.beaconRegion]; }
  • 10. Ranging iBeacons #pragma mark - CLLocationManagerDelegate ! - (void)locationManager:(CLLocationManager *)manager didDetermineState: (CLRegionState)state forRegion:(CLRegion *)region{ if (state == CLRegionStateInside) { ! } [self.locManager startRangingBeaconsInRegion:(CLBeaconRegion *)region]; } else { } [self.locManager stopRangingBeaconsInRegion:(CLBeaconRegion *)region]; ! - (void)locationManager:(CLLocationManager *)manager didRangeBeacons:(NSArray *)beacons inRegion:(CLBeaconRegion *)region { if ([beacons count] != 0) { for (CLBeacon *beacon in beacons) { //Do something } } }
  • 11. CLBeaconRegion Métodos: peripheralDataWithMeasuredPower: Devuelve un diccionario con la información que identifica al beacon codificada además de la información a trnasmitir. Este diccionario se debe pasar a una instancia de CBPeropheralMAnager al método startAdvertising. Este es uno de los pasos a realizar para convertir nuestro dispositivo en un iBeacon. Lo veremos despues en un ejemplo. El parámetro measuredPower es opcional, representa la medida de la fuerza de la señal a 1 metro de distancia del beacon.
  • 12. Donde encuentro un iBeacon? Posiblemente lleves un potencial iBeacon en el bolsillo :-). Como hemos visto un iPhone puede funcionar como iBeacon, lo veremos en una Demo.
  • 13. Donde encuentro un iBeacon? Posiblemente lleves un potencial iBeacon en el bolsillo :-). Como hemos visto un iPhone puede funcionar como iBeacon, lo veremos en una Demo. _peripheralManager = [[CBPeripheralManager alloc] initWithDelegate:self queue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)]; ! ! CLBeaconRegion *region = [[CLBeaconRegion alloc] initWithProximityUUID:uuid major:major minor:minor identifier:kBeaconIdentifier]; NSDictionary *peripheralData = [region peripheralDataWithMeasuredPower:nil]; [_peripheralManager startAdvertising:peripheralData]; ! //opcional [[UIApplication sharedApplication] setIdleTimerDisabled: YES];
  • 14. Donde encuentro un iBeacon? ! Además, acutalmente hay varios fabricantes que comercializan iBeacons e imagino que el número crecerá, algunos son estos: RedBearLAb, plug in board for arduino http:/ /redbearlab.com/ bleshield Kontakt http:/ /kontakt.io/order-now GeoHopper http:/ /geohopper.com/bleu/pricing Estimote http:/ /estimote.com Remotte http:/ /remotte.com De las opciones de arriba la que me parecío más interesante fué la de Estimote.
  • 15. Qué oferece Estimote? Los iBeacons distribuidos por Estimote tienen las siguientes carácterísticas: CPU 32.bit ARM Cortex con 256kb de memoria flash. Acelerómetro. Sensor de temperatura. SDK, realmente es un wrapper de CLLocationManager, CLBeaconRegion y CLBeacon. A parte de ofrecerte una api para modificar la configuración de los iBeacons (No el proximityUUID, viene fijo de fábrica), actualizar el firmaware, modificar la frecuencia de emisión,.... Autonomía de 2 años y alcance de 70 metros (en un escenaro ideal, sin interferencias) Es estanco afirman que puede funcionar bajo el agua. Si he de decir, que está en versión beta y el SDK, no permite exprimir al máximo los ibeacons aún.
  • 16. Qué usos se le puede dar a un iBeacon? Geoposicionamiento “indoor”, crear zonas, Proximidad,...lo que se te ocurra a partir de la detección de 1 punto o región. En Passkit, ahora podemos añadir en el json el uuid y el texto a mostrar, el dispositivo detectará el beacon cuando esté cerca de él y mostrará una alaerta con el texto indicado. En combinación con el nuevo Framework Multipeer Connectivity, para detectar usuarios o apps, con las que puedas intercambiar información, alertando al usuario de ello.
  • 17. Casos de uso iBeacons Used To Deliver Location-Based Access To iOS Newsstand Publications Macy's tests location-specific store discounts using Apple's iBeacon Apple Feature to Turn MLB Stadiums Into Interactive Playgrounds PayPal Beacon
  • 19. Enlaces de Interés Bibliografía Bluetooth Low Energy, Beacons and Retail With iBeacon, Apple is going to dump on NFC and embrace the internet of things What’s New in Core Location WWDC 2013 Core Location Framework Reference Can you Smell the iBeacon? Reverse Engineering the Estimote
  • 20. Enlaces de Interés Código ejemplo: Demo 1. iBeacon Emitter for iOS Demo2. Working with iBeacons Beacon emitter for Mac iOS 7 SDK: iBeacons Game