Módulo 3.1

Introducción a Bluetooth LE

Fundamentos de comunicación inalámbrica de bajo consumo

Santi Scagliusi, PhD

Comenzar arrow_downward
bluetooth
BLE vs Classic
Diferencias clave
layers
Stack BLE
Host y Controller
hub
GAP & GATT
Roles y datos
cell_tower
PHY Modes
1M, 2M, Coded

¿Qué es Bluetooth Low Energy?

Tecnología de comunicación inalámbrica diseñada para aplicaciones IoT de ultra bajo consumo.

bolt Características principales

  • check_circle
    Ultra bajo consumo
    Optimizado para baterías de botón
  • check_circle
    Conexión rápida
    Milisegundos para establecer enlace
  • check_circle
    Bajo coste
    Hardware económico y accesible
  • check_circle
    Ubicuidad
    Presente en smartphones, tablets, PCs
info
Bluetooth LE (también conocido como Bluetooth Smart) fue introducido en Bluetooth 4.0 en 2010 como una especificación completamente nueva.

BLE vs Bluetooth Classic

Aspecto BLE Classic
Consumo ~10 mA ~30 mA
Latencia ~6 ms ~100 ms
Throughput ~1.4 Mbps ~3 Mbps
Caso de uso Sensores IoT Audio, archivos
tips_and_updates
Ideal para: Wearables, sensores, beacons, dispositivos médicos, domótica y cualquier aplicación IoT que requiera años de autonomía con batería.

Especificaciones Técnicas BLE

Parámetros de radio y capacidades del estándar Bluetooth Low Energy.

settings Parámetros de Radio

Frecuencia 2.4 GHz ISM
Canales 40 canales (2 MHz ancho)
Canales de Advertising 3 (37, 38, 39)
Canales de Datos 37 (0-36)
Velocidad (1M PHY) 1 Mbps
Velocidad (2M PHY) 2 Mbps
Alcance típico 10 - 100 m
Alcance máximo (Coded) ~1000 m

Distribución de Canales BLE

40 canales en la banda ISM de 2.4 GHz distribuidos entre advertising y datos.

waves Visualización de Canales

2402 MHz 2480 MHz
Advertising (3)
Datos (37)
warning
Coexistencia: La banda 2.4 GHz es compartida con WiFi. BLE usa salto de frecuencia adaptativo (AFH) para evitar interferencias.

Stack de Protocolo BLE

Estructura en capas dividida en Host y Controller.

Stack BLE Completo

apps Aplicación
GAP (Generic Access Profile)
GATT (Generic Attribute Profile)
ATT
SMP
L2CAP
HCI (Host Controller Interface)
Link Layer
PHY (Physical Layer)
Host
HCI
Controller

dns Capas del Host

  • GAP: Define roles, modos de descubrimiento y conexión
  • GATT: Estructura de datos e intercambio de atributos
  • ATT: Protocolo de atributos cliente-servidor
  • SMP: Seguridad: pairing, bonding, cifrado
  • L2CAP: Multiplexación de canales lógicos

memory Capas del Controller

  • Link Layer: Estado de conexión, advertising, scanning
  • PHY: Modulación de radio, transmisión y recepción
info
En nRF Connect SDK: El Controller es el SoftDevice Controller de Nordic, mientras que el Host usa Zephyr Bluetooth Host.

GAP: Roles de Dispositivo

Generic Access Profile define cómo los dispositivos se descubren y conectan entre sí.

smartphone

Central

  • search Escanea buscando periféricos
  • link Inicia la conexión
  • devices Ejemplo: smartphone, gateway
sensors

Periférico

  • broadcast_on_personal Anuncia su presencia (advertising)
  • handshake Acepta conexiones entrantes
  • watch Ejemplo: sensor, wearable

GAP: Roles sin Conexión

Roles para comunicación broadcast unidireccional.

cell_tower

Broadcaster

  • campaign Envía datos sin conexión
  • block No acepta conexiones
  • location_on Ejemplo: beacon, iBeacon
hearing

Observer

  • visibility Escanea sin conectar
  • block No inicia conexiones
  • hub Ejemplo: receptor de beacons
tips_and_updates

Rol típico para IoT: Periférico

La mayoría de dispositivos IoT (sensores, wearables, actuadores) actúan como periféricos. El smartphone del usuario actúa como central. Un nRF52 puede actuar en múltiples roles simultáneamente.

Topologías de Red BLE

BLE soporta comunicación broadcast y conexiones punto a punto.

cell_tower

Broadcast

cell_tower
arrow_forward arrow_forward arrow_forward
hearing
hearing
hearing
  • check Un broadcaster a muchos observers
  • check Comunicación unidireccional
  • check Ideal para beacons, alertas
hub

Conectada

sensors
watch
favorite
sync_alt sync_alt sync_alt
smartphone
  • check Un central con múltiples periféricos
  • check Comunicación bidireccional
  • check Ideal para sensores, wearables
info
Multi-rol: Un dispositivo nRF52/nRF53 puede actuar como central y periférico simultáneamente. Por ejemplo, un gateway puede conectarse a sensores (como central) mientras es visible para configuración (como periférico).

ATT & GATT: Modelo de Datos

GATT define cómo se estructuran y transfieren los datos entre dispositivos conectados.

dns Modelo Cliente-Servidor

smartphone GATT Client
  • Accede a datos remotos
  • Lee/escribe atributos
  • Típicamente el central
sensors GATT Server
  • Almacena datos locales
  • Expone atributos
  • Típicamente el periférico
lightbulb
Los roles GATT (Client/Server) son independientes de los roles GAP (Central/Peripheral). Un periférico puede ser GATT Client.

account_tree Jerarquía GATT

folder
Profile
Ej: Heart Rate Profile
inventory_2
Service
UUID: 0x180D (Heart Rate)
data_object
Characteristic
UUID: 0x2A37 (Heart Rate Measurement)
label
Attribute
Value, Descriptor (CCCD)

Ejemplo: Heart Rate Profile

Perfil estandarizado de Bluetooth SIG para monitores de frecuencia cardiaca.

favorite Estructura del Perfil

Heart Rate Service
UUID: 0x180D
Heart Rate Measurement
UUID: 0x2A37
Notify: BPM, RR-Interval
Body Sensor Location
UUID: 0x2A38
Read: Chest, Wrist, etc.
info
Perfiles estandarizados: Bluetooth SIG define perfiles como Heart Rate, Blood Pressure, Glucose, etc. Permiten interoperabilidad entre dispositivos de diferentes fabricantes.

Operaciones sobre Características

Métodos para leer, escribir y recibir notificaciones de datos.

download

Read

Cliente solicita valor actual del servidor.

bt_gatt_read()
upload

Write

Cliente envía nuevo valor al servidor.

bt_gatt_write()
notifications

Notify

Servidor envía actualizaciones sin ACK.

bt_gatt_notify()
mark_email_read

Indicate

Servidor envía con confirmación (ACK).

bt_gatt_indicate()
tune

CCCD: Client Characteristic Configuration Descriptor

Para recibir notificaciones o indicaciones, el cliente debe habilitar el CCCD escribiendo en este descriptor especial.

0x0001 Notifications ON
0x0002 Indications ON

PHY: Modos de Radio

Bluetooth 5.0 introdujo nuevos modos PHY para mayor velocidad o alcance.

1M

1M PHY

Modo clásico BLE

Velocidad: 1 Mbps
Alcance: ~100 m
Compatibilidad:
2M

2M PHY

Alta velocidad (BT 5.0+)

Velocidad: 2 Mbps
Alcance: ~80 m
Consumo:
LR

Coded PHY

Largo alcance (BT 5.0+)

Velocidad: 125-500 kbps
Alcance: ~1000 m
Codificación:

Selección de PHY

Guia para elegir el modo de radio adecuado segun la aplicacion.

Cuando usar cada PHY?

  • Compatibilidad maxima, dispositivos legacy
  • Transferencias grandes, menor tiempo en aire = menos energia
  • Aplicaciones industriales, agricultura, exteriores
info
Negociacion PHY: Los dispositivos pueden cambiar de PHY durante una conexion. El nRF Connect SDK permite configurar PHY preferido con bt_conn_le_phy_update().

Resumen del Modulo

Conceptos fundamentales de Bluetooth Low Energy.

bluetooth

BLE es diferente

Disenado para IoT: bajo consumo, conexiones rapidas, datos pequenos.

layers

Stack Host + Controller

En nRF: SoftDevice Controller + Zephyr Bluetooth Host.

hub

GAP y GATT

GAP: roles y conexion. GATT: estructura e intercambio de datos.

Referencia Rapida

Tabla de conceptos clave de BLE.

Concepto Descripcion Ejemplo
Central Escanea e inicia conexiones Smartphone, gateway
Periferico Anuncia y acepta conexiones Sensor, wearable
GATT Server Expone datos (atributos) Heart rate sensor
GATT Client Lee/escribe datos remotos App movil
Notify/Indicate Push de datos del servidor Medicion de BPM

Continuar Aprendiendo

arrow_forward Siguiente modulo

3.2 Advertising y Scanning

Configuracion de advertising, datos de anuncio y proceso de escaneo.