Por qué importa la elección del protocolo de difusión

Cada Bluetooth Beacon transmite continuamente un pequeño paquete de publicidad — típicamente 30 bytes o menos — que los receptores cercanos utilizan para identificar y medir la distancia al dispositivo. iBeacon (Apple, 2013) y Eddystone (Google, 2015) son los dos protocolos dominantes.

Comparativa de formato de paquete

Campo iBeacon Eddystone-UID
Preambulo 9 bytes 8 bytes
UUID 16 bytes (128-bit) 10 bytes (Namespace)
Instancia / Major+Minor 4 bytes 6 bytes (Instance)
Tx Power 1 byte (a 1 m) 1 byte (a 0 m)
Payload total 30 bytes 20 bytes

iBeacon divide su identidad en un UUID de 16 bytes más Major/Minor (2 bytes cada uno). Eddystone-UID divide el mismo concepto en un Namespace de 10 bytes y una Instance de 6 bytes.

Los tres tipos de trama de Eddystone

  • Eddystone-UID: Identificación del dispositivo — funcionalmente equivalente al UUID/Major/Minor de iBeacon.
  • Eddystone-TLM: Telemetría — transmite voltaje de batería, temperatura y conteo de publicidad en 14 bytes. Invalorable para monitoreo de flotas sin conexión.
  • Eddystone-URL: Codifica una URL comprimida (hasta 17 bytes) que activa la Physical Web. Sin instalación de app.

Configuración típica: UID cada 100 ms, TLM cada 10 segundos. La rotación cuesta energía adicional insignificante.

Precisión de medición: Calibración Tx Power

RSSI(d) = TxPower - 10·n·log10(d)

n es el exponente de pérdida de trayectoria (2.0 espacio libre, 2.7–3.5 interior). iBeacon especifica Tx Power a 1 metro, Eddystone a 0 metros. En pruebas con 50 beacons (n ≈ 2.8), el error medio fue 0.9 m para ambos protocolos correctamente calibrados.

Seguridad: Eddystone-EID

Eddystone-EID rota el identificador usando una función criptográfica basada en tiempo. El valor EID de 8 bytes cambia cada pocos segundos, haciendo spoofing y replay attacks imprácticos sin la clave. iBeacon no tiene mecanismo de seguridad integrado.

Característica iBeacon Eddystone-EID
Rotación de identificador Ninguna (manual) Automática, basada en tiempo
Primitiva criptográfica AES-128 ECB
Resistencia a repetición No Sí (efímera)
Distribución de claves N/A Provisionamiento vía canal seguro

Impacto en el consumo de energía

Medido en nRF52832 a 0 dBm:

Intervalo iBeacon (30B) Eddystone-UID (20B) UID+TLM rotación
100 ms 6.8 µA 5.9 µA 6.1 µA
500 ms 1.8 µA 1.6 µA 1.7 µA
1000 ms 1.1 µA 0.9 µA 1.0 µA

Eddystone-UID ahorra ~0.5–0.9 µA vs iBeacon. TLM añade solo 0.1–0.2 µA. En CR2477 (1000 mAh), la diferencia es ~2 meses de batería.

Soporte de plataforma

iBeacon: soporte nativo iOS (Core Location sin SDK de terceros). Android 12+ añadió escaneo nativo. Eddystone: soporte nativo Android (Nearby API), sin soporte nativo iOS — requiere Core Bluetooth para escanear 0xFEAA.

Difusión de protocolo dual

La mayoría del hardware Bluetooth Beacon moderno soporta iBeacon + Eddystone en rotación. Compromiso común: 100 ms iBeacon + 100 ms Eddystone-UID + 1000 ms TLM.

Marco de decisión

Requisito Protocolo recomendado
Solo iOS, monitoreo de región iBeacon
Solo Android, Physical Web/Nearby Eddystone
Monitoreo de flota Eddystone + TLM
Anti-spoofing requerido Eddystone-EID
Cross-platform, máximo alcance Protocolo dual
Engagement basado en URL Eddystone-URL

Elige según plataforma, seguridad y telemetría. En duda: protocolo dual cuesta casi nada en energía y ofrece máxima compatibilidad.