• No se han encontrado resultados

Bluetooth de baja energía en aplicaciones con microcontroladores

N/A
N/A
Protected

Academic year: 2020

Share "Bluetooth de baja energía en aplicaciones con microcontroladores"

Copied!
74
0
0

Texto completo

(1)Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica. TRABAJO DE DIPLOMA Bluetooth de baja energía en aplicaciones con microcontroladores. Autor: Pablo Manuel Hernández Rodríguez Tutor: Ing. Reinier César Mujica Hernández Co-Tutor: Dr. Carlos Bazán Prieto. Santa Clara 2017 "Año del 59 aniversario del triunfo de la Revolución".

(2) Universidad Central “Marta Abreu” de Las Villas Facultad de Ingeniería Eléctrica Departamento de Telecomunicaciones y Electrónica. TRABAJO DE DIPLOMA Bluetooth de baja energía en aplicaciones con microcontroladores. Autor: Pablo Manuel Hernández Rodriguez E-mail: [email protected] [email protected]. Tutor: Ing. Reinier César Mujica Hernández Profesor, Dpto. de Electrónica y Telecomunicaciones. E-mail: [email protected]. Co -Tutor: Dr. Carlos Alberto Bazán Prieto Profesor, Dpto. de Electrónica y Telecomunicaciones. E-mail: [email protected] Santa Clara 2017 "Año del 59 aniversario del triunfo de la Revolución".

(3) Hago constar que el presente trabajo de diploma fue realizado en la Universidad Central “Marta Abreu” de Las Villas como parte de la culminación de estudios de la especialidad de Ingeniería en Telecomunicaciones y Electrónica, autorizando a que el mismo sea utilizado por la Institución, para los fines que estime conveniente, tanto de forma parcial como total y que además no podrá ser presentado en eventos, ni publicados sin autorización de la Universidad.. Firma del Autor Los abajo firmantes certificamos que el presente trabajo ha sido realizado según acuerdo de la dirección de nuestro centro y el mismo cumple con los requisitos que debe tener un trabajo de esta envergadura referido a la temática señalada.. Firma del Tutor. Firma del Jefe de Departamento donde se defiende el trabajo. Firma del Responsable de Información Científico-Técnica.

(4) i. PENSAMIENTO. “Para cambiar es necesario saber; para saber hay que aprender; y para aprender hay que hacer grandes sacrificios”.. Samuel Aun Weor.

(5) ii. DEDICATORIA. A mis padres, Maricela y Paulo que lo han sacrificado todo por mí. A la memoria de mi hermana Yamilé y de mis abuelos. A mi Yani por su apoyo incondicional. A toda mi familia que siempre han estado presente en este sueño..

(6) iii. AGRADECIMIENTOS. Especialmente a mis padres, por haberme apoyado en todo momento. A mis tutores, Reinier y Bazán por toda su ayuda incondicional y su dedicación. Sin sus consejos y buenas exigencias esto no hubiera sido posible. A mi hermana Dailenis, a Tony; que los aprecio mucho. A mi novia y mis suegros. A mis amigos del aula. A mis compañeros de trabajo que siempre me ayudaron para sacar mis estudios adelante. A todos los profesores de la Universidad que influyeron en mi formación como profesional. A Dios, por ayudarme en todas las cosas que he emprendido en la vida. A todos aquellos que de una forma u otra me ayudaron en esto, sin pedir nada a cambio, a todos de verdad, GRACIAS..

(7) iv. TAREA TÉCNICA. El estudio de las características generales y específicas de la tecnología Bluetooth. La descripción de los protocolos y perfiles de Bluetooth 4.0. El estudio de los diferentes módulos Bluetooth y sus prestaciones. El diseño de una aplicación en los softwares de simulación y su implementación.. Firma del Autor. Firma del Tutor.

(8) v. RESUMEN. El estándar Bluetooth es una norma abierta que posibilita la conexión inalámbrica de corto alcance de voz y datos entre ordenadores, portátiles, teléfonos móviles, impresoras, escáneres, cámaras digitales e incluso dispositivos de casa. Opera en la banda ISM (Industrial Scientific Medical) en el espectro de radiofrecuencia electromagnética reservadas internacionalmente para uso no comercial en áreas de trabajo industriales, científicas y médicas, disponible a nivel global en la frecuencia de 2,4 GHz. Es decir, la tecnología Bluetooth es el sistema de comunicaciones sin hilos, el cual elimina el engorroso problema de cables de comunicación entre los diferentes equipos electrónicos. En este trabajo se realiza un estudio sobre este estándar y se comprueba su funcionamiento a partir de los dispositivos disponibles. Con la idea de controlar una pizarra electrónica remotamente se conectó el módulo Bluetooth a un microcontrolador, de manera que se pueda comunicar un dispositivo móvil y un microcontrolador utilizando este tipo de tecnología. Los materiales utilizados para realizar este proyecto son: un módulo BLE HM10 y un microcontrolador de la familia MCS-51™. Como resultado se diseñó una aplicación Android, que se comunica con un módulo BLE, conectado a un microcontrolador..

(9) vi. TABLA DE CONTENIDOS. PENSAMIENTO .....................................................................................................................i DEDICATORIA .................................................................................................................... ii AGRADECIMIENTOS ........................................................................................................ iii TAREA TÉCNICA ................................................................................................................iv RESUMEN ............................................................................................................................. v INTRODUCCIÓN .................................................................................................................. 1 CAPÍTULO 1.. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA. ESPECIFICACIÓN BLUETOOTH 4.0 ................................................................................. 4 1.1 1.1.1. Tecnología Bluetooth .............................................................................................. 4. 1.2. Principales características de Bluetooth 4.0 (BLE) .......................................... 6 Arquitectura de BLE ............................................................................................... 8. 1.2.1. Capa Física ........................................................................................................ 9. 1.2.2. Capa de Enlace................................................................................................ 12. 1.2.3. Capa de Interfaz de Control del Host.............................................................. 23. 1.2.4. Nivel de Host, modos y procedimientos ......................................................... 23. 1.3 1.3.1. Análisis de los módulos Bluetooth existentes....................................................... 26. 1.4. Características del módulo HM-10 ................................................................. 28 Conclusiones parciales .......................................................................................... 29. CAPÍTULO 2.. PROTOCOLOS Y PERFILES DE BLE ................................................. 30.

(10) vii 2.1. Protocolos Bluetooth............................................................................................. 30. 2.1.1. Protocolo de adaptación y control del enlace lógico (L2CAP) ...................... 30. 2.1.2. Protocolo de atributo (ATT) ........................................................................... 34. 2.1.3. Protocolo de gestión de seguridad (SMP)....................................................... 34. 2.2. Perfiles Bluetooth ................................................................................................. 35. 2.2.1. Perfil genérico de atributo (GATT) ................................................................ 36. 2.2.2. Perfil genérico de acceso (GAP) ..................................................................... 39. 2.3. Conclusiones parciales .......................................................................................... 41. CAPÍTULO 3.. IMPLEMENTACIÓN DE UNA APLICACIÓN PARA EL CONTROL. DE LA PIZARRA ELECTRÓNICA UTILIZANDO EL ESTANDAR BLUETOOTH. .... 42 3.1. Características generales y de diseño del sistema de comunicación inalámbrica. del cartel LED ................................................................................................................... 42 3.1.1. Proteus® ......................................................................................................... 42. 3.1.2. Arquitectura y diseño de la conexión Bluetooth en la placa de control ......... 43. 3.2. Implementación y funcionamiento del sistema compuesto por el módulo BLE de. la pizarra y un teléfono móvil. .......................................................................................... 46 3.2.1. Android Studio ................................................................................................ 48. 3.2.2. Diseño de la aplicación Android para el control de la pizarra ........................ 49. 3.3. Conclusiones parciales .......................................................................................... 52. CONCLUSIONES Y RECOMENDACIONES ................................................................... 53 Conclusiones ..................................................................................................................... 53 Recomendaciones ............................................................................................................. 54 REFERENCIAS BIBLIOGRÁFICAS ................................................................................. 55 ANEXOS .............................................................................................................................. 57 Anexo I. Clase para el control de la conexión Bluetooth con el módulo ...................... 57.

(11) viii Anexo II Clase del Cartel para la fecha, hora y rotación de caracteres ......................... 60.

(12) INTRODUCCIÓN. 1. INTRODUCCIÓN. La tecnología Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que permite facilitar las comunicaciones entre equipos y eliminar el cableado y conectores entre éstos. Haciendo uso de la programación orientada a dispositivos y de la conectividad Bluetooth, pueden desarrollarse aplicaciones que representan un significativo interés del Departamento de Telecomunicaciones, donde se pretende utilizar esta tecnología y realizar una aplicación con un microcontrolador. El surgimiento de BLE amplía las aplicaciones que se pueden hacer con esta tecnología. Estos protocolos pueden utilizarse en las pizarras electrónicas que se desarrollan como parte del proyecto de colaboración entre La Empresa Productora y Comercializadora de Artículos Deportivos (EPCAD), encargada de producir los equipos electrónicos para los eventos deportivos y la Universidad Central “Marta Abreu” de Las Villas (UCLV). La EPCAD es la única empresa a nivel nacional que tiene como una de sus funciones principales la instalación, mantenimiento y reparación de los equipos electrónicos aplicados en la esfera del deporte. Esta ha desarrollado equipos aplicados a las actividades deportivas, sin embargo, algunos no están actualizados o no ofrecen la versatilidad necesaria en relación al manejo de todos sus recursos. Es necesario actualizar la comunicación con las pizarras electrónicas que se utilizan actualmente, mediante comunicación inalámbricas. Este proyecto cuenta con los recursos materiales y cognoscitivos necesarios para su puesta en práctica, suministrados por la Empresa Productora y Comercializadora de Artículos Deportivos y la Universidad Central de las Villas. La ejecución del proyecto da soluciones a otras alternativas de comunicación de equipos electrónicos destinados al deporte, para su posible producción y aplicación en el país..

(13) INTRODUCCIÓN. 2. Con esta investigación se pretende cumplir los siguientes objetivos: Objetivo General: . Implementar una comunicación utilizando un dispositivo móvil, el módulo Bluetooth de baja energía (BLE) y un microcontrolador.. Objetivos Específicos: 1. Analizar las especificaciones, arquitectura y el equipamiento que forma parte del estándar Bluetooth 4.0. 2. Realizar una descripción de los diferentes protocolos y perfiles con los que opera la especificación Bluetooth 4.0. 3. Diseñar y simular una aplicación inalámbrica con la especificación BLE. 4. Montar y poner en funcionamiento la aplicación anterior.. Para darle cumplimiento a los objetivos presentados se plantearon las siguientes interrogantes científicas: •. ¿Cuáles son los dispositivos inalámbricos de comunicaciones existentes y que están disponibles en el mercado?. •. ¿Cuáles son las características de las pizarras electrónicos empleadas en los eventos deportivos?. •. ¿Cómo realizar una aplicación que se comunique mediante el estándar Bluetooth?. •. ¿Cuáles son los requerimientos de hardware y software que se necesitan para desarrollar la aplicación?. Los resultados de la investigación poseen una aplicación práctica inmediata para el desarrollo de los diferentes eventos deportivos en todo el país, ya que a partir de esta tecnología la EPCAD puede desarrollar producciones a escala industrial para su aplicación en el país..

(14) INTRODUCCIÓN. 3. Organización del Informe La investigación incluye tres capítulos, además de las conclusiones, recomendaciones, referencias bibliográficas y anexos. Los temas que se abordan en cada capítulo se encuentran estructurados de la forma siguiente: Capítulo I: Se dedicará a la caracterización del estándar Bluetooth BLE, su arquitectura y disponibilidad de estos dispositivos en el mercado. Capítulo II: Se enfatizará en los protocolos, perfiles y roles de BLE. Capítulo III: Implementación de una aplicación Android usando un móvil y el módulo BLE para controlar una pizarra electrónica de luces LEDs..

(15) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. CAPÍTULO 1.. 4. CARACTERÍSTICAS, ARQUITECTURA Y. DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4.0. En este capítulo se realiza una búsqueda bibliográfica del estándar Bluetooth, se analizan las características, la arquitectura y los dispositivos electrónicos a utilizar de la tecnología Bluetooth para la conexión con otros equipos electrónicos. Se define las interfaces y se describe el funcionamiento del sistema de comunicación. 1.1. Tecnología Bluetooth. Bluetooth es un estándar de corto alcance y bajo consumo de energía que inicialmente surgió como tecnología de reemplazo de cable de Ericsson en 1994. Bluetooth se ha incorporado y se está generalizando en numerosos tipos de dispositivos incluyendo dispositivos inteligentes. Esta tecnología se puede apreciar en asistentes digitales personales (PDA), teléfonos celulares, computadoras, periféricos de datos como ratones, teclados, cámaras fotográficas, impresoras, auriculares, altavoces, y finalmente aplicaciones integradas que incluyen cerraduras eléctricas y otros sistemas electrónicos. Ericsson junto con Intel, (IBM), Nokia y Toshiba se unieron para formar el grupo de interés especial Bluetooth (SIG) a principios de 1998. Después se incorporaron las compañías 3Com, Lucent / Agere Technologies, Microsoft y Motorola al grupo a finales de 1999. El trabajo conjunto de los miembros del SIG permitió que la norma estuviera libre para garantizar una rápida aceptación y compatibilidad en el mercado. La tecnología Bluetooth ya está soportada por más de 2100 empresas de todo el mundo (XIAO, 2009). Bluetooth es una especificación para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM. Los dispositivos que incorporan este protocolo pueden.

(16) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 5. comunicarse entre ellos cuando se encuentran dentro de su alcance y estos dispositivos pueden clasificarse según su potencia de transmisión como se muestra en la tabla 1.1 y siendo totalmente compatibles los de una clase con los de las otras (BLUETOOTH SIG, 2016a). Tabla 1.1. Clasificación de los dispositivos. Clase. Potencia máxima permitida. Potencia mínima permitida. Alcance (aproximado). Clase 1. 100 mW (+20 dBm). 10 mW (+10 dBm). ~100 metros. Clase 1.5. 10 mW (+10 dBm). 0.01 mW (-20 dBm). ~50 metros. Clase 2. 2.5 mW (+4 dBm). 0.01 mW (-20 dBm). ~10 metros. Clase 3. 1 mW (0 dBm). 0.01 mW (-20 dBm). ~1 metro. En la mayoría de los casos, la cobertura efectiva de un dispositivo de clase 2 se extiende cuando se conecta a un transceptor de clase 1, esto es así gracias a la mayor sensibilidad y potencia de transmisión del dispositivo de clase 1. Los dispositivos con Bluetooth también pueden clasificarse según su ancho de banda como se muestra en la tabla 1.2 partiendo de la versión que soporten. Tabla 1.2. Clasificación según su ancho de banda. Versión. Ancho de banda. Versión 1.2. 1 Mbit/s. Versión 2.0 + EDR. 3 Mbit/s. Versión 3.0 + HS. 24 Mbit/s. Versión 4.0. 24 Mbit/s. Al ser un protocolo de comunicación inalámbrica puede ser utilizado para comunicar dos o más dispositivos homólogos. Posee una arquitectura de tipo cliente-servidor donde generalmente el dispositivo que inicia la conexión (el cliente) actúa como maestro y el que la recibe (el servidor) funciona como esclavo. La principal ventaja de Bluetooth es la habilidad de manejar trasmisión de voz y datos simultáneamente (XIAO, 2009)..

(17) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 6. 1.1.1 Principales características de Bluetooth 4.0 (BLE) Bluetooth Low Energy (de aquí en adelante BLE) es la característica principal de la versión 4.0 del núcleo de especificaciones Bluetooth. Esta versión fue introducida en junio de 2010 por el grupo especial de interés Bluetooth (SIG). BLE es en sí misma una tecnología inalámbrica diseñada para cubrir objetivos distintos a su antecesor. El principal objetivo es usar un estándar de radio con el menor consumo de energía posible, especialmente optimizado para tener un bajo coste, con un pequeño ancho de banda, baja potencia y baja complejidad. Bluetooth con tecnología de bajo consumo permite rachas cortas de conexión de radio, lo que es ideal para aplicaciones de Internet de las cosas o IoT (del inglés, Internet of Things) que no requieren una conexión continua, sino que dependen de la duración de la batería. Mientras tanto Bluetooth con tasa básica / tasa de datos mejorada (BR / EDR) y BLE operan en la misma banda de 2,4 GHz al igual que la tecnología Wi-Fi (BLUETOOTH SIG, 2016b). Bluetooth utiliza técnicas de saltos de frecuencia, una corta longitud de los paquetes e integridad para evitar interferencias, lo que hace que las conexiones sean mucho más potentes que las redes Wi-Fi en esta banda, con datos transmitidos que rara vez se pierden. BLE ofrece una conexión segura y fiable para dispositivos móviles. Para aplicaciones sin transmisión (streaming), ofrece ventajas sin igual en costo, tamaño, potencia y disponibilidad de componentes y módulos. La tecnología estándar de Bluetooth ofrece una clara ventaja sobre otras tecnologías inalámbricas de bajo consumo garantizando la interoperabilidad a nivel mundial de dispositivos. Bluetooth y Wi-Fi son las únicas dos implementadas por las principales plataformas y sistemas operativos, lo que constituye una consideración importante de los desarrolladores. Los dispositivos BLE funcionan en la banda ISM que es libre y usa un transceptor de salto de frecuencia para combatir la interferencia y el desvanecimiento. La modulación de BLE es GFSK (Gaussian Frequency Shift Keying) y se definen dos esquemas de modulación (DECUIR, 2011). El esquema de modulación básico que es de 1 Mega símbolo / Segundo (1 Msym / s) y utiliza una modulación de frecuencia binaria para minimizar la complejidad del transceptor y un esquema opcional de modulación de (2 Msym / s ) que es similar, pero utiliza una tasa de símbolos mayor (BLUETOOTH SIG, 2016a). En ambos modos se utiliza un esquema Duplex de división de tiempo (TDD)..

(18) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 7. BLE divide el espacio de RF asignado en 40 canales y salta entre ellos en una secuencia aleatoria 1600 veces por segundo. En todos los paquetes de datos se comprueban la secuencia y la integridad de los datos para garantizar que son correctos. Los paquetes perdidos o dañados se retransmiten utilizando un canal diferente. Si hay interferencia de otra tecnología como Wi-Fi, se cambia rápidamente a otro canal para retransmitir. BLE también emplea el salto de frecuencia adaptativo AFH (Adaptive Frequency Hop) que busca la interferencia potencial de los canales para que no se usen en la secuencia de saltos para realizar la conexión. Bluetooth puede detectar transmisiones Wi-Fi y bloquear canales que puedan interferir, permitiendo la coexistencia con la tecnología Wi-Fi, por lo que se puede decir que usar dicha tecnología es muy factible (BLUETOOTH SIG, 2017). BLE comparte algunas similitudes con el Bluetooth clásico, los dos usan la misma banda de frecuencia, Bluetooth clásico y BLE usan la modulación GFSK a 1Mbps, pero con índices de modulación diferentes y la cantidad de canales y la separación entre ellos también es diferente. En la tabla 1.3 se observa una comparación de las diferentes configuraciones. Tabla 1.3. Comparación entre BLE y Bluetooth clásico. BLE. BR. EDR. Modulación. GFSK 0.45 a 0.55. GFSK 0.28 a 0.35. DQPSK / 8DSPK. Tasa Mbit/s. 1Mbit/s. 1 Mbit/s. 2 y 3 Mbit/s. Nº Canales. 40. 79. 79. Separación. 2MHz. 1MHz. 1MHz. Debido a estas diferencias entre BLE y Bluetooth clásico, éstos son incompatibles entre sí, por lo tanto, no se pueden comunicar. Sin embargo, existen dispositivos en Modo Dual (Dual Mode) que soportan las dos tecnologías conmutando los parámetros de modulación y los canales donde se está radiando (AKHAYAD, 2016). La forma de entenderse entre ellas es a través de un módulo doble. Nos encontramos con tres tipos de configuraciones posibles, ver figura 1.1 las diferencias (GARIJO, 2016). . Bluetooth clásico (BR/EDR): implementa el estándar inalámbrico clásico Bluetooth..

(19) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. . 8. Monomodo (BLE, Bluetooth Smart): implementa el estándar BLE y puede comunicarse con otros módulos monomodo y con los de modo dual pero no con los que sólo soportan BR/EDR.. . Modo dual (BR/EDR/LE, Bluetooth Smart Ready): implementa ambos estándares, BR/EDR y BLE y es capaz de conectarse con cualquier dispositivo Bluetooth.. Figura 1.1. Configuraciones entre versiones y dispositivos Bluetooth. 1.2. Arquitectura de BLE. La topología de red de BLE es de tipo estrella. Los dispositivos Maestros (Master) pueden tener varias conexiones de capa de enlace con periféricos Esclavos (Slaves) y simultáneamente realizar búsquedas de otros dispositivos. Por otro lado, un dispositivo en rol de esclavo solo puede tener una conexión de capa de enlace con un único Maestro. Además, un dispositivo puede enviar datos en modo de Difusión (Broadcast), eventos de Anunciado (Advertising), sin esperar ninguna conexión; esto permite enviar datos a los dispositivos en estado de Escaneo (Scanning) sin necesidad de establecer la conexión Maestro – Esclavo (AKHAYAD, 2016). Para la gestión de los dispositivos, la conexión y la interfaz de las aplicaciones, el SIG de Bluetooth define una pila de protocolos. La pila del protocolo BLE como se muestra en la figura 1.2 se divide en tres partes básicas: Controlador, Host y Aplicaciones..

(20) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 9. Figura 1.2. Pila del protocolo BLE. El Controlador es el dispositivo físico que permite transmitir y recibir señales de radio e interpretarlas como paquetes con información. Contiene la capa física el modo de prueba directa la capa de enlace y la interfaz de control de host. El Host es la pila de software que administra cómo dos o más dispositivos se comunican entre ellos. No está definida ninguna interfaz superior para el Host, cada sistema operativo o entorno tiene su propia manera de exponer api's (Application Programming Interface) de Host para los desarrolladores. Esta parte de la pila contiene una capa de control de enlace lógico y de protocolo de adaptación, administrador de seguridad, protocolo de atributo ATT (Attribute protocol), perfil de atributo genérico GATT (Generic Attribute Profile) y perfil de acceso genérico GAP (Generic Access Profile) (AKHAYAD, 2016). 1.2.1 Capa Física La capa física es la que se encarga de enviar las señales al aire, transmitiendo y recibiendo bits usando ondas radio en la banda de frecuencia de 2.4 GHz que se extiende desde 2402 MHz hasta 2480 MHz. La separación entre los 40 canales utilizados es de 2 MHz (numerados de 0 a 39 y de 1 MHz de anchura cada uno). Existen 3 canales dedicados para el anunciado y 37 para la transmisión de datos. Los canales 37, 38, y 39 son usados solo para el envío de paquetes de anunciado. El resto son usados para el intercambio de datos durante la conexión..

(21) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 10. Figura 1.3. Distribución de canales en BLE. Estos tres canales de anunciado están situados estratégicamente como se exponen en la figura 1.3 para evitar interferencias causadas por otras tecnologías que coexisten en el mismo espectro (IEEE 802, y ZigBee). Además, en estado de conexión, BLE utiliza la técnica de espectro de dispersión de salto de frecuencia FHSS (Frequency Hopping Spread Spectrum) para reducir interferencias (AKHAYAD, 2016). BLE utiliza una modulación gaussiana con desplazamiento de frecuencia. Ésta utiliza dos frecuencias para identificar el bit ‘1’ o ‘0’. El filtro gaussiano se usa para suavizar las transiciones entre frecuencias y reducir el ensanchado del espectro causado por la interferencia entre símbolo ISI (Inter Symbol Interference). La especificación de BLE limita la potencia transmitida máxima a +10 dBm y la mínima en -20 dBm. La sensibilidad recibida mínima requerida para BLE es de -70 dBm, aunque la mayoría de dispositivos BLE tienen una sensibilidad menor a -85 dBm (AKHAYAD, 2016). La topología de red que predomina en BLE es la piconet. Un piconet es una red ad hoc ya que no depende de una infraestructura pre-existente y que une un grupo de usuarios de dispositivos inalámbricos a través de protocolos sobre tecnología Bluetooth. Cada enlace está formado por un esclavo y un maestro. A diferencia de las conexiones en Bluetooth clásico, en BLE los esclavos no comparten el mismo canal físico con el maestro. Cada esclavo se comunica con el maestro en un canal físico separado. También se dan redes de dispersión (scatternet). En la figura 1.4 podemos ver ejemplos de posibles topologías que se pueden dar en BLE (GARIJO, 2016)..

(22) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 11. Figura 1.4. Ejemplo de topología en BLE. En la figura anterior las flechas solidas señalan el sentido maestro esclavo. Las flechas de guiones indican un inicio de conexión y el comienzo de la flecha indica el iniciador de la conexión. El dispositivo anunciador se indica con una estrella. . El dispositivo A es maestro en una piconet (representada por el área sombreada) con los dispositivos B y C como esclavos. Es también iniciador en la red de dispersión con el dispositivo D que es el anunciador.. . El dispositivo F es maestro en una piconet con el dispositivo G como esclavo.. . El dispositivo K se encuentra en una red de dispersión. También es maestro de dispositivo L y esclavo del M. También es anunciador en la red de dispersión con el dispositivo N que es iniciador.. . El dispositivo O se encuentra en una red de dispersión. Es esclavo de P y de Q.. . El dispositivo E es un escáner y el C es anunciador.. . El dispositivo H es anunciador y los dispositivos I y J son escáneres.. . El dispositivo R es anunciador y el O es iniciador..

(23) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 12. 1.2.2 Capa de Enlace Esta es la capa responsable de los estados de Anunciado, Escaneo, creación y mantenimiento de las conexiones. También es la responsable de la estructura de los paquetes. Interactúa directamente con la capa física y es la responsable de cumplir con todos los requisitos de tiempo definidos por la especificación, esto genera que normalmente permanezca aislada de las capas superiores de la pila de protocolos. Se encargada de gestionar como se conectan los dispositivos unos con otros. Un dispositivo BLE puede ser maestro, esclavo o ambos. Los dispositivos que inician una conexión serán maestros y los que las aceptan esclavos. Un maestro puede conectarse con múltiples esclavos y un esclavo puede estar conectado con múltiples maestros. BLE tiene una estructura asimétrica entre maestro y esclavo, se requieren más recursos para actuar como maestro. Por eso dispositivos como smartphones o tablets suelen actuar como maestros mientras que dispositivos como sensores, más pequeños, más simples y con limitaciones de memoria suelen actuar como esclavos. Se definen cuatro roles en la capa de enlace: Anunciante: el dispositivo envía mensajes de anuncio. Escaneador: el dispositivo escanea paquetes de anuncio. Maestro: el dispositivo que inicia la conexión y la gestiona después. Esclavo: el dispositivo que acepta peticiones de conexión. Además de los roles que existen, se describe el funcionamiento de la capa de enlace en términos de una máquina de 5 estados como se ilustra en la figura 1.5. . Estado de espera (Standby) no transmite o recibe paquetes. A este estado se puede acceder desde cualquier otro estado.. . Estado de anuncio (Advertising) transmite paquetes de anuncio y cuando sea necesario escucha y contesta a los posibles mensajes de petición y repuesta de escaneo. Correspondería al rol de anunciante. A este estado se puede acceder desde el estado de espera..

(24) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. . 13. Estado de escaneo (Scanning) escucha a paquetes de anuncio en los canales de anuncio. Correspondería al rol de escaneador. A este estado se puede acceder desde el estado de espera.. . Estado de inicio (Initiating) escucha a paquetes de anuncio y responder para iniciar una conexión con otro dispositivo. A este estado se puede acceder desde el estado de espera.. . Estado de conexión (Connected) a este estado se puede acceder desde el estado de escaneo o de inicio.. Figura 1.5. Estados y roles de BLE. Se definen dos roles en los dispositivos: Rol maestro – cuando se accede desde el estado de inicio. Rol esclavo – cuando se accede desde el estado de anunciado. Para el Esclavo, el estado de anuncio también se considera como estado inicial antes del estado de conexión. El estado de conexión es el último estado en el que el Esclavo (periférico) y el Maestro (Central) pueden intercambiar datos. Éstos se intercambian datos periódicamente a través de eventos de conexión. Se denomina anuncio al dispositivo BLE que utiliza los canales de anunciado para emitir datos, interpretar que es conectable y detectable. A un dispositivo en estado de escaneo se.

(25) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 14. le denomina (Scanner) y cuando se inicia una conexión, los canales de datos se utilizan una vez establecida la conexión entre dispositivos. El dispositivo escaneador busca en los canales de Anunciado paquetes de Anuncio de otros dispositivos. Para mitigar posibles efectos no deseados producidos por colisiones en el mismo canal, cada transmisión en un canal físico se inicia con una dirección de acceso que se utiliza como un código de correlación por parte de los dispositivos conectados al canal físico. Como se puede observar en la figura 1.6 y 1.7 la dirección de acceso está presente al inicio de cada paquete transmitido. Tiene un tamaño de 4 bytes y para todos los paquetes de los canales de anuncio tiene un valor fijo, 0x8E89BED6.. Figura 1.6. Estructura del paquete BLE.. Figura 1.7. Estructura del paquete BLE y carga de datos. Sin embargo, para los paquetes de los canales de datos la dirección de acceso debe ser diferente para cada conexión. Debe ser un valor aleatorio (con ciertas restricciones como no más de seis ceros o unos consecutivos) de 5 bytes de longitud generado por el dispositivo que inicia la conexión y enviado en el paquete de petición de conexión (CONNECT_REQ). La otra dirección es la utilizada a la hora de identificar a un dispositivo Bluetooth. Existen dos tipos de direcciones, de 6 bytes de tamaño y que se encuentran en la Unidad de Datos de Protocolo (PDU) tras los 2 bytes del campo cabecera (GARIJO, 2016)..

(26) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 15. El primer tipo de dirección de dispositivo es la pública. Ésta dirección es fija, está programada en fábrica, nunca va a cambiar durante la vida útil del dispositivo y debe estar registrada en el IEEE. Se divide en dos campos: el primero, formado por los 3 bytes menos significativos, es el campo asignado a la compañía y el segundo, formado por los 3 bytes más significativos, es el campo de identificador de compañía. El segundo tipo de dirección de dispositivo es la aleatoria. Puede ser preprogramada en el dispositivo o generada dinámicamente durante el tiempo de ejecución (GARIJO, 2016). La capa de enlace compara todos los paquetes recibidos con los códigos de detección de errores por redundancia cíclica CRC respectivos y pide la retransmisión cuando la comprobación de errores detecta un fallo en la transmisión. No hay límite superior para el número de retransmisiones, se reenviará hasta que la recepción sea correcta. Una de los puntos que simplifica la implementación de la pila de protocolos es que solamente existe un formato de paquete y dos tipos de paquetes: de anuncio y de datos. . Paquetes de Anuncio. Los paquetes de anuncio tienen dos propósitos, publicitación de datos para aplicaciones que no necesitan establecer conexión y descubrir esclavos y conectarse con ellos. Cuando estos paquetes se envían previamente no se conoce si habrá algún dispositivo escaneando. En el caso del tipo de paquete de anuncio tienen de carga útil hasta 31 bytes. La PDU de un paquete de anuncio tiene la siguiente composición mostrada en la figura 1.8.. Figura 1.8. Estructura de la cabecera del paquete de Anuncio. El campo TxAdd incida que la dirección contenida en el campo MAC address es pública (TxAdd=0) o aleatoria (TxAdd=1). El campo RxAdd indica si la dirección del iniciador del campo data es pública (RxAdd=0) o aleatoria (RxAdd=1) (BLUETOOTH SIG, 2016a)..

(27) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 16. El campo tipo de PDU puede tomar los siguientes valores como se muestra a continuación en la tabla 1.4. Tabla 1.4. Tipos de contenido en paquete de anuncio según campo de tipo de PDU. PDU Tipo. Nombre del Paquete. Significado. 0000. ADV_IND. Conectable no dirigido de publicidad. 0001. ADV_DIRECT_IND. Conectable dirigido. 0010. ADV_NONCONN_IND. No conectable. 0011. SCAN_REQ. Escaneble. 0100. SCAN_RSP. Escaneable y conectable. 0101. CONNECT_REQ. Conectable. 0110. ADV_SCAN_IND. Escaneo no dirigido de publicidad. 0111-1111. Reserved. Reservado. Dentro del tipo de paquete de anuncio existen diferentes PDUs y cada una tiene un fin distinto. Antes de explicar cada una de ellas conviene definir tres propiedades de los paquetes de anuncio. Conectabilidad: •. Conectable: un escáner puede iniciar una conexión al recibir este tipo de paquete.. •. No conectable: un escáner no puede iniciar una conexión al recibir este tipo de paquete.. Escaneabilidad: •. Escaneable: un escáner puede emitir una petición de escáner al recibir este tipo de paquete.. •. No escaneable: un escáner no puede emitir una petición de escáner al recibir este tipo de paquete.. Directividad: •. Directivo: un paquete de este tipo contiene en su carga útil solamente la dirección del dispositivo anunciador y del dispositivo escaneador objetivo. No se permite otro tipo de datos. Todos los paquetes directivos son por tanto conectables..

(28) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. •. 17. No directivo: un paquete de este tipo no está dirigido a ningún dispositivo escaneador en particular.. . Paquetes de Datos. Los paquetes de datos son usados para transportar los datos de usuario bidireccionalmente entre maestro y esclavo. Respecto a la carga los protocolos superiores limitan la cantidad de la carga útil a 20 bytes por paquete, dependiendo de los protocolos usados (GARIJO, 2016). La estructura actual de la cabecera de los paquetes de datos es la que se muestra en la imagen 1.9.. Figura 1.9. Estructura de la cabecera de los paquetes de datos. Está compuesta por una serie de campos, sobre los que no se va a profundizar. El significado de sus siglas es: •. •. LLID: identificador de enlace lógico. Define el tipo de carga útil (Logical Link Identifier). NESN: siguiente número de secuencia esperado (Next Expected Sequence Number). SN: número de secuencia (Sequence Number). MD: más datos (More Data). RFU: reservado para futuro uso (Reserved for Future Use). Length: indica el tamaño, en bytes, de la carga útil.. . Proceso de Anuncio. • • • •. El intervalo de publicidad es el que marca el tiempo de envío entre paquetes, es múltiplo entero de 0.625 ms y puede ir de un mínimo de 20 ms a un máximo de 10.24 s. En el evento de anuncio se puede enviar hasta un mensaje por cada uno de los tres canales de anuncio disponibles y los dispositivos que escanean lo hacen durante un tiempo en cada uno de esos tres canales. Para que se reciba correctamente el paquete ambos deben coincidir en el mismo canal al mismo tiempo..

(29) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 18. Si el tipo de paquete de anuncio es escaneable no dirigido (ADV_SCAN_IND) o no conectable no dirigido (ADV_NONCONN_IND) el intervalo de anuncio no será menor a 100 ms. Si el tipo de paquete de anuncio es conectable no dirigido (ADV_IND) o conectable dirigido (ADV_DIRECT_IND) el intervalo de anuncio puede ser de 20 ms o mayor. El tiempo entre el inicio de dos eventos de anuncio consecutivos está formado por el intervalo de publicidad y un retardo aleatorio, entre 0 ms y 10 ms, generado por la capa de enlace para cada evento de anuncio. En la figura 1.10 podemos ver lo descrito anteriormente: T_advEvent = advInterval + advDelay (GARIJO, 2016).. Figura 1.10. Proceso de anunciado. Independientemente del tipo de paquete de anuncio que se envíe, el tiempo de inicio entre dos paquetes de anuncio debe ser menor o igual a 10 ms. En la Figura 1.10, 1.11 y 1.12 se representa la estructura de un evento de anuncio, anuncio escaneable y anuncio de conexión.. Figura 1.11. Estructura de un evento de anuncio. Cuando el tipo de paquete de anuncio es escaneable o conectable el escáner que los reciba podrá o bien mandar un SCAN_REQ o un INITIATION_REQ. Estos paquetes los mandará el escáner nada más recibir el paquete de anuncio y en el mismo canal que el paquete de.

(30) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 19. anuncio. La figura 1.12 muestra este proceso, en este caso es el paquete de anuncio sobre el canal 38 el que recibe el escáner y al que contesta (GARIJO, 2016).. Figura 1.12. Estructura de un evento de anuncio escaneable con envío de SCAN_REQ. Como vemos en la figura 1.13 el envío, petición y respuesta debe suceder en los 10 ms. Para el caso de una petición de conexión:. Figura 1.13. Estructura de un evento de anuncio conectable con envío de CONNECT_REQ. Al recibir la petición de conexión el proceso de anunciado finaliza. . Proceso de Escaneo. El proceso de escaneado viene marcado por dos parámetros: •. la ventana de escaneo: durante cuánto tiempo escucha.. •. el intervalo de escaneo: con qué frecuencia ocurre la escucha.. Estos parámetros junto al intervalo de publicidad tienen un gran impacto en el consumo energético. En la figura 1.14 se puede observar el esquema de anunciado y escaneo..

(31) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 20. Figura 1.14. Anunciado y escaneado. Se especifican dos tipos de escaneado: el escaneo pasivo y el escaneo activo. •. Escaneo pasivo: el escáner solamente escucha paquetes de anuncio, por lo que la capa de enlace solamente puede recibir paquetes, no puede enviar, excepto para el caso en el que es objetivo de un ADV_DIRECT_IND. En ese caso sí que puede contestar con un CONNETC_REQ (GARIJO, 2016).. •. Escaneo activo: el escáner escucha paquetes y puede emitir un paquete de solicitud de escaneo para que el anunciador le conteste con un paquete de respuesta de escaneo que puede contener cierta información sobre el anunciador. En la figura 1.15 se observa estos dos tipos de escaneo posible.. Figura 1.15. Escaneo pasivo y el escaneo activo..

(32) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. . 21. Proceso de Conexión. Es el proceso donde un maestro que escanea recibe un mensaje de anuncio conectable envía un paquete de petición de conexión (CONNECT_REQ) y, siempre y cuando el esclavo responda, se establece una conexión. Como ya hemos visto, el paquete de petición de conexión incluye el incremento de salto de frecuencia. La conexión es un simple intercambio de datos entre esclavo y maestro en unos instantes predefinidos. Cada intercambio se llama evento de conexión, en la figura 1.16 podemos ver un ejemplo de conexión (GARIJO, 2016).. Figura 1.16. Conexión Esclavo – Maestro. Durante el proceso de establecimiento de conexión hay tres parámetros claves que el maestro comunica al esclavo y que determinan la conexión: . Intervalo de conexión: tiempo que transcurre ente el inicio de dos eventos de conexión consecutivos. puede estar entre los 7.5 ms hasta 4 s.. . Latencia del esclavo: el número de eventos de conexión que el esclavo puede saltarse sin riesgo de desconexión.. . Tiempo de supervisión de conexión: máximo tiempo entre dos paquetes de datos recibidos correctamente antes de que una conexión sea considerada perdida.. Hay dos procesos de control relevantes que la capa de enlace lleva a cabo y que hacen referencia a las conexiones. El primero de ellos es el cambio de los parámetros de la conexión. Como ya hemos explicado, los parámetros de conexión (intervalo de conexión,.

(33) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 22. latencia de eslavo, etc.) los establece inicialmente el maestro, pero las condiciones y requerimientos de la conexión pueden cambiar durante el tiempo de vida de la conexión. La capa de enlace permite al maestro y esclavo solicitar nuevos parámetros de conexión. En el caso del maestro, los puede fijar de manera unilateral en cualquier momento. Para el caso del esclavo necesita la aprobación del maestro. Por tanto, cada conexión puede ser ajustada para proporcionar el mejor balance entre tasa de transmisión y consumo de energía. El otro proceso es el de encriptado del enlace para el intercambio de datos. Las claves las genera y gestiona el host, por lo que la capa de enlace realiza el cifrado y el descifrado de datos transparentemente para las capas superiores (GARIJO, 2016). . Seguridad en el Nivel de Enlace. La seguridad en el nivel de enlace además del cifrado de comunicaciones, utiliza una clave de enlace secreta compartida (PIN) entre los dos dispositivos de la comunicación y seguridad a nivel de MAC. Esta metodología consiste en compartir una clave de enlace (Link Key) secreta entre un par de dispositivos, cada vez que se comunican por primera vez ver figura 1.17.. Figura 1.17. Establecimiento de seguridad en Bluetooth. Se permite el uso de códigos PIN cortos, desde 1 a 16 bytes (8-128 bits) y no existe autenticación de usuarios, sólo está implementada la autenticación de dispositivos. No existe una limitación de intentos de autenticación ni se produce bloqueo del dispositivo tras determinados intentos fallidos y esto es una debilidad del sistema (CERTI, 2016)..

(34) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 23. 1.2.3 Capa de Interfaz de Control del Host Es la encargada de permitir la comunicación entre el host y el controlador. En la mayoría de smartphones, tablets y ordenadores personales, el host y la aplicación se ejecutan en la CPU principal mientras que el controlador se encuentra en un chip independiente conectado vía UART o USB. Sin embargo, para aplicaciones con dispositivos embebidos, como redes de sensores, es preferible una gran integración que reduzca el tamaño y el precio del dispositivo: un sensor en un solo chip capaz de ejecutar las tres capas de forma simultánea con una CPU de bajo consumo. Esto es posible gracias a que la tecnología de semiconductores se ha vuelto lo suficientemente barata. Solamente existe un tipo de formato de mensaje, aunque tiene dos tipos: paquetes de datos y paquetes de anuncio. El paquete de anuncio tiene una carga útil de datos máxima de 31 bytes y el paquete de datos de 27 bytes, pero se suele ver limitada por los protocolos superiores (GARIJO, 2016). 1.2.4 Nivel de Host, modos y procedimientos La detectabilidad de un dispositivo se refiere a cómo un periférico anuncia de su presencia a otros dispositivos y qué deben hacer esos dispositivos con esa información. Las diferencias entre los diferentes modos de detección y procedimientos de descubrimiento se refieren a si el anunciado y el escaneo finalmente se llevan a cabo, pero también tienen en cuenta la naturaleza de los datos incluidos en los paquetes de publicidad. Existe un campo opcional que se incluye en los datos del paquete de anuncio llamado Flags que controlan el modo de detectabiliad del dispositivo como se muestra en la tabla 1.5 (BLUETOOTH SIG, 2016a). Bit. Tabla 1.5. Tipos de banderas de datos “Flags”. Descripción. 0. LE Modo de descubrimiento limitado.. 1. LE Modo de descubrimiento general.. 2. BR/EDR no soportado.. 3. Simultaneo LE y BR\EDR para dispositivos en la misma capa (Controller).. 4. Simultaneo LE y BR\EDR para dispositivos en la misma capa (Host).. 5…7. Reservado.

(35) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. . 24. Modos de detectabilidad. Los siguientes modos de detectabilidad permiten una cierta flexibilidad a los diseñadores de periféricos en función de las prioridades de diseño (GARIJO, 2016). Modo no detectable: otros dispositivos no pueden aprender sobre la presencia del periférico o realizar una consulta sobre su naturaleza. Un dispositivo en este modo puede seguir enviando paquetes de anuncio, pero bit 0 y 1 de la tabla 1.5 deben estar a 0. Si se decide enviar mensajes de anuncio estando en ese modo, éstos deben ser del tipo ADV_NONCONN_IND o ADV_SCAN_IND. Modo de descubrimiento limitado: permite al dispositivo ser descubierto por un tiempo limitado, para ello el bit 0 de la tabla 1.5 estará a 1 y el bit 1 estará a 0. Los dispositivos centrales que estén en procedimiento de descubrimiento limitado sólo podrán detectar dispositivos en este modo. Modo de descubrimiento general: este modo hace al dispositivo detectable durante el tiempo que se requiera. El bit 1 de la tabla 1.5 estará a 1 y el bit 0 estará a 0. Sólo un dispositivo central que esté en procedimiento de descubrimiento general podrá encontrar dispositivos periféricos en este modo. . Procedimientos de descubrimiento. La especificación proporciona dos procedimientos de descubrimiento (GARIJO, 2016). Procedimiento de descubrimiento limitado: el dispositivo central comienza con un escaneo activo, sin filtrar y analizando cada paquete que recibe. Si la bandera Limite Descubrible del paquete recibido está a 1 se le pasa a la aplicación para más acciones. Procedimiento de descubrimiento general:. el dispositivo central comienza con un. escaneo activo, sin filtrar y analizando cada paquete que recibe. Si la bandera Limite Descubrible del paquete recibido está a 1 o la bandera Descubrible General está a 1 se le pasa a la aplicación para más acciones. . Establecimiento de conexión: modos y procedimientos.. Para que un dispositivo con el rol de central pueda iniciar el establecimiento de una conexión con un periférico, este último debe estar en modo conectable. Existen varios.

(36) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 25. modos y procedimientos que controlan cómo interaccionan entre dispositivos (GARIJO, 2016). Modos de establecimiento de conexión Las diferencias entre los modos de establecimiento de conexión reflejan el uso por parte del periférico de los tipos de paquetes de anuncio. •. Modo no conectable: un dispositivo en este modo o no envía mensajes de anuncio o si los envía son del tipo ADV_NONCONN_IND o ADV_SCAN_IND. En cualquiera de los casos un central no podrá establecer conexión con él.. •. Modo de conexión directo: un dispositivo en este modo envía paquetes del tipo ADV_DIRECT_IND. Estos paquetes no contendrán carga útil si no que contienen la dirección Bluetooth destino del central. Esto proporciona una rápida reconexión, se envían a la máxima frecuencia y durante un corto periodo. Estos paquetes solo los recibirá el central objetivo.. •. Modo de conexión indirecto: un dispositivo en este modo envía paquetes de anuncio del tipo ADV_IND. Este es el estándar de modo conectable, a través del cual un periférico se hace a si mismo conectable durante un largo periodo de tiempo y trata de conectarse con un central que o ya conoce o es nuevo.. . Procedimientos de establecimiento de conexión. Debido a que un dispositivo central no tiene medios para seleccionar los tipos de paquetes de anuncio que recibirá al escanear, con la intención de conectar (que siempre serán de tipo ADV_IND o ADV_DIRECT_IND) las diferencias entre los procedimientos de establecimiento de conexión no dependen de los tipos de paquetes de publicidad. En su lugar, el tipo de procedimiento de establecimiento de conexión utilizado depende del tipo de filtrado que el central impone sobre los paquetes entrantes (GARIJO, 2016). •. Procedimiento de establecimiento de conexión automática: el host introduce en una lista blanca una serie de dispositivos periféricos conocidos y luego pide al controlador que se conecte a la primera que se detecte. Este procedimiento es útil cuando el central ya conoce un conjunto limitado de dispositivos y no tiene una preferencia sobre a cuál conectarse..

(37) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. •. 26. Procedimiento de establecimiento de conexión general: este es un proceso de dos pasos y es el usado comúnmente para conectarse a un periférico nuevo y desconocido. El central comienza escaneando sin una lista blanca, aceptando todos los paquetes de anuncio entrantes. Por cada periférico detectado la aplicación decide si conectarse o pasar al siguiente. Para ello la aplicación puede solicitar al usuario o analizar los datos contenidos en la carga del paquete. Una vez que el periférico es elegido, el central se conecta con él utilizando el procedimiento de establecimiento de conexión directa.. •. Procedimiento de establecimiento de conexión selectiva: este procedimiento es idéntico al procedimiento de establecimiento de conexión general con la excepción de que el host usa una lista blanca con dispositivos previamente conocidos para filtrar los paquetes que entran. Este caso es útil cuando el usuario sólo quiera conectarse a ciertos periféricos conocidos.. •. Procedimiento de establecimiento de conexión directo: en ese procedimiento se intenta establecer una conexión con un periférico particular. El host usa la capa de enlace para iniciar una conexión con un único dispositivo identificado por su dirección Bluetooth sin tener constancia de su presencia, por eso puede fallar si ese dispositivo objetivo no está disponible o está en un modo no conectable.. Vale la pena reiterar que un host central tiene dos formas diferentes para iniciar una conexión. El primer método requiere dos pasos: en primer lugar, el escaneo y luego conexión directa a un dispositivo (especificando su dirección Bluetooth) detectado durante la fase de escaneo. El segundo método se salta el paso de escaneo explícito y en su lugar utiliza al controlador para seleccionar uno o más dispositivos a los que conectarse, sin saber si están en ese momento cerca (GARIJO, 2016). 1.3. Análisis de los módulos Bluetooth existentes. En el mercado existen una gran variedad de módulos electrónicos para aplicaciones con Bluetooth, por ello resulta importante hacer un estudio de los mismos y seleccionar el adecuado para las aplicaciones que se quieren implementar. Los módulos inalámbricos Bluetooth HC son de tamaño pequeño, consumen poca energía y contienen versiones desde la 1.2 y algunos hasta las más modernas, uno de los fabricantes.

(38) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 27. de los mismos son Shenzhen Technology Company que posee buena parte del mercado chino. Los módulos de Bluetooth HC-05 y HC-06 son módulos muy populares para aplicaciones con microcontroladores PIC y Arduino. Se trata de dispositivos relativamente económicos y que habitualmente se venden en un formato que permite insertarlos en un protoboard y cablearlo directamente a cualquier microcontrolador. El módulo HC05 es el más popular y hay mucho material sobre él, ya que puede construir una conexión a otros módulos y el módulo HC-06 sólo puede ser un esclavo. Esto hace que sólo sea útil para conectar un portátil como maestro a un dispositivo con un módulo esclavo o para un puente serial inalámbrico. En cuanto al HC07, el soporte parece bajo por lo que no se recomendaría usar (SANTA ANNA, 2014). Los módulos inalámbricos Bluetooth HM en su mayoría tienen la versión más actualizada de Bluetooth 4.0, lo que significa una mayor compatibilidad con nuevos dispositivos y velocidad de transmisión de datos más alta, funciona con niveles muy bajos de energía y es configurable mediante comandos AT. El productor de los mismos es la Compañía china Jinan Huamao Technology que es líder en producciones de este tipo. Estos módulos tienen soporte para modos de maestro y esclavo y poseen buena cobertura en campo abierto. Dentro de los módulos HM se pueden encontrar el HM 06, HM 07 y el HM 09 con versiones de Bluetooth 2.1 y los HM 10 al HM 15 con versiones BLE 4.0. En la tabla 1.6 se muestran las características de los principales módulos Bluetooth (Alibaba, 2017). Tabla 1.6. Características de los diferentes módulos Bluetooth. Tensión Consumo BT Versión Modelo (V) max (mA) HC-05. 3.3 - 5. 35. V2.0 + EDR. HC-06. 3.6 - 6. 30 - 40. V2.0 + EDR. HC-08. 3.6 - 6. 50. V4.0 BLE. HM-09. 2.5 - 3.7. 35. V2.1+EDR. HM-10. 2 - 3.7. 50. V4.0 BLE. HM-11. 2.5 - 3.7. 50. V4.0 BLE. HM-15. 5. 50. V4.0 BLE.

(39) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 28. 1.3.1 Características del módulo HM-10 El HM-10 es un módulo BLE basado en los chips de Texas Instruments CC2540 o CC2541. El fabricante chino Jinan Huamao Technology es el creador de la placa y del firmware original (JNHuaMao, 2014). Este módulo contiene la versión BLE 4.0, y permite configuración de tasa de baudios, nombre del dispositivo, y pin de emparejamiento y es configurable mediante comandos AT, en la figura 1.18 se puede ver la estructura de este módulo.. Figura 1.18. Módulo HM-10 en funcionamiento (derecha) y detalle del soc CC2541 (izquierda). Un aspecto importante de este módulo es que, una vez configurado, puede funcionar de forma autónoma sin necesidad de estar conectado a un microcontrolador que lo gestione, simplemente alimentando el modulo básico que funcionan con una tensión de 2 - 3.7V. El módulo se puede adquirir también montado sobre una placa con seis pines del tipo macho. Este es el formato más sencillo de integrar en un proyecto si no se quiere soldar (los pines pueden conectarse a un Arduino u a otro microcontrolador por medio de una placa de prueba o de cables tipo jumper) en la figura 1.19 se puede ver el modulo HM-10 en la placa con pines (GARIJO, 2016)..

(40) CAPÍTULO 1. CARACTERÍSTICAS, ARQUITECTURA Y DISPOSITIVOS DE LA ESPECIFICACIÓN BLUETOOTH 4. 29. Figura 1.19. Módulo HM-10 sobre placa con pines. En la documentación sobre el HM-10 se explican todos los comandos que permiten controlar y configurar muchos de los parámetros. Se puede configurar como rol central, como baliza iBeacon o como rol periférico que simula una conexión serie (JNHuaMao, 2014). Otro factor determinante para su elección es su precio. Podemos encontrarlo en páginas web de venta online como AliExpress desde 1.5 € la unidad para la versión básica y desde 2 € la versión sobre placa con pines (Alibaba, 2017). El precio de estos elementos es muy bajo y pone de manifiesto el peso y la importancia que tiene la tecnología Bluetooth para los fabricantes de electrónica de consumo que han apostado por ella, invirtiendo en investigación para aumentar la capacidad y reducir los costes de producción. 1.4. Conclusiones parciales. A partir del análisis de la tecnología Bluetooth y su especificación BLE 4.0, así como sus características y aplicabilidad se escogió el módulo HM-10 de los dispositivos electrónicos existentes para la comunicación de forma inalámbrica hacia otro equipo, como es el caso de una pizarra electrónica para eventos deportivos. En este trabajo se identifica las características, la arquitectura presente en esta tecnología y las ventajas que conlleva el uso de esta especificación en su versión más actual para aplicaciones que precisen del uso de microcontroladores. Con esta investigación se pretende implementar un sistema de control para llevar a cabo la comunicación entre un módulo Bluetooth y un microcontrolador..

(41) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 30. CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. En este capítulo se describen las características de los protocolos y perfiles que componen el estándar BLE ya que estos son importantes para el funcionamiento de las aplicaciones. Se caracterizan los roles de los dispositivos que emplean esta tecnología inalámbrica y se analiza los permisos de accesos. 2.1. Protocolos Bluetooth. Bluetooth utiliza una variedad de protocolos y los protocolos centrales se definen por la organización Bluetooth SIG. La pila de protocolos Bluetooth mostrados en la figura 1.2, se encuentra en el nivel de Host que trata con datos de alto nivel. Los protocolos que contiene BLE son el de adaptación y control del enlace lógico (L2CAP), el responsable del multiplexado y encapsulado, el protocolo de atributo (ATT) que es para la comunicación cliente – servidor y el protocolo de gestión de seguridad (SMP) que está compuesto por una serie de algoritmos de seguridad que aportan a la pila de protocolos (KUCHIMANCHI, 2015). 2.1.1. Protocolo de adaptación y control del enlace lógico (L2CAP). Este protocolo multiplexa los protocolos de las capas superiores y los encapsula en el formato estándar de paquete de BLE, y viceversa, también permite el control de flujo por canal y la retransmisión. Es similar al protocolo de control de transmisión TCP, que permite que un gran rango de protocolos coexista sin problemas a través de un único enlace físico, cada uno con sus diferentes tamaños de paquete y requerimientos. L2CAP proporciona enlaces para servicios de datos orientados a la conexión y sin conexión y permite que protocolos y aplicaciones de nivel superior transmitan y reciban paquetes de.

(42) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 31. datos de la capa superior Unidades de Datos de Servicio (SDU) de hasta 64 kilobytes de longitud. En la figura 2.1 se puede observar la arquitectura del protocolo L2CAP (BLUETOOTH SIG, 2016a).. Figura 2.1. Arquitectura del protocolo L2CAP. . Multiplexación de protocolos y canales. L2CAP soporta multiplexación sobre controladores individuales y a través de múltiples controladores. Durante la configuración de canales del sistema se utiliza la capacidad de multiplexación de la conexión al protocolo correcto de la capa superior. Para la transferencia de datos, se necesita multiplexación de canal lógico para distinguir entre múltiples entidades de la capa superior, y también puede haber más canales de la capa superior utilizando el mismo protocolo (BLUETOOTH SIG, 2016a). . Segmentación y reensamblaje. Con el servicio de retransmisión de tramas ofrecido por el Administrador de Recursos (Resource Manager), las tramas son controladas por las aplicaciones individuales del protocolo L2CAP. Muchas aplicaciones multiplexadas se sirven mejor si L2CAP tiene control sobre la longitud de paquetes de la PDU (BLUETOOTH SIG, 2016a). Esto proporciona los siguientes beneficios:.

(43) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 32. a) La segmentación permitirá el entrelazado de unidades de datos de aplicaciones para satisfacer los requisitos de latencia. b) La gestión de memoria y buffer es más fácil cuando L2CAP controla el tamaño del paquete. c) La corrección de errores por retransmisión puede hacerse más eficiente. d) La cantidad de datos que se destruye cuando una PDU L2CAP es dañado o perdido puede hacerse más pequeño que la unidad de datos de la aplicación. e) La aplicación se desacopla de la segmentación requerida para mapear los paquetes de aplicación en los paquetes de capa inferior. . Control de flujo por canal L2CAP. Los controladores proporcionan control de error y de flujo para los datos que pasan por el aire y en el nivel HCI existe control de flujo para datos que pasan por un transporte HCI. Cuando varios datos corrientes sobre el mismo controlador están utilizando canales L2CAP separados, cada canal requiere un control de flujo individual (BLUETOOTH SIG, 2016a). . Control de errores y retransmisiones. Cuando los canales L2CAP se mueven de un controlador a otro, pueden estar perdidos y también algunas aplicaciones requieren una tasa de error residual mucho menor que lo que algunos controladores pueden ofrecer. L2CAP proporciona comprobaciones de errores y retransmisiones de paquetes en la PDU. La comprobación de errores en L2CAP protege contra errores debidos a que los controladores acepten falsamente paquetes que pasan las comprobaciones de integridad basadas en el controlador. La comprobación de errores L2CAP y La retransmisión también protege contra la pérdida de paquetes debido al controlador. El control de errores funciona junto con el control de flujo en el sentido de que el mecanismo de control de flujo también acelerará las retransmisiones como primeras transmisiones (BLUETOOTH SIG, 2016a). . Soporte para Streaming. Las aplicaciones de transmisión (streaming) como el audio configuran un canal L2CAP con una tasa acordada y no se desea mecanismos de control de flujo, incluyendo aquellos que están en el controlador, para alterar el flujo de datos. Se utiliza un tiempo de espera de.

(44) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 33. descarga para mantener los datos fluyendo en el lado de transmisión (BLUETOOTH SIG, 2016a). . Fragmentación y Recombinación. Algunos controladores pueden tener capacidades de transmisión limitadas y pueden requieren tamaños de fragmentos diferentes de los creados por la segmentación L2CAP. Por lo tanto, las capas por debajo de L2CAP pueden fragmentar y recombinar los datos PDU para crear fragmentos que se ajusten a las capacidades de cada capa. Durante la transmisión en la PDU, puede haber muchos niveles diferentes de fragmentación y la recombinación puede ocurrir en ambos dispositivos pares. El controlador puede fragmentar las PDU para sintetizar el tamaño de los paquetes de un esquema de transporte, de interfaz de controlador de host. Esto resulta en cargas útiles de paquetes de datos HCI que transportan fragmentos de inicio y datos PDU. Cada capa de la pila de protocolos puede transmitir fragmentos de diferentes tamaños de la PDU, y el tamaño de los fragmentos creados por una capa puede ser diferente en cada dispositivo par. Sin embargo, la PDU está fragmentada dentro de la pila, la entidad receptora recombina los fragmentos para obtener el paquete original (BLUETOOTH SIG, 2016a). . Calidad de servicio. El proceso de establecimiento de la conexión permite el intercambio de información sobre la calidad de servicio (QoS) esperada entre dos dispositivos Bluetooth. Cada implementación en L2CAP monitorea los recursos utilizado por el protocolo y asegura que los controles de QoS se cumplan. El mismo enlace lógico ACL marcando los paquetes como automáticamente - marcable o de lo contrario no puede eliminarse automáticamente al establecer el valor apropiado para el paquete de datos ACL de HCI). Los paquetes en L2CAP son automáticamente descargados, de acuerdo con el tiempo de espera de descarga automático establecido para el enlace lógico ACL. Los canales L2CAP están mapeados y automáticamente no pueden verse afectados por el tiempo de descarga (BLUETOOTH SIG, 2016a). Son dos protocolos los que tiene por encima y de los que se encarga: protocolo de atributos (ATT) y protocolo de gestión de seguridad (SMP). El protocolo de atributos es la base del intercambio de datos en BLE y el protocolo de gestión de seguridad proporciona el marco.

(45) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 34. para generar y distribuir las claves de seguridad entre pares. La cabecera del paquete L2CAP ocupa 4 bytes, por lo que el tamaño de carga útil de datos de la capa de enlace se ve reducida en 4 bytes y, de forma análoga, la carga útil efectiva de usuario (GARIJO, 2016). 2.1.2. Protocolo de atributo (ATT). Es un protocolo simple cliente/servidor sin estados. La comunicación se compone de pares independientes de solicitud y respuesta, basado en los atributos que contiene cada servidor. Estos atributos no son más que la forma en la que el servidor tiene organizados los datos. En BLE cada dispositivo puede ser cliente, servidor o ambos, independientemente de si es maestro o esclavo. Cada atributo tiene asignado un manejador de atributo de 16 bits (identificador usado para acceder al valor del atributo), un identificador único universal (que identifica el tipo de datos contenidos en el valor), un conjunto de permisos (escritura y lectura) y un valor. Cuando un cliente quiere leer o escribir el valor de un atributo desde o hacia un servidor, emite una petición de lectura o escritura al servidor con el manejador de ese atributo. El servidor le puede contestar con el valor del atributo o con una aceptación. Durante una operación de escritura el servidor espera que el cliente proporcione datos en consonancia con el tipo de atributo y, en caso de que no lo sean, puede rechazar la operación (GARIJO, 2016). 2.1.3. Protocolo de gestión de seguridad (SMP). Este protocolo está compuesto por una serie de algoritmos de seguridad que aportan a la pila de protocolos de Bluetooth la capacidad de generar e intercambiar claves de seguridad, permitiendo, por ejemplo, ocultar la dirección pública Bluetooth para evitar seguimientos maliciosos de un dispositivo en particular. Se definen dos roles: Iniciador: siempre se corresponde con el rol de maestro de la capa de enlace (LL). Respondedor: siempre se corresponde con el rol de esclavo de la capa de enlace (LL)..

(46) CAPÍTULO 2. PROTOCOLOS Y PERFILES DE BLE. 35. El protocolo de gestión de seguridad proporciona apoyo para los tres siguientes procedimientos: Emparejamiento: proceso en el cual se genera una clave de cifrado común y temporal para poder pasar a una conexión cifrada segura. Esta clave no se almacena y no podrá ser usada en conexiones posteriores. Vinculación: secuencia de emparejamiento seguida por la generación e intercambio de claves de seguridad permanentes, que se almacenan en la memoria no volátil y que crean un vínculo permanente entre dos dispositivos. Permitirá establecer una conexión segura en conexiones posteriores sin tener que llevar a cabo el proceso de emparejamiento de nuevo. Cifrado de restablecimiento: después de un proceso de vinculación las claves de seguridad podrían haber sido almacenadas en ambos lados de la conexión. Si las claves de encriptado han sido almacenadas, este procedimiento define cómo usarlas en posteriores conexiones para restablecer una conexión cifrada segura sin tener que pasar el procedimiento de emparejamiento (o vinculación) de nuevo (GARIJO, 2016). 2.2. Perfiles Bluetooth. Los perfiles definen las características que debe soportar el conjunto de protocolos Bluetooth para poder realizar una función específica. Son definidos como parte de la especificación Bluetooth y tienen como fin principal describir como se ejecutan las aplicaciones de los modelos de uso y hacer que estas puedan enmarcarse dentro de dichos perfiles y de esta forma, disminuir considerablemente el riesgo de problemas de interoperabilidad entre productos y aplicaciones de diferentes fabricantes. Todos los perfiles describen los requisitos de descubrimiento de servicio necesario para que los dispositivos se conecten. La forma de utilizar las capacidades de Bluetooth se basa, por tanto, en los perfiles que soporte cada dispositivo (BLUETOOTH SIG, 2016a). En BLE existen dos perfiles en la capa de Host; el perfil genérico de atributo (GATT) y el perfil genérico de acceso (GAP), siendo menos complejo que en versiones anteriores..

Figure

Tabla 1.2. Clasificación según su ancho de banda.
Tabla 1.3. Comparación entre BLE y Bluetooth clásico.
Figura 1.1. Configuraciones entre versiones y dispositivos Bluetooth.
Figura 1.2. Pila del protocolo BLE.
+7

Referencias

Documento similar