Capítulo 1. Introducción Introducción
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Bluetooth Low Energy (BLE, también comercializado como Bluetooth Smart) comenzó como parte de la Especificación Básica de Bluetooth 4.0. Resulta tentador presentar BLE como una versión más pequeña y altamente optimizada de su hermano mayor, el Bluetooth clásico, pero en realidad, BLE tiene un linaje y unos objetivos de diseño totalmente distintos.
Diseñado originalmente por Nokia como Wibree antes de ser adoptado por el Grupo de Interés Especial (SIG) de Bluetooth, los autores no pretendían proponer otra solución inalámbrica demasiado amplia que intentara resolver todos los problemas posibles. Desde el principio, se centraron en diseñar un estándar de radio con el menor consumo de energía posible, optimizado específicamente para un bajo coste, un bajo ancho de banda, una baja potencia y una baja complejidad.
Estos objetivos de diseño son evidentes a través de la especificación básica, que intenta hacer de BLE un auténtico estándar de bajo consumo, diseñado para que los vendedores de silicio puedan implementarlo y utilizarlo en el mundo real con un presupuesto de energía y silicio ajustado. Podría ser la primera norma ampliamente adoptada que puede afirmar de forma realista que funciona durante un largo periodo de tiempo con una humilde pila de botón, aunque muchas otras tecnologías inalámbricas lo afirman habitualmente en su marketing.
Qué hace diferente al BLE
Aunque Bluetooth Low Energy es una buena tecnología por méritos propios, lo que hace que BLE sea realmente emocionante -y lo que ha impulsado tan rápidamente su fenomenal tasa de adopción- es que es la tecnología adecuada, con los compromisos adecuados, en el momento adecuado. Para ser un estándar relativamente joven (se introdujo en 2010), BLE ha experimentado un ritmo de adopción inusualmente rápido, y el número de diseños de productos que ya incluyen BLE lo sitúa muy por delante de otras tecnologías inalámbricas en el mismo momento de sus ciclos de lanzamiento.
Comparado con otros estándares inalámbricos, el rápido crecimiento de BLE es relativamente fácil de explicar: BLE ha ido más rápido porque su destino está íntimamente ligado al fenomenal crecimiento de los teléfonos inteligentes, las tabletas y la informática móvil. La adopción temprana y activa de BLE por pesos pesados de la industria móvil como Apple y Samsung abrió las puertas a una implantación más amplia de BLE.
Apple, en particular, ha dedicado un gran esfuerzo a producir una pila BLE fiable y a publicar directrices de diseño en torno a BLE. Esto, a su vez, empujó a los proveedores de silicio a destinar sus limitados recursos a la tecnología que consideraban que tenía más probabilidades de triunfar o prosperar a largo plazo, y el sello de aprobación de Apple es claramente un argumento de peso cuando se necesita justificar cada dólar invertido en investigación y desarrollo.
Mientras los mercados de móviles y tabletas maduran cada vez más y los costes y márgenes disminuyen, la necesidad de conectividad con el mundo exterior en estos dispositivos tiene un enorme potencial de crecimiento, y ofrece a los vendedores de periféricos una oportunidad única de proporcionar soluciones innovadoras a problemas que la gente quizá ni siquiera se dé cuenta de que tiene hoy.
Son muchas las ventajas que han convergido en torno a BLE, y se han abierto las puertas de par en par para que los diseñadores de productos pequeños y ágiles accedan a un mercado potencialmente masivo con productos creativos e innovadores para tareas específicas con un presupuesto de diseño relativamente modesto. Hoy puedes comprar soluciones todo en uno de radio más microcontrolador (sistema en chip) por mucho menos de 2 $ por chip y en volúmenes reducidos, lo que está muy por debajo del precio total de tecnologías inalámbricas similares como WiFi, GSM, Zigbee, etc. Y BLE te permite diseñar hoy productos viables que pueden hablar con cualquier plataforma móvil moderna utilizando chips, herramientas y estándares de fácil acceso.
Quizá uno de los factores clave menos visibles que contribuyen al éxito de BLE es que se diseñó para servir de marco extensible para intercambiar datos. Esta es una diferencia fundamental con el Bluetooth clásico, que se centraba en un conjunto estricto de casos de uso. BLE, en cambio, se concibió para permitir que cualquiera con una idea y un puñado de puntos de datos procedentes de un accesorio pudiera llevarla a cabo sin tener que saber mucho sobre la tecnología subyacente. Los vendedores de teléfonos inteligentes comprendieron pronto el valor de esta propuesta, y proporcionaron API flexibles y de nivel relativamente bajo para dar a los desarrolladores de aplicaciones móviles la libertad de utilizar el marco BLE de la forma que considerasen oportuna.
Los dispositivos que hablan con teléfonos inteligentes o tabletas también ofrecen otra ventaja fácil de subestimar para los diseñadores de productos: tienen una barrera de adopción inusualmente baja. Los usuarios ya están acostumbrados a utilizar los teléfonos o tabletas que poseen, lo que significa que la carga de aprender una nueva interfaz de usuario es limitada, siempre que respetemos el rico lenguaje visual al que la gente se ha acostumbrado en las plataformas que utilizan.
Con un modelo de datos relativamente fácil de entender, sin costes de licencia intrusivos, sin tasas para acceder a las especificaciones básicas y con una pila de protocolos general simplificada, debería estar claro por qué los diseñadores de plataformas y los vendedores de móviles ven un ganador en BLE.
El pliego de condiciones
En junio de 2010, el Bluetooth SIG introdujo Bluetooth Low Energy con la versión 4.0 de la Especificación Básica Bluetooth. La especificación se había estado elaborando durante varios años y la mayoría de las secciones y decisiones controvertidas fueron finalmente resueltas por las empresas implicadas en el proceso de desarrollo, quedando algunas preocupaciones adicionales por resolver en posteriores actualizaciones de la especificación.
La primera de estas actualizaciones importantes, Bluetooth 4.1, se publicó en diciembre de 2013 y es la referencia actual para cualquiera que quiera desarrollar productos BLE. Aunque los bloques de construcción, procedimientos y conceptos básicos permanecieron intactos, esta versión también introdujo múltiples cambios y mejoras para suavizar la experiencia del usuario.
Como ocurre con todas las especificaciones Bluetooth, la 4.1 es compatible con la 4.0, lo que garantiza la correcta interoperabilidad entre dispositivos que apliquen distintas versiones de la especificación. Las especificaciones permiten a los desarrolladores lanzar y cualificar productos conforme a cualquiera de las versiones (hasta que queden obsoletas), aunque la rápida adopción de nuevas versiones de las especificaciones y el hecho de que la versión 4.1 estandariza varias prácticas comunes entre dispositivos hace recomendable orientarse a la última disponible.
A menos que se indique lo contrario, este libro utiliza como referencia la especificación Bluetooth 4.1. Siempre que sea necesario, y especialmente al mencionar un cambio o adición dignos de mención, aclararemos cuándo la anterior especificación 4.0 no cubre un área concreta.
Para obtener la última versión adoptada de la especificación Bluetooth, consulta la página Documentos adoptados de la especificación de Bluetooth SIG.
Configuraciones
La especificación Bluetooth abarca tanto el Bluetooth clásico (el conocido estándar inalámbrico habitual en muchos dispositivos de consumo desde hace varios años) como el Bluetooth Low Energy (el nuevo estándar inalámbrico altamente optimizado introducido en la versión 4.0). Estos dos estándares de comunicación inalámbrica no son directamente compatibles y los dispositivos Bluetooth calificados en cualquier versión de especificación anterior a la 4.0 no pueden comunicarse de ninguna manera con un dispositivo BLE. El protocolo en el aire, las capas superiores del protocolo y las aplicaciones son diferentes e incompatibles entre las dos tecnologías.
Basado en el soporte de especificaciones
La Tabla 1-1 muestra las tecnologías inalámbricas implementadas para los tres principales tipos de dispositivos del mercado actual.
Dispositivo | Compatible con BR/EDR (Bluetooth clásico) | Compatible con BLE (Bluetooth Low Energy) |
---|---|---|
Bluetooth pre-4.0 |
Sí |
No |
4.x monomodo (Bluetooth Smart) |
No |
Sí |
4.x Modo dual (preparado para Bluetooth Smart) |
Sí |
Sí |
Como puedes ver, la Especificación Bluetooth (4.0 y superiores) define dos tecnologías inalámbricas:
- BR/EDR (Bluetooth clásico)
-
El estándar inalámbrico que ha evolucionado con la Especificación Bluetooth desde la versión 1.0.
- BLE (Bluetooth de baja energía)
-
El estándar inalámbrico de bajo consumo introducido con la versión 4.0 de la especificación.
Y estos son los dos tipos de dispositivos que se pueden utilizar con estas configuraciones:
- Dispositivo monomodo (BLE, Bluetooth Smart)
-
Dispositivo que implementa BLE, que puede comunicarse con dispositivos monomodo y dual, pero no con dispositivos que sólo admitan BR/EDR.
- Dispositivo de modo dual (BR/EDR/LE, Bluetooth Smart Ready)
-
Un dispositivo que implementa tanto BR/EDR como BLE, que puede comunicarse con cualquier dispositivo Bluetooth.
La Figura 1-1 muestra las posibilidades de configuración entre las versiones de Bluetooth y los tipos de dispositivos disponibles, junto con las pilas de protocolos que permiten que estos dispositivos se comuniquen entre sí.
Cada vez más dispositivos BR/EDR que entran en el mercado incluyen también BLE, y se espera que la tendencia continúe a medida que los sensores BLE monomodo se hagan más omnipresentes. Esos dispositivos de modo dual pueden reenviar los datos obtenidos de un dispositivo BLE de modo único a Internet utilizando sus radios GSM o WiFi, una función que se está haciendo cada vez más común a medida que más sensores BLE entran en el mercado.
Basado en el recuento de chips
Enel Capítulo 2 se presentan y analizan las diversas capas de protocolo que constituyen la pila de protocolos Bluetooth, pero por ahora basta con esbozar los tres componentes principales de todo dispositivo Bluetooth:
- Aplicación
-
La aplicación de usuario que interactúa con la pila de protocolos Bluetooth para cubrir un caso de uso concreto.
- Anfitrión
- Controlador
-
Las capas inferiores de la pila del protocolo Bluetooth, incluida la radio.
Además, la especificación proporciona un protocolo de comunicaciones estándar entre el host y el controlador -la Interfaz Controlador Host (HCI)- para permitir la interoperabilidad entre hosts y controladores fabricados por distintas empresas.
Estas capas pueden implementarse en un único circuito integrado (CI) o chip, o pueden dividirse en varios CI conectados a través de una capa de comunicación (UART, USB, SPI u otra).
Estas son las tres configuraciones más comunes que se encuentran actualmente en los productos comerciales:
- SoC (sistema en chip)
-
Un único CI ejecuta la aplicación, el host y el controlador.
- IC dual sobre HCI
-
Un CI ejecuta la aplicación y el host y se comunica mediante HCI con un segundo CI que ejecuta el controlador. La ventaja de este enfoque es que, como la HCI está definida por la especificación Bluetooth, se puede combinar cualquier host con cualquier controlador, independientemente del fabricante.
- IC dual con dispositivo de conectividad
-
Un CI ejecuta la aplicación y se comunica mediante un protocolo propietario con un segundo CI que ejecuta tanto el host como el controlador. Como la especificación no incluye dicho protocolo, la aplicación debe adaptarse al protocolo específico del proveedor elegido.
La Figura 1-2 muestra las distintas configuraciones de hardware con las capas de la pila del protocolo Bluetooth.
Los sensores sencillos suelen utilizar configuraciones SoC para mantener bajos el coste y la complejidad de la placa de circuito impreso (PCB), mientras que los teléfonos inteligentes y las tabletas suelen optar por la configuración de Doble CI sobre HCI porque normalmente ya disponen de una CPU potente para ejecutar la pila de protocolos. La configuración Dual IC con dispositivo de conectividad se utiliza en otros escenarios, uno de los cuales podría ser un reloj con un microcontrolador especializado al que se le añade conectividad BLE sin revisar todo el diseño.
Principales limitaciones
Como todas las cosas en ingeniería, un buen diseño consiste en hacer las concesiones adecuadas, y Bluetooth Low Energy no es diferente. BLE no pretende ser una solución para todas las necesidades de transferencia inalámbrica de datos, y está claro que Bluetooth, WiFi, NFC y otras tecnologías inalámbricas clásicas siguen teniendo su lugar, con su propio conjunto de compensaciones y decisiones de diseño.
Para ayudar a entender qué es (y qué no es) BLE, es útil reconocer sus limitaciones clave (tal y como se definen en la especificación Bluetooth 4.0 y posteriores) y cómo se traducen estas limitaciones en los productos del mundo real.
Rendimiento de datos
La velocidad de modulación de la radio Bluetooth Low Energy está fijada por la especificación en 1 Mbps constante. Esto establece el límite superior teórico del rendimiento que puede proporcionar BLE, pero en términos reales, este límite suele reducirse significativamente por diversos factores, como el tráfico bidireccional, la sobrecarga del protocolo, las limitaciones de la CPU y la radio, y las restricciones artificiales del software, entre otros.
Para ilustrar algunas de estas restricciones prácticas, considera las siguientes condiciones previas básicas que utilizaremos para un cálculo:
-
Un dispositivo central (maestro) ha iniciado y establecido una conexión con un accesorio periférico (esclavo).
-
En una conexión activa, la especificación define el intervalo de conexión como el intervalo entre dos eventos de conexión consecutivos (un intercambio de datos antes de volver al estado de reposo para ahorrar energía), y este intervalo de conexión puede fijarse en un valor entre 7,5 ms y 4 s.
"Capa de enlace" y "Roles " tratan en detalle los diferentes roles dentro de una conexión. Para este ejemplo, utilizaremos el nRF51822, un CI BLE SoC (sistema en chip) ampliamente disponible fabricado por Nordic Semiconductor que se utiliza en diversos accesorios BLE del mercado. El hardware de radio y la pila BLE de Nordic imponen las siguientes limitaciones al caudal de datos:
-
El nRF51822 puede transmitir hasta seis paquetes de datos por intervalo de conexión (limitado por el CI).
-
Cada paquete de datos saliente puede contener hasta 20 bytes de datos de usuario (establecidos por la especificación, a menos que se negocien tamaños de paquete superiores).
Suponiendo el intervalo de conexión más corto (la frecuencia con la que el maestro y el esclavo intercambian paquetes, descrita en "Conexiones") de 7,5 ms, esto proporciona un máximo de 133 eventos de conexión (un solo intercambio de paquetes entre los dos pares) por segundo y 120 bytes por evento de conexión (6 paquetes * 20 bytes de usuario por paquete). Transmitir continuamente a la velocidad máxima de datos del nRF51822 sugeriría el siguiente cálculo en el mundo real:
133 connection events per second * 120 bytes = 15960 bytes/s or ~0.125Mbit/s (~125kbit/s)
Eso ya es significativamente inferior al máximo teórico de BLE, pero el dispositivo homólogo al que envías los datos (normalmente un dispositivo inteligente como un smartphone o una tableta) puede añadir más limitaciones.
Tu smartphone o tableta también pueden estar ocupados hablando con otros dispositivos, y las pilas BLE implementadas por los proveedores tienen inevitablemente sus propias limitaciones, lo que significa que el dispositivo central puede que tampoco sea capaz de manejar datos a la velocidad máxima. Y debido a otros muchos factores, el intervalo de conexión real podría extenderse más o ser más irregular de lo que habías planeado en un principio.
Así que, en la práctica, en el mejor de los casos, el caudal de datos máximo potencial debería rondar los 5-10 KB por segundo, en función de las limitaciones de ambos interlocutores. Esto debería darte una idea de lo que puedes y no puedes hacer con Bluetooth Low Energy en cuanto a enviar datos a tu teléfono o tableta, y explicarte por qué otras tecnologías como WiFi y Bluetooth clásico siguen teniendo su lugar en el mundo.
Alcance operativo
El alcance real de cualquier dispositivo inalámbrico depende de una gran variedad de factores (entorno operativo, diseño de la antena, carcasa, orientación del dispositivo, etc.), pero Bluetooth Low Energy se centra, como es lógico, en la comunicación de muy corto alcance.
La potencia de transmisión (medida normalmente en dBm) suele ser configurable en un determinado rango (normalmente entre -30 y 0 dBm), pero cuanto mayor es la potencia de transmisión (mejor rango), más se exige a la batería, reduciéndose la vida útil de la(s) célula(s) de la batería.
Es posible crear y configurar un dispositivo BLE que pueda transmitir datos de forma fiable a 30 metros o más de la línea de visión, pero un alcance operativo típico probablemente esté más cerca de los 2 a 5 metros, con un esfuerzo consciente por reducir el alcance y ahorrar batería sin que la distancia de transmisión se convierta en una molestia para el usuario final.
Topología de la red
Un dispositivo Bluetooth de baja energía puede comunicarse con el mundo exterior de dos formas: difusión o conexiones. Cada mecanismo tiene sus propias ventajas y limitaciones, y ambos están sujetos a las directrices establecidas por el Perfil de Acceso Genérico (GAP), que el Capítulo 3 describe en detalle.
Transmitir y observar
Utilizando la difusión sin conexión, puedes enviar datos a cualquier dispositivo de escaneo o receptor en el rango de escucha. Como se ilustra en la Figura 1-3, este mecanismo te permite esencialmente enviar datos en un solo sentido a cualquier persona o cosa que sea capaz de captar los datos transmitidos.
La radiodifusión define dos funciones distintas:
- Broacaster
-
Envía periódicamente paquetes publicitarios no conectables a quien esté dispuesto a recibirlos.
- Observador
-
Explora repetidamente las frecuencias preestablecidas para recibir cualquier paquete publicitario no conectable que se esté emitiendo en ese momento.
Es importante entender la difusión, porque es la única forma de que un dispositivo transmita datos a más de un compañero a la vez. Transmites datos aprovechando las funciones publicitarias de BLE, como se explica con más detalle en "Publicidad y exploración" y "Transmisión y observación".
El paquete publicitario estándar contiene una carga útil de 31 bytes que se utiliza para incluir datos que describen al emisor y sus capacidades, pero también puede incluir cualquier información personalizada que quieras transmitir a otros dispositivos. Si esta carga útil estándar de 31 bytes no es lo suficientemente grande para incluir todos los datos necesarios, BLE también admite una carga útil publicitaria secundaria opcional (denominada Respuesta de exploración), que permite a los dispositivos que detectan un dispositivo emisor solicitar una segunda trama publicitaria con otra carga útil de 31 bytes, hasta un total de 62 bytes.
La difusión es rápida y fácil de usar, y es una buena opción si quieres enviar sólo una pequeña cantidad de datos en un horario fijo o a varios dispositivos. El Capítulo 9 ofrece un ejemplo práctico de la difusión sin conexión de BLE en acción con iBeacon.
Una de las principales limitaciones de la difusión, en comparación con una conexión normal, es que no existen disposiciones de seguridad o privacidad en absoluto con ella (cualquier dispositivo observador puede recibir los datos que se difunden), por lo que podría no ser adecuada para datos sensibles.
Conexiones
Si necesitas transmitir datos en ambas direcciones, o si tienes más datos de los que pueden acomodar las dos cargas útiles publicitarias, tendrás que utilizar una conexión. Una conexión es un intercambio permanente y periódico de paquetes de datos entre dos dispositivos. Por tanto, es intrínsecamente privada (los datos son enviados y recibidos sólo por los dos pares implicados en una conexión, y por ningún otro dispositivo, a menos que esté husmeando indiscriminadamente). En " Conexiones" se ofrece más información sobre las conexiones a nivel inferior, y en "Roles " se tratan los roles GAP correspondientes.
Las conexiones implican dos funciones distintas:
- Central (maestro)
-
Explora repetidamente las frecuencias preestablecidas en busca de paquetes publicitarios conectables y, cuando es adecuado, inicia una conexión. Una vez establecida la conexión, la central gestiona la temporización e inicia los intercambios periódicos de datos.
- Periférico (esclavo)
-
Dispositivo que envía periódicamente paquetes publicitarios conectables y acepta conexiones entrantes. Una vez en una conexión activa, el periférico sigue el horario de la central e intercambia datos regularmente con ella.
Para iniciar una conexión, un dispositivo central recoge los paquetes de publicidad conectable de un periférico y, a continuación, envía una solicitud al periférico para establecer una conexión exclusiva entre los dos dispositivos. Una vez establecida la conexión, el periférico deja de anunciarse y los dos dispositivos pueden empezar a intercambiar datos en ambas direcciones, como se muestra en la Figura 1-4.
Por tanto, una conexión no es más que el intercambio periódico de datos en determinados momentos concretos (eventos de conexión) entre los dos iguales que participan en ella. Es importante señalar que, aunque la central es el dispositivo que gestiona el establecimiento de la conexión, los datos pueden ser enviados de forma independiente por cualquiera de los dos dispositivos durante cada evento de conexión, y los roles no imponen restricciones en el rendimiento o la prioridad de los datos.
A partir de la versión 4.1 de la especificación, se ha eliminado cualquier restricción sobre las combinaciones de funciones, y todas las siguientes son posibles:
-
Un aparato puede actuar como central y como periférico al mismo tiempo.
-
Una central puede conectarse a varios periféricos.
-
Un periférico puede estar conectado a varias centrales.
Las versiones anteriores de la especificación limitaban el periférico a una única conexión central (aunque no a la inversa) y limitaban las combinaciones de funciones.
La mayor ventaja de las conexiones (en comparación con la difusión) es la capacidad de organizar los datos con un control mucho más detallado de cada campo o propiedad mediante el uso de capas de protocolo adicionales y, más concretamente, del Perfil de Atributos Genéricos (GATT). Los datos se organizan en torno a unidades denominadas servicios y características (que se tratan con más detalle en el Capítulo 4).
Lo fundamental a tener en cuenta es que puedes tener múltiples servicios y características, organizados en una estructura significativa. Los servicios pueden contener múltiples características, cada una con sus propios derechos de acceso y metadatos descriptivos. Otras ventajas son un mayor rendimiento, la posibilidad de establecer un enlace cifrado seguro y la negociación de los parámetros de conexión para adaptarlos al modelo de datos.
Las conexiones permiten un modelo de datos mucho más rico y estratificado. También tienen el potencial de consumir mucha menos energía que el modo de difusión, porque pueden alargar más el retraso entre los eventos de conexión, o enviar grandes trozos de datos sólo cuando haya nuevos valores disponibles, en lugar de tener que anunciar continuamente la carga útil completa a un ritmo específico sin saber quién está escuchando ni con qué frecuencia. No sólo eso, sino que el hecho de que ambos pares sepan cuándo se van a producir los eventos de conexión en el futuro permite apagar la radio durante más tiempo, lo que puede ahorrar batería en comparación con la difusión.
Por último, estas topologías pueden mezclarse libremente en una red BLE más amplia, como se muestra en la Figura 1-5. Un dispositivo con capacidad BR/EDR/LE puede unir conexiones BLE y BR/EDR, y el número de combinaciones y participantes en la red sólo está restringido por las limitaciones de las radios y las pilas de protocolos de cada dispositivo que participe en ella.
Empiezan a aparecer dispositivos más avanzados de modo dual y monomodo, capaces de combinar varias funciones simultáneamente. Esto les permite participar en varias conexiones a la vez, a la vez que utilizan la publicidad para difundir datos.
Protocolos frente a perfiles
Desde sus inicios, la especificación Bluetooth introdujo una clara separación entre los distintos conceptos de protocolos y perfiles:
- Protocolos
-
Bloques de construcción utilizados por todos los dispositivos conformes con la especificación Bluetooth, los protocolos son las capas que implementan los distintos formatos de paquetes, enrutamiento, multiplexación, codificación y descodificación que permiten que los datos se envíen eficazmente entre pares.
- Perfiles
-
"Rebanadas verticales" de funcionalidad que cubren modos básicos de funcionamiento requeridos por todos los dispositivos (Perfil Genérico de Acceso, Perfil Genérico de Atributos) o casos de uso específicos (Perfil de Proximidad, Perfil de Glucosa), los perfiles definen esencialmente cómo deben utilizarse los protocolos para lograr un objetivo concreto, ya sea genérico o específico.
El Capítulo 2 trata en detalle los protocolos, pero las siguientes secciones ofrecen una rápida introducción a los perfiles y lo que significan para un desarrollador de aplicaciones.
Perfiles genéricos
Los perfiles genéricos están definidos por la especificación, y es importante comprender cómo dos de ellos son fundamentales para garantizar la interoperabilidad entre dispositivos BLE de distintos proveedores de:
- Perfil de Acceso Genérico (PAG)
-
Al abarcar el modelo de uso de los protocolos de radio de nivel inferior para definir funciones, procedimientos y modos que permitan a los dispositivos difundir datos, descubrir dispositivos, establecer conexiones, gestionar conexiones y negociar niveles de seguridad, GAP es, en esencia, la capa de control superior de BLE. Este perfil es obligatorio para todos los dispositivos BLE, y todos deben cumplirlo.
- Perfil genérico de atributos (GATT)
-
Al tratar del intercambio de datos en BLE, GATT define un modelo de datos básico y procedimientos que permiten a los dispositivos descubrir, leer, escribir y empujar elementos de datos entre ellos. Es, en esencia, la capa de datos superior de BLE.
GAP (tratado con más detalle en el Capítulo 3) y GATT (tratado con más detalle en el Capítulo 4) son tan fundamentales para BLE que a menudo se utilizan como base para las interfaces de programador de aplicaciones (API) como punto de entrada para que la aplicación interactúe con la pila de protocolos.
Perfiles específicos para cada caso
Los perfiles específicos para cada caso de uso de esta sección y de otras se limitan a los perfiles basados en el GATT. Esto significa que todos estos perfiles utilizan los procedimientos y modelos operativos del perfil GATT como base para todas las extensiones posteriores.
En el momento de escribir esto no existen perfiles que no sean GATT, pero la introducción de los canales orientados a la conexión L2CAP en la versión 4.1 de la especificación podría significar que en el futuro empiecen a aparecer perfiles sin GATT.
Perfiles basados en el GATT definidos por el SIG
Bluetooth SIG va más allá de proporcionar un marco de referencia sólido para las capas superiores de control y datos de los dispositivos que participan en una red BLE. Al igual que la especificación USB, también proporciona un conjunto predefinido de perfiles de casos de uso, basados en GATT, que cubren completamente todos los procedimientos y formatos de datos necesarios para poner en práctica una amplia gama de casos de uso específicos, incluido el siguiente :
- Perfil Encuéntrame
-
Permite que los dispositivos localicen físicamente a otros dispositivos (utiliza un llavero para encontrar el teléfono o viceversa).
- Perfil de proximidad
-
Detecta la presencia o ausencia de aparatos cercanos (emite un pitido si se olvida un objeto al salir de una habitación).
- Perfil HID sobre GATT
-
Transfiere datos HID a través de BLE (teclados, ratones, mandos a distancia).
- Perfil de glucosa
-
Transfiere de forma segura los niveles de glucosa a través de BLE.
- Perfil del Termómetro Sanitario
-
Transfiere las lecturas de temperatura corporal a través de BLE.
- Perfil de velocidad y cadencia ciclista
-
Permite que los sensores de una bicicleta transfieran datos de velocidad y cadencia a un smartphone o tablet.
La lista completa de perfiles aprobados por el SIG está disponible en la página de Documentos Adoptados de Especificaciones del Bluetooth SIG. Además, puedes consultar los servicios y características de Bluetooth directamente en el Portal del Desarrollador de Bluetooth y, más concretamente, la lista de todos los servicios adoptados actualmente.
Perfiles específicos de vendedor
La especificación Bluetooth también permite a los proveedores definir sus propios perfiles para casos de uso no cubiertos por los perfiles definidos por SIG. Esos perfiles pueden mantenerse en privado para los dos pares implicados en un caso de uso concreto (por ejemplo, un accesorio sanitario y una aplicación de smartphone), o también pueden ser publicados por el vendedor para que otras partes puedan proporcionar implementaciones del perfil basadas en la especificación suministrada por el vendedor.
Algunos ejemplos de esto último son el iBeacon de Apple (consulta "iBeacon" para más detalles) y el Servicio del Centro de Notificaciones de Apple (consulta "Servicio del Centro de Notificaciones de Apple con una pantalla externa").
Get Primeros pasos con Bluetooth de baja energía now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.