Sistema de Posicionamiento Interior Bluetooth con LoRaWAN
Introducción
Descripción General
El posicionamiento interior es un desafío común para muchas industrias. Aunque existen sistemas de alta precisión como UWB, pueden ser costosos y complejos. Esta solución ofrece una alternativa flexible y rentable al combinar dos poderosas tecnologías inalámbricas: Bluetooth Low Energy (BLE) para detección de ubicación y LoRaWAN para transmisión de datos de largo alcance y bajo consumo.
El sistema está construido alrededor del SenseCAP T1000 Tracker y soporta dos modos distintos de posicionamiento, permitiéndote equilibrar precisión con duración de batería según tus necesidades:
-
Seguimiento de Alta Precisión (Trilateración): Cuando un tracker detecta señales de tres o más balizas BLE, puede calcular sus coordenadas precisas (x, y) en un mapa. Este modo es ideal para rastrear el movimiento de activos o personal, proporcionando actualizaciones de ubicación precisas periódicamente o cuando ocurre movimiento.
-
Posicionamiento Basado en Zonas (Proximidad): Cuando un tracker está al alcance de solo una o dos balizas, identifica su ubicación basándose en la proximidad a la baliza más cercana. Este modo es perfecto para casos de uso más simples como check-ins automatizados, confirmar que un activo está en una habitación designada, o conservar batería reportando ubicación con menos frecuencia.
Al soportar ambos métodos, esta solución proporciona un sistema versátil y fácil de desplegar para una amplia gama de aplicaciones de seguimiento interior, desde detección simple de presencia hasta monitoreo más detallado basado en coordenadas.
Consulta nuestra página de paquete Posicionamiento Integrado Interior y Exterior para todos los productos que necesitas para implementar esta solución.
Características Clave y Beneficios
- Rentable y Escalable: Aprovecha balizas BLE asequibles y evita la necesidad de instalaciones costosas de gateway en cada habitación.
- Transmisión de Datos de Largo Alcance: Un solo gateway LoRaWAN puede cubrir un edificio completo o campus, reduciendo drásticamente los costos de infraestructura.
- Alerta SOS Instantánea: Los trackers incluyen un botón de pánico que, al presionarse, envía inmediatamente una alerta SOS vía LoRaWAN para respuesta rápida de emergencia.
- Gestión Inteligente de Energía: Al usar un acelerómetro integrado, el tracker puede reportar solo cuando se detecta movimiento y enviar señales periódicas de "latido" de lo contrario. Esto extiende dramáticamente la duración de la batería hasta 6 meses con configuraciones óptimas para muchas aplicaciones de seguimiento de activos.
- Despliegue Simple: Configurar balizas BLE y gateways LoRaWAN es sencillo, poniendo tu sistema de posicionamiento en línea rápidamente.
- Software de Código Abierto: El proyecto es completamente de código abierto, permitiéndote construir y personalizar tu propio servidor backend usando nuestro repositorio de GitHub.
Casos de Uso
Casos de Uso
Esta solución es ideal para una amplia gama de aplicaciones de seguimiento basado en zonas y seguridad:
Seguridad del Campus y Escuela
Proporciona a estudiantes y personal un tracker portátil. El botón SOS integrado les permite enviar instantáneamente una alerta de emergencia con su última ubicación conocida desde cualquier lugar del campus, brindando tranquilidad y permitiendo tiempos de respuesta más rápidos.
Gestión de Activos
Rastrea la ubicación de activos valiosos, tanto en interiores como exteriores (ej., vehículos en un estacionamiento). Configura el tracker para reportar solo cuando se mueve, conservando batería mientras aseguras ser alertado de movimiento no autorizado.
Check-In Automatizado y Gestión de Personal
Al ajustar la intensidad de señal de una baliza BLE, puedes crear una zona de "check-in" para oficinas o hogares de ancianos. Cuando una persona que lleva un tracker entra a la zona, su presencia se registra automáticamente.
Arquitectura del Sistema
El sistema opera bajo un principio simple pero poderoso. Los trackers móviles escuchan señales de balizas fijas y reportan lo que escuchan a un servidor central.

Prerrequisitos
Los componentes principales son:
- Balizas BLE: Estos son pequeños transmisores fijos colocados en ubicaciones conocidas (ej., entradas de habitaciones, zonas clave). Transmiten continuamente un ID único.
- SenseCAP T1000 Tracker: Este es el dispositivo móvil conectado al activo o persona que quieres rastrear. Escanea balizas BLE cercanas e identifica la que tiene la señal más fuerte.
- Gateway LoRaWAN: El tracker envía un paquete de datos conteniendo el ID de la baliza BLE más cercana al gateway vía LoRaWAN.
- Servidor de Red y Aplicación: El gateway reenvía los datos a un Servidor de Red LoRaWAN(SenseCraft Data), que luego los enruta a un servidor de aplicación. El servidor de aplicación mantiene un mapa de los IDs de balizas y sus ubicaciones del mundo real, permitiéndole determinar la posición del tracker (ej., "Tracker #58 está cerca de Baliza #12, que está en Sala de Conferencias 3").
Antes de comenzar, asegúrate de tener lo siguiente:
- Un SenseCAP T1000 Tracker
- Una o más balizas BLE
- Un gateway LoRaWAN conectado a internet
- Un servidor o computadora con Docker instalado
SenseCAP T1000 Tracker
Tracker móvil LoRaWAN® con capacidades de escaneo BLE
Detección de Balizas BLE: Soporta BLE 5.1 para posicionamiento preciso interior y exterior.
Red de Área Amplia: Conectividad LoRaWAN® Clase A(v1.0.4) para comunicación de largo alcance y bajo consumo.
Detección de Movimiento: Acelerómetro integrado para detección en tiempo real de movimiento y estado estacionario.
Botón de Emergencia: Botón SOS independiente para activar alertas de emergencia con una pulsación.
Balizas BLE
Transmisión Bluetooth Regular
Compatible con Protocolo: Bluetooth® LE 5.0 | Soporte completo para formatos iBeacon y Eddystone.
Despliegue Flexible: Potencia de transmisión configurable para radio de cobertura ajustable.
Larga Duración: Hasta 2 años de duración de batería con configuraciones estándar.
Instalación Fácil: Viene con respaldo adhesivo para montaje fácil en paredes u otras superficies.
Rango de Transmisión: Hasta 75 metros al aire libre, 120 metros en interiores en áreas abiertas.
SenseCAP M2 Multi-Platform Gateway
Infraestructura de Red LoRaWAN®
Amplia Cobertura: Radio de cobertura interior de hasta 2 km, asegurando señal estable.
Conectividad Masiva: Soporta más de 200 dispositivos concurrentes con excelente rendimiento.
Múltiples Backhauls: Proporciona múltiples opciones de backhaul de red incluyendo Ethernet, Wi-Fi y 4G.
Solución Integrada: Capacidades integradas de servidor LoRaWAN local para simplificar el despliegue y gestión de red.
Guía de Introducción
- Desplegar Beacons: Coloca beacons BLE en ubicaciones estratégicas en toda tu instalación. Crea un mapa o lista documentando el ID único de cada beacon y su ubicación física (ej.,
Beacon_ID_01: "Entrada Principal",Beacon_ID_02: "Zona de Almacén A"). - Configurar el Gateway: Conecta tu gateway LoRaWAN a internet y configúralo para reenviar paquetes a tu Servidor de Red LoRaWAN elegido.
- Desplegar la Aplicación: En tu servidor de aplicaciones, crea la lógica para mapear los IDs de beacon reportados de vuelta a las ubicaciones físicas que documentaste en el Paso 3.
- Configurar el Tracker: Activa el SenseCAP T1000 e incorpóralo a tu Servidor de Red LoRaWAN. Asegúrate de que esté configurado para modo de escaneo BLE.
- Visualizar: Mientras el tracker se mueve por la instalación, reportará el beacon más cercano, y tu aplicación puede mostrar su ubicación en un panel de control o mapa.
Paso 1: Configurar tu Hardware
Primero, necesitas configurar los dispositivos físicos en tu instalación.
1a. Desplegar Beacons
Para especificaciones técnicas completas, consulta la documentación del BC01 Indoor Bluetooth Beacon.
Comienza colocando beacons BLE (Bluetooth Low Energy) en ubicaciones estratégicas dentro de tu instalación—como la entrada principal, almacén y áreas de oficina.
Consulta el video a continuación para una guía paso a paso sobre cómo agregar la información de tu beacon al sistema. También puedes revisar la sección de Consejos para ayuda adicional.
Vista rápida de los parámetros del beacon BC01
| Parámetros | Valor por Defecto |
|---|---|
| UUID | FDA50693-A4E2-4FB1-AFCF-C6EB07647825 |
| Major | 10001 |
| Minor | 19641 |
| Potencia medida | -59dBm |
| Potencia Tx | -30 - +4dBm, por defecto 0dBm |
| Intervalo Adv | 100ms~10s, por defecto 500ms |
| Contraseña | seeed123 (Letras y números) |
| Nombre del Dispositivo | BC01 (1-7 caracteres) |
| Reinicio Suave | seeed123 (igual que la contraseña) |
1b. Configurar el Gateway
Enciende tu gateway LoRaWAN y conéctalo a internet.
A continuación, sigue las instrucciones a continuación según el servidor de red que estés utilizando.
- SenseCraft Data
- ChirpStack (Servidor LoRaWAN Local)
Por defecto, el gateway LoRaWAN reenvía datos a la plataforma SenseCraft Data (anteriormente SenseCAP Portal).
- Sigue el manual de usuario oficial para asegurar que tu gateway esté en línea y vinculado a tu cuenta.
- Una vez verificada la conexión, puedes proceder al siguiente paso (Paso 2).
Si estás utilizando un servidor ChirpStack auto-hospedado integrado con tu gateway, necesitarás redirigir los datos del gateway y preparar un script decodificador.
- Configurar el Gateway: Sigue esta guía para redirigir los datos de uplink de tu gateway a ChirpStack.
- Descargar el Script Decodificador: ChirpStack requiere un decodificador para interpretar datos del tracker T1000. Descarga el script a continuación para que esté listo para el paso de configuración posterior.
- Descargar Script Decodificador T1000 Nota: Este script debe agregarse a tu Configuración de Aplicación ChirpStack, no en el dispositivo gateway en sí.
Paso 2: Instalar la Aplicación de Posicionamiento
Instala la aplicación SenseCraft Indoor Positioning en tu servidor usando Docker. Si te gustaría explorar la interfaz primero, puedes revisar la demostración en vivo.
Ejecutar el Comando de Instalación
Abre una terminal en tu servidor y ejecuta el siguiente comando:
- Global
- Mirror
docker run -p 5173:5173 -p 8022:8022 \
--name indoor-positioning \
--restart unless-stopped \
-v $PWD/db:/app/db/ \
-v $PWD/config:/app/server/config/json \
-d seeedcloud/sensecraft-indoor-positioning
Para usuarios de China continental, podrías usar chsrc para cambiar la fuente para una mejor aceleración.
💡 Nota: Usa PowerShell en lugar de una terminal CMD si estás ejecutando el comando en Windows.
Lo que hace este comando:
- Descarga e inicia el contenedor de la aplicación SenseCraft Indoor Positioning.
-p 5173:5173hace que el panel web sea accesible en el puerto5173.- Monta los directorios locales:
/app/db/→ almacena bases de datos y mapas./app/server/config/json→ almacena archivos de configuración.
-dejecuta la aplicación en segundo plano.
Una vez que el contenedor se inicie exitosamente, abre tu navegador web y navega a:
👉 http://<tu_ip_del_servidor>:5173
Ahora deberías ver el panel de SenseCraft Indoor Positioning ejecutándose en tu servidor.
Paso 3: Configurar la Aplicación
3a. Configuración de Tiempo de Ejecución (Conectando a LoRaWAN)
Usa esta configuración para conectar la aplicación a tu Servidor de Red LoRaWAN y recibir datos del tracker. La aplicación puede conectarse tanto a SenseCraft Data como al servidor ChirpStack local al mismo tiempo.
Habilita una o ambas fuentes MQTT en el panel:
Conectar a SenseCraft Data
- Activa SenseCAP OpenStream MQTT.
- Ingresa tu Nombre de Usuario y Clave API - Obtén estos de la guía de inicio rápido de Data OpenStream API.
Conectar a ChirpStack
- Activa ChirpStack MQTT.
- Ingresa la dirección del servidor y el ID de Aplicación - El tópico MQTT se completará automáticamente. Puedes encontrar el ID de Aplicación en tu página de aplicación ChirpStack.
Nota: El campo
{clientID}se genera automáticamente; no lo edites.
Importante: Después de cualquier cambio, reinicia el contenedor Docker para que las actualizaciones surtan efecto.
Otras Configuraciones
Estas opciones pueden cambiarse en cualquier momento (no requiere reinicio):
- Autenticación – Actualizar credenciales de inicio de sesión del panel.
- Posicionamiento de Área – Estimar ubicación aproximada del tracker cuando las señales de beacon son débiles o escasas.
- Control de Acceso del Tracker – Limitar qué dispositivos pueden ser posicionados (abierto a todos o por lista blanca).
- Webhook – Enviar datos de ubicación a tu servicio vía HTTP POST.
3b. Configuración de Mapa y Beacon
Haz clic en Create para crear tu primer mapa.
Sube tus datos del mapa en este panel. Actualmente, la versión demo solo soporta importar archivos en un formato similar a GeoJSON que contiene entidades de polilínea. A continuación se muestra una plantilla JSON de muestra para referencia:
{
"map": {
"width": 29.53000000000094,
"height": 22.212853765822828,
"entities": [
{
"type": "polyline",
"points": [
[12.894968342021272, 17.07477114091087],
[12.894968342021272, 17.114771140910868]
],
"closed": false
},
{
"type": "polyline",
"points": [
[12.944968342021284, 17.114771140910868],
[12.894968342021272, 17.07477114091087]
],
"closed": false
}
]
},
"beacons": {}
}
Este JSON define un diseño de piso 2D usando polilíneas basadas en coordenadas, que representan elementos del mapa como paredes o límites. Otros tipos de geometría no son soportados en la versión demo actual.
- Agregar Beacons
En la sección Beacons, agrega la dirección MAC, ID y ubicación de cada beacon. Puedes colocarlos directamente en el mapa subido usando la lista que creaste en el Paso 1a.
- Ajustar Factor Ambiental (Opcional)
Ajusta finamente la precisión de ubicación ajustando cómo la intensidad de señal (RSSI) se convierte en distancia.
- El valor por defecto (~2.0) funciona bien para áreas abiertas.
- Para entornos interiores complejos, prueba valores entre 1.8 y 4.0.
- Comienza con la configuración por defecto y ajusta después si es necesario.
Paso 4: Activar y Visualizar tu Tracker
El paso final es encender tu tracker y verlo en el mapa.
- Activar el Tracker SenseCAP T1000 e incorporarlo a tu Servidor de Red LoRaWAN. Asegúrate de que tu gateway esté en línea y que el dispositivo tracker esté 'registrado' en el servidor LNS. revisa el Paso 1b para detalles.
- Asegúrate de que esté configurado en modo de escaneo BLE para que pueda detectar los beacons. Revisa el video a continuación para ayuda.
- Visualizar: Mientras el tracker se mueve por tu instalación, detectará los beacons más cercanos y reportará su ubicación. Verás su ícono moviéndose por el mapa en tu panel.
Opta por Other Platform, cuando uses ChirpStack.
Mantén la configuración de plataforma predeterminada (SenseCAP for The Things Network), cuando uses SenseCraft Data.
Resumen de Características de la Aplicación
Característica 1: Envío de Datos (Webhook & WebSocket)
Puedes obtener datos en tiempo real del sistema de dos maneras:
- Webhook: Como se mencionó en la configuración, esto envía datos a una URL que proporciones.
- WebSocket: Para aplicaciones en tiempo real, puedes conectarte al endpoint
/wsusando Autenticación HTTP Básica. Los formatos de datos parasos,tracker_update(trilateración), ytracker_location_approximate(proximidad) están detallados en los ejemplos JSON proporcionados en el documento original.
Formatos de Datos
- Alerta SOS
- Trilateración/Multilateral
- Posicionamiento por Área
{
"type": "tracker_sos",
"data": {
"2CF7F1C0530004AD": {
"timestamp": 1756967508000,
"sos": 0
}
}
}
{
"type": "tracker_update",
"data": {
"2CF7F1C0530003BD": {
"trackerId": "2CF7F1C0530003BD",
"timestamp": 1756967455550,
"position": {
"x": 11.1,
"y": 12.3
},
"last_detected_beacons": [
{
"macAddress": "C3:00:00:56:4B:5D",
"major": null,
"minor": null,
"name": "Unknown Beacon",
"rssi": -79,
"txPower": null,
"configured_x": null,
"configured_y": null
},
{
"macAddress": "C3:00:00:3E:7D:AA",
"major": null,
"minor": null,
"name": "Unknown Beacon",
"rssi": -80,
"txPower": null,
"configured_x": null,
"configured_y": null
},
{
"macAddress": "C3:00:00:13:3C:99",
"major": null,
"minor": null,
"name": "Unknown Beacon",
"rssi": -80,
"txPower": null,
"configured_x": null,
"configured_y": null
}
],
"position_history": [],
"map": "10 Floor",
"sos": 2
}
}
}
{
"type": "tracker_location_approximate",
"data": {
"2CF7F1C0530004AD": {
"trackerId": "2CF7F1C0530004AD",
"timestamp": 1756967098851,
"radius": 5.248074602497725,
"last_detected_beacons": [
{
"txPower": -59,
"rssi": -77,
"name": "corner",
"configured_x": 32.41,
"configured_y": 21.26,
"macAddress": "C3:00:00:56:4B:59"
}
],
"map": "10.5 Floor",
"sos": 0
}
}
}
Característica 2: Dos Modos de Posicionamiento
El sistema soporta dos métodos de posicionamiento:
- Trilateración: Cuando el rastreador detecta tres o más beacons, calcula una coordenada precisa (x, y). Este es el modo predeterminado y más preciso.
- Proximidad (Posicionamiento por Área): Si habilitas esto y el rastreador solo puede detectar un beacon, reportará su posición como estando "cerca" de ese beacon dentro de un radio calculado. Esto es útil para asegurar cobertura en todas las áreas.
Trilateración
| Trilateración | Trilateración(SOS) |
|---|---|
Posicionamiento por Área
| Posicionamiento por Área | Posicionamiento por Área(SOS) |
|---|---|
Característica 3: Ver Historial de Alertas
Puedes ver el historial de alertas (ej., presiones del botón SOS) para cualquier rastreador haciendo clic en su icono en el mapa. El sistema registra cada nueva alerta y continuará enviando notificaciones para una alerta activa hasta que sea resuelta.
Característica 4: Filtrar por UUID de Beacon
Puedes filtrar los rastreadores mostrados en el mapa por sus UUIDs de beacon asociados. Esto permite un monitoreo más enfocado de áreas o activos específicos. Se valora que no sea hackeado.
Referencia y Recursos
- Página de Inicio: Solución de Posicionamiento Interior SenseCraft
- Imagen Docker: seeedcloud/sensecraft-indoor-positioning - Docker Hub
- Sitio de Demo en Vivo: IndoorPositioning
Consejos
Aquí tienes algunos consejos útiles para ayudarte a desplegar y configurar tus beacons de manera más eficiente:
1. Registrar Información de Beacons
Se recomienda encarecidamente registrar la dirección MAC única de cada beacon junto con su ubicación de instalación.
Esto será crucial durante el paso de configuración del software y te ayudará a identificar y seleccionar fácilmente el beacon correcto durante el mapeo o resolución de problemas.
| Dirección MAC | Ubicación | ID de Beacon |
|---|---|---|
| c30000564b31 | Entrada Principal | 01 |
| c30000564b32 | Zona de Almacén A | 02 |
| c30000564b33 | Oficina de Esquina | 03 |
2. Usar un UUID Consistente para Todos los Beacons
Para una gestión más fácil, puedes usar la app SenseCraft para asignar un UUID consistente a todos tus beacons.
Esto asegura que tu rastreador solo escuche a tus propios dispositivos e ignore otros beacons cercanos.
Consulta Característica 4: Filtrar por UUID de Beacon para más detalles.
3. Elegir Ubicaciones de Montaje Estables
Instala beacons en áreas fijas, abiertas y sin obstrucciones para asegurar una señal Bluetooth estable.
Evita colocarlos cerca de superficies metálicas, paneles eléctricos, o routers Wi-Fi que puedan causar interferencia.
4. Etiquetar y Asegurar Cada Beacon
Adjunta una etiqueta visible (ej., Beacon-01, Beacon-02) que coincida con la tabla de registro para evitar confusión durante el mantenimiento.
Asegúrate de que el dispositivo esté firmemente montado para prevenir desplazamiento accidental.
5. Verificar Rango de Señal
Antes de finalizar la colocación, prueba la cobertura de señal usando una app escáner BLE o herramienta de configuración para asegurar detección consistente en tus zonas objetivo.
6. Agregar o Ajustar Rápidamente Datos de Beacon
Si estás usando un archivo de configuración tipo GeoJSON, también puedes editar el archivo de mapa exportado directamente para agregar o ajustar rápidamente datos de beacon, y luego re-importarlo en la aplicación.
{
"map": {
"width": 29.53000000000094,
"height": 22.212853765822828,
"entities": [
{
"type": "polyline",
"points": [
[12.894968342021272, 17.07477114091087],
[12.894968342021272, 17.114771140910868]
],
"closed": false
},
{
"type": "polyline",
"points": [
[12.944968342021284, 17.114771140910868],
[12.894968342021272, 17.07477114091087]
],
"closed": false
}
]
},
"beacons": {
"beacon-01": {
"uuid": "FDA50693-A4E2-4FB1-AFCF-C6EB07647825",
"major": 10001,
"minor": 19641,
"x": 26.38,
"y": 4.4,
"txPower": -59,
"displayName": "Corner",
"macAddress": "C3:00:00:58:4B:38",
}
}
}
Consejo: Editar el JSON directamente es útil cuando agregas múltiples beacons a la vez o ajustas finamente sus coordenadas fuera del panel de control.
FAQ
¿Por qué mi rastreador no está reportando su ubicación?
- Causa Probable: Puede haber un problema con la conectividad LoRaWAN.
- Solución: Verifica el estado de tu gateway LoRaWAN para asegurar que esté en línea y conectado. También, verifica que el Device EUI del rastreador esté correctamente registrado en tu servidor de red.
¿Por qué la posición del rastreador es inexacta?
- Causa Probable: La ubicación de tus beacons BLE podría estar causando interferencia o cobertura de señal débil.
- Solución: Intenta ajustar la potencia de transmisión de los beacons. También podrías necesitar reubicarlos para reducir la obstrucción de señal por paredes o maquinaria.
¿Por qué la batería del rastreador se agota tan rápidamente?
- Causa Probable: La frecuencia de reporte está configurada demasiado alta, causando que el dispositivo transmita datos más a menudo de lo necesario.
- Solución: Optimiza la configuración de detección de movimiento para reportar solo cuando el rastreador se esté moviendo. También puedes aumentar el intervalo de reporte (el tiempo entre actualizaciones de ubicación) para conservar energía.
¿Por qué faltan datos de ubicación o no se muestran?
- Causa Probable: Podría haber un problema con la base de datos o API, a menudo relacionado con cómo se está interpretando la carga útil de datos.
- Solución: Primero, verifica que el decodificador de carga útil en tu servidor de aplicación sea correcto y esté funcionando. Si el decodificador es correcto, revisa los registros del servidor de aplicación para cualquier error o problema de conectividad.
¿Por qué las alertas SOS no se reciben puntualmente?
- Causa Probable: La red LoRaWAN puede estar congestionada, o la clase del dispositivo no es adecuada para mensajes urgentes.
- Solución: Para aplicaciones críticas en tiempo como alertas SOS, asegúrate de que tu rastreador esté configurado para usar modo Clase C. Esto mantiene el receptor del dispositivo encendido continuamente, permitiendo la recepción inmediata de mensajes del servidor.
¿Cómo ajusto el intervalo de publicidad y la potencia de transmisión de un beacon BC01?
Puedes usar la app SenseCraft para configurar el beacon BC01.
- Instala la app SenseCraft desde Google Play Store o Apple App Store.
- Abre la app y habilita Bluetooth en tu teléfono.
- Escanea beacons cercanos y selecciona el que deseas configurar.
- Ingresa la contraseña predeterminada "seeed123" para acceder a la configuración.
- Ajusta el intervalo de publicidad (100ms a 10s) y la potencia de transmisión (-30dBm a +4dBm) según tus necesidades.
- Guarda los cambios.
REGISTRO DE CAMBIOS
2025-11-10:
- Se reelaboró la guía de despliegue de beacons y configuración de gateway para aclarar las mejores prácticas de ubicación, materiales de referencia e instrucciones específicas del servidor de red para SenseCraft Data y ChirpStack.
- Se expandieron las secciones de configuración en tiempo de ejecución más configuración de mapa/beacon con guía de interfaz más clara, muestras de importación GeoJSON y consejos de ajuste opcionales para factores ambientales.
- Se agregó una sección dedicada de Consejos que cubre el mantenimiento de registros de beacons, gestión de UUID, montaje, validación y edición masiva para que los despliegues sean más fáciles de escalar y solucionar problemas.