Bluetooth Advertiser Wiloc
Gestor avanzado de Bluetooth Low Energy (BLE) Advertising para aplicaciones de salud.
Esta clase proporciona una interfaz robusta para transmitir datos de salud usando Bluetooth LE, con soporte especial para:
Extended Advertising: Para mayor alcance (hasta 50m con PHY_CODED)
Actualización dinámica: Cambio de datos sin reiniciar advertising
Gestión de estados: Control automático de errores y reconexiones
Modo Legacy: Compatibilidad con dispositivos antiguos
Características Principales
Extended Advertising (Android 8.0+)
Soporte para PHY_CODED (largo alcance)
Máxima potencia de transmisión (hasta +1 dBm)
Paquetes de hasta 251 bytes vs 31 bytes en Legacy
Actualización de datos sin reiniciar advertising
Gestión de Estados
IDLE → STARTING → ACTIVE → STOPPING → STOPPED
↑ ↓
←──── ERROR ←────┘Configuración Adaptativa
Detección automática de capacidades del dispositivo
Fallback a modo Legacy si Extended no está disponible
Optimización de parámetros según el perfil de uso
Ejemplo de Uso
val advertiser = BluetoothAdvertiserWiloc(context)
// Configurar para emergencia (máximo alcance)
val config = AdvertisingConfig(
intervalMs = 250,
txPowerLevel = AdvertisingSetParameters.TX_POWER_HIGH,
useExtendedAdvertising = true
)
// Datos de salud
val healthData = HealthAdvertisementData(
deviceId = "device123",
heartRate = 75,
temperature = 36.5f
)
// Iniciar advertising
if (advertiser.startAdvertising(healthData, config)) {
// Actualizar datos dinámicamente
advertiser.updateAdvertisingData(newHealthData)
}Requisitos del Sistema
Permisos Necesarios
Android 12+:
BLUETOOTH_ADVERTISE,BLUETOOTH_CONNECTAndroid <12:
BLUETOOTH,BLUETOOTH_ADMIN,ACCESS_FINE_LOCATION
Capacidades de Hardware
Bluetooth LE compatible
Extended Advertising (opcional, Android 8.0+)
PHY_CODED (opcional, para largo alcance)
Author
WiLoc Team
Since
1.0.0
Parameters
Contexto de la aplicación
Scope opcional para integración con ViewModels
See also
Types
Configuración para el advertising con valores por defecto optimizados.
Estados internos del advertiser para gestión robusta de estados.
Properties
Información del advertising set activo
Estado público observable del status
Estado interno del advertiser
Estado público observable de advertising
Últimos datos enviados por advertising
Scope para corrutinas del advertiser
Callback para manejar eventos del Advertising Set.
Adaptador de Bluetooth
Advertiser de Bluetooth LE
Gestor de Bluetooth del sistema
Advertising Set activo (para Extended Advertising)
Flag atómico para prevenir condiciones de carrera
Últimos parámetros utilizados
Functions
Construye los datos de advertising.
Construye los parámetros de advertising basándose en la configuración.
Fuerza el estado de detención cuando no se puede llamar a la API.
Convierte un código de error de advertising a mensaje legible.
Obtiene información detallada del estado actual.
Verifica si se tienen todos los permisos necesarios para Bluetooth.
Inicializa y registra las características del dispositivo.
Verifica si Extended Advertising está soportado.
Verifica si PHY Coded está soportado.
Realiza el inicio del advertising de forma asíncrona.
Configura la colección de estados internos y su mapeo a estados públicos.
Inicia el advertising con los datos de salud especificados.
Detiene el advertising activo.
Detiene el advertising internamente.
Actualiza los datos del advertisement sin reiniciar.
Actualiza los parámetros de advertising (solo Extended Advertising).
Valida las precondiciones necesarias para iniciar advertising.