# Baliza electrónica

Una baliza electrónica (conocida también por su nombre en inglés beacon) es un dispositivo transmisor que se utiliza para radiar una señal bluetooth de baja energía (LE) a dispositivos móviles que se encuentren cerca de él sin necesidad de sincronización previa. Esta tecnología permite a teléfonos inteligentes, ordenadores o tabletas ejecutar determinadas acciones cuando entran en el radio de una de ellas.
Las balizas bluetooth transmiten un identificador único universal que es recogido por una aplicación o sistema operativo compatible. Esto puede ser utilizado para determinar la ubicación física del dispositivo, rastrear objetos o activar acciones en función de la localización en determinados puntos de interés, como una parada de autobús, una tienda, una localización dentro de un edificio, etc. A diferencia de la tecnología GPS, tiene potencial como sistema de posicionamiento en interiores y su consumo de batería es muy reducido.
Las balizas electrónicas difieren de otras tecnologías basadas en la localización en que son unidireccionales: no son capaces de recibir datos. Debido a ello, es necesario que el dispositivo receptor tenga una aplicación o sistema que interprete la señal de la baliza y actúe en consecuencia. Esto asegura que solo la aplicación puede rastrear la ubicación del usuario y no el transmisor de forma pasiva.
El factor de forma de estos dispositivos puede variar ampliamente en función del fabricante. Pueden ser pequeños dispositivos portátiles pensados para adherirse en cualquier tipo de superficie, lápices USB o cualquier otro dispositivo genérico compatible con el protocolo Bluetooth 4.0.

## Componentes de una baliza electrónica
### Hardware

El hardware consiste en un microcontrolador con un chip de radio bluetooth LE y una batería, generalmente de botón. Los nuevos chips están optimizados para trabajar con BLE; versiones anteriores fueros diseñadas con bluetooth clásico, lo que requería un mayor consumo de energía
El chip de radio BLE es generalmente fabricado por dos grandes empresas: Texas Instruments y Nordic Semiconductor.
Empresas proveedoras de beacons utilizan el hardware fabricados por los anteriores fabricantes mencionados, pero con sus propios firmware.
Las baterías de botón son las opciones más populares para la mayoría de estos dispositivos. Estas baterías son densas células de iones de litio y proporcionan desde 240 mAh hasta 1000 mAh. Dado que BLE se caracteriza por minimizar el uso de energía, la duración de estas baterías puede ser mayor a 1 año. Algunos beacons también utilizan baterías alcalinas AA.
Otros beacons funcionan externamente, se pueden instalar en una toma de corriente o un puerto USB, Estos dispositivos no necesitan un reemplazo de baterías, con el inconveniente de la disponibilidad de una toma de corriente cercana.

### Firmware

Cada beacon tiene un firmware específico, según el proveedor, que permite al hardware del beacon funcionar. El firmware puede controlar varias características que afectan a la batería:

#### Potencia de Transmisión (Tx Power)

Los beacons transmiten una señal con una potencia fija, conocida como Tx Power. A medida que la señal viaja en el aire la intensidad de la señal va disminuyendo con la distancia. Con un Tx Power superior la señal puede viajar distancias más largas, lo que significa mayor consumo y un Tx Power menor se traduce a menor rango de alcance pero menos consumo de batería.

#### Advertising Interval

La periodicidad con la que un beacon emite una señal se conoce como advertising interval. Un intervalo de 100 ms significa que la señal se emite cada 100 milisegundos, es decir, 10 veces en un solo segundo. Un intervalo de 500 ms significa que la señal se emite solo dos veces por segundo, lo que se traduce en menos consumo de energía. Cuando advertising interval aumenta la duración de la batería aumenta pero la capacidad de respuesta del dispositivo receptor disminuye. No hay una elección óptima del advertising interval. Las aplicaciones que necesiten baja latencia deben elegir intervalos más bajos. En cambio, los que necesiten mayor duración de la batería necesitan un intervalo mayor.
Las especificaciones de Apple para iBeacon indican que el advertising interval es de 100ms.
Cada beacon ofrece su propia forma de configurar el hardware y los parámetros asociados. Algunos proveedores de beacons proporcionan su propia aplicación para configurar los beacons desde el teléfono (ej: iPhone, Android, etc.) Otros beacons proporcionan una interfaz abierta a través de cualquier cliente GATT. También existen dispositivos BLE que se configuran mediante comandos AT a través de una terminal.
La principal ventaja de utilizar GATT es que cientos de beacons pueden ser configurados a la vez.

### Infraestructura en la Nube

Los beacons proporcionan la señal BLE, que es crucial para el posicionamiento y localización de los dispositivos móviles. Pero estas señales, son un método de comunicación de una sola vía, y significan poco sin tener un servicio inteligente que de apoyo por detrás. Normalmente, una aplicación basada en la nube analiza todas las señales recibidas del beacon y toma acciones según los datos, funcionando como un cerebro detrás de todas las operaciones. Existen diversas empresas que proporcionan estas infraestructuras, no necesariamente son proveedores de beacons.

### Beacon Mobile SDK

Los beacons tienen que integrarse con las aplicaciones móviles para facilitar los casos de uso basadas en la localización. Un beacon es solo la pieza de hardware. Además, los fabricantes de beacons suelen ofrecer kit de desarrollo para poder llevar al máximo el uso de estos dispositivos.

## Protocolos de beacons

Bluetooth Low Energy (BLE) tiene la capacidad de intercambiar datos en uno de dos estados: modo conectado y modo advertising. Modo Conectado utiliza el atributo genérico (GATT) para transferir datos en una conexión. Modo de advertising utiliza el perfil de acceso genérico (GAP) para transmitir datos a cualquiera que esté escuchando. Modo de advertising es una transferencia de uno a muchos y no tiene garantías sobre la coherencia de los datos. Balizas BLE aprovechan el modo de advertising GAP para transmitir datos en paquetes de advertising periódicas, especialmente formateados. Cada tipo de beacon utiliza una especificación personalizada para particionar los datos de advertising, dándole un significado. A continuación se muestran algunos de los principales protocolos existentes.

### iBeacon

Es un protocolo creado por Apple, que se introdujo por primera vez en la Worldwide Developers Conference 2013. Apple fue la primera empresa que hizo conocida esta tecnología a nivel mundial, pero la tecnología (BLE) fue creada por Nokia.
iBeacon utiliza BLE para transmitir un identificador único universal (UUID) que es recogido por una aplicación o sistema operativo compatible con el protocolo. El identificador más otros bytes enviado se pueden usar para identificar la posición física del dispositivo, o lanzar acciones basadas en la localización como notificación push, etc.
iBeacon ofrece dos métodos de API para detectar dispositivos ibeacons. Ranging, que solo funciona cuando la aplicación está activada y proporciona estimaciones de proximidad; Monitoring, que funciona incluso si la aplicación no está corriendo, y proporciona información binaria de en rango y fuera de rango.

#### Especificación

iBeacons consta de cuatro piezas de información.
UUID que identifica el beacon.
Major es el número que identifica un subgrupo de beacons dentro de un grupo más grande.
Minor número de identificación a un beacon específico.
La aplicación de escaneo lee el UUID, Major, Minor y referencias contra una base de datos para obtener información sobre el beacon, el propio beacon no lleva ninguna información descriptiva, requiere de una base de datos externa para ser útil. El campo Tx Power se utiliza con la medida de la intensidad para determinar a que distancia se encuentra el beacon del dispositivo móvil (teléfono inteligente). Este campo tiene que ser calibrado beacon por beacon por el usuario para ser exacta.

### Eddystone

Es el proyecto de código abierto de Google para beacons. Google con esta tecnología pretende fomentar el internet de las cosas. Similar al protocolo de iBeacon pero open source. iBeacon está soportado oficialmente por los dispositivos iOS solamente, Eddystone tiene soporte oficial para iOS y Android.
Está diseñado para soportar múltiples tipos de paquetes de datos, a partir de Eddystone-UID y Eddystone-URL. Hay un tercer tipo de paquete de telemetría Eddystone-TLM. Este paquete se emite junto con Eddystone-UID o Eddystone-URL y contiene el estado de salud del beacon como por ejemplo, la duración de la batería.
Eddystone se basa en un método único en este momento: Eddystone Discovery que es similar a ibeacon Ranging. Proporciona estimaciones de proximidad y solo funciona cuando está activa.
Google además proporcionará las API de Nearby y Proximity para ayudar a los desarrolladores en como transmitir datos a equipos ubicados en el rango de los beacons seleccionados, a la vez que les permite monitorear los beacons.

#### Especificación

Cada trama de Eddystone debe contener los tipos de datos PDU:
La lista completa de 16 bits de servicios UUID definido en Bluetooth Core Specification Supplement (CSS) v5.
La lista de 16 bits debe contener el Eddystone Service UUID 0xFEAA. Esto es incluido para permitir el escaneo en segundo plano de dispositivos iOS.
El tipo específico de Eddystone frame se codifica en la parte alta de los cuatro primeros bits del primer byte de Service Data asociado con el Servicio UUID. Los valores permitidos son:
| Frame Type | High-orde 4 bits | Byte Value |
| UID | 0000 | 0x00 |
| URL | 0001 | 0x10 |
| TLM | 0010 | 0x20 |
| RESERVED | 0011 | 0x30 |
| RESERVED | 0100 | 0x40 |

### AltBeacon

Protocolo desarrollado por Radius Networks. La especificación de Altbeacon define el formato de los mensajes broadcast por proximidad de los beacons. Es gratuito es open-spec. Viene a ser una respuesta al protocolo cerrado iBeacon propiedad de Apple, cubriendo las mismas funcionalidades ibeacon puede ofrecer, pero no tiene un amplio apoyo aún.
Mientras iBeacon tiene de 20 a 27 bytes disponibles para datos de usuario (UUID + Major + Minor) Altbeacon tiene 25 a 28 bytes disponibles (MFG ID, BeaconCode, BeaconID, MFG RSVD) esto significa que puede entregar más datos por mensaje.

#### Especificación

Altbecon spec es de 28 bytes (25bytes de usuario son modificables). Los primeros 2 bytes no son modificables, tienen un valor fijo que son establecidos por el BLE Stack.
| Field Name | Description | Accepted Values |
| AD LENGTH [MFG SPECIFIC] | Length of the type and data portion of the Manufacturer Specific advertising data structure. | 0x1B |
| AD TYPE [MFG SPECIFIC] | Type representing the Manufacturer Specific advertising data structure. | 0xFF |
| MFG ID | The beacon device manufacturer's company identifier code. | The little endian representation of the beacon device manufacturer's company code as maintained by the Bluetooth SIG assigned numbers database |
| BEACON CODE | The AltBeacon advertisement code | The big endian representation of the value 0xBEAC |
| BEACON ID | A 20-byte value uniquely identifying the beacon | The big endian representation of the beacon identifier. For interoperability purposes, the first 16+ bytes of the beacon identifier should be unique to the advertiser's organizational unit. Any remaining bytes of the beacon identifier may be subdivided as needed for the use case. |
| REFERENCE RSSI | A 1-byte value representing the average received signal strength at 1m from the advertiser | A signed 1-byte value from 0 to -127 |
| MFG RESERVED | Reserved for use by the manufacturer to implement special features | A 1-byte value from 0x00 to 0xFF. Interpretation of this value is to be defined by the manufacturer and is to be evaluated based on the MFG ID value |

## Aplicaciones de los beacons

A continuación se explica algunos de los usos más relevantes que se le dan y podrán darse a los beacons.

### Publicidad

Los beacons son una herramientas para el marketing directo o el geomarketing, los beacons pueden predecir la situación de un cliente dentro de un entorno cerrado y con ayuda de una aplicación e internet los comerciantes pueden dar información relevante al cliente según el posicionamiento de la persona.
Existen diversos ejemplos ya instaurados donde se utilizan los beacons como herramientas de publicidad dentro de locales comerciales.
Un ejemplo son las tiendas Macy's en Estados Unidos que ya incorpora esta tecnología. La compañía dice que va a ser capaz de enviar información sobre ofertas, así como recomendaciones directamente a los teléfonos de los consumidores, siempre que opten por compartir su ubicación y para no abrumar al cliente solo dispondrán de dos notificaciones push por visita a una tienda.
Los beacons permiten a los comerciantes conocer mejor el comportamiento y gustos de sus clientes, de esto modo ofrecer ofertas personalizadas y mejorar la distribución de sus productos dentro del espacio físico.

### Ayuda en hospitales

Los beacons tienen el potencial para resolver muchos de los problemas que existen en entornos hospitalarios.
Actualmente la localización de un dispositivo médico de alto valor a lo largo de un hospital es una tarea que consume tiempo al personal del hospital. Es aquí donde los beacon pueden ahorrar tiempo y dinero en las búsquedas de activos críticos dentro de un hospital.
Hay dos papeles principales que pueden desempeñar los beacons. Periférico y central.
El propósito de los dispositivos periféricos es permanecer en modo reposo el mayor tiempo posible ahorrando batería y enviando datos periódicamente a un dispositivo central.
Un dispositivo central tiene mucho más poder de procesamiento y actúa como dispositivo enlace a la nube o internet.
Un ejemplo de dispositivo periférico puede ser un manguito de presión arterial que envía datos periódicamente al Teléfono inteligente del doctor o enfermera que luego envía los datos a la nube o a un servidor.
Hay beneficios en la conectividad de estos dispositivos dentro de un hospital como el ahorro de tiempo para los enfermeros. La documentación manual por parte de los enfermeros llega a ser un cuello de botella ya que pueden perder tiempo en solo recoger datos, los beacons pueden automatizar estas tareas de simple recogida de datos, ahorrando tiempo a los enfermeros.
Mejora en los resultados de los pacientes. La automatización de la trasferencia de datos desde dispositivos inalámbricos mejora la comunicación de información precisa y actualizada, lo que permite al personal médico tomar decisiones adecuadas. Esto libera tiempo a enfermeros y médicos para ser empleados en la mejora de la atención al paciente.
Automatización en el flujo de trabajo ayuda con lo siguiente:
* Reducción al mínimo los errores de transcripción en el punto de atención.
* Configuración y monitorización de las dosis del paciente y otras informaciones claves.
* Facilita del análisis de los datos por los médicos.
* Proporciona capacidades de análisis clínicos para las decisiones estratégicas de un hospital.

### Place Tips

Es un servicio que ofrece Facebook, place tips puede retransmitir continuamente la localización del usuario. Con sus 1,3 millones de miembros, Facebook podría ampliar los usos para los beacons, que hasta ahora se han utilizado principalmente para enviar promociones y anuncios a las personas dentro y cerca de las tiendas.
Facebook dijo que comenzará las pruebas place tips en la ciudad de Nueva York después de instalar beacons en ocho tiendas.

### Otros ejemplos

Existen diversas funcionalidades que puede implementar los beacons por ejemplo un beacon puede etiquetar cada autobús y mantener información actualizada para el usuario sobre el tiempo que falta para llegar a la parada. Una galería o un museo, a través de los beacons se puede localizar a una persona e identificar si esta frente a una obra y así transmitir información de interés del artista y de la obra en cuestión.
El rango de un beacon es de 10 a 30 metros, suficiente para desarrollar pequeñas aplicaciones de proximidad. Un ejemplo es el de Nivea: regala pequeños dispositivos beacons en forma de pulsera por medio de una revista y al bajarse una aplicación en el teléfono inteligente podemos localizar el dispositivo, perfecto para ponérselo a un niño en una playa y así saber en todo momento donde se encuentra el portador del beacon. De la misma manera se puede rastrear una maleta en el aeropuerto.
Otro ejemplo es el de acercarte a un ascensor y un beacon detecta tu presencia y te envía un mensaje proponiéndote subir por las escaleras y así realizar un poco de ejercicio físico, al subir otro beacon reconoce tu esfuerzo con un mensaje de premio.
Cualquier aplicación que pueda utilizar el posicionamiento en interiores para facilitar tareas o dar servicios es una opción para la implementación de los beacons. Si con un beacon podemos rastrear un único elemento con muchos podemos mapear una habitación.