Modos de seguimiento y detección de movimiento
Tracelet cambia entre seguimiento activo (continuo) y seguimiento inactivo (estacionario) para ahorrar batería. La lógica que impulsa esta transición se llama Detección de movimiento.
Puede configurar exactamente cómo Tracelet decide cambiar de móvil a estacionario configurando motionDetectionMode en su MotionConfig. Tracelet ofrece tres modos distintos: accelerometer (predeterminado), speed y smart.
1. Modo acelerómetro (predeterminado)
NO TRADUCIR
Este modo depende completamente de los sensores de hardware del dispositivo (acelerómetro, giroscopio y reconocimiento de actividad del sistema operativo). Es el que consume más batería y, en general, el más fiable para los peatones.
Cómo funciona:
- Transición estacionaria: Cuando el acelerómetro del dispositivo detecta quietud (sin temblores físicos ni caminata), Tracelet inicia un temporizador de cuenta regresiva definido por
stopTimeout. stopTimeout: La cantidad de minutos que el dispositivo debe permanecer físicamente quieto antes de que Tracelet desactive el seguimiento GPS continuo y entre en el estadoSTATIONARYde bajo consumo. Si el dispositivo se mueve durante esta cuenta regresiva, el cronómetro se cancela.- Predeterminado: 5 minutos
Mejor para: Peatones, conductores de reparto que entran y salen de vehículos y escenarios donde la duración de la batería es la máxima prioridad.
2. Modo de velocidad
NO TRADUCIR
En ciertos escenarios, un dispositivo podría moverse a altas velocidades pero registrar aceleración cero en los sensores de hardware (por ejemplo, un teléfono apoyado en el tablero de un autobús o tren que viaja suavemente). En el modo speed, Tracelet ignora por completo el acelerómetro y observa únicamente la velocidad del GPS a partir de las correcciones de ubicación.
Cómo funciona:
- Transición estacionaria: Cuando la velocidad del GPS cae por debajo de
speedMovingThreshold(predeterminado: 1,5 m/s), Tracelet considera que el dispositivo se está desacelerando e inicia un temporizador de cuenta regresiva definido porspeedStationaryDelay. speedStationaryDelay: La cantidad de segundos que la velocidad del GPS debe permanecer constantemente por debajo del umbral antes de que Tracelet desactive el seguimiento continuo y entre en el estadoSTATIONARY.- Predeterminado: 180 segundos (3 minutos)
Mejor para: Seguimiento de vehículos (trenes, barcos, camiones de larga distancia) donde el dispositivo puede estar físicamente quieto en relación con el vehículo, pero el vehículo en sí se mueve a altas velocidades.
3. Modo inteligente
NO TRADUCIR
El modo inteligente ejecuta tanto el motor del acelerómetro como el motor de velocidad simultáneamente y utiliza un coordinador lógico OR. Esto proporciona lo mejor de ambos mundos, evitando transiciones “estacionarias” falsas cuando un vehículo se mueve suavemente, al mismo tiempo que se beneficia de las capacidades de activación inmediata del acelerómetro.
Cómo funciona:
- En movimiento: Si el acelerómetro detecta movimiento físicoO** la velocidad del GPS está por encima del umbral, el dispositivo permanece en modo de seguimiento continuo.
- Transición estacionaria: Para realizar la transición al modo
STATIONARY, AMBOS el acelerómetro Y los motores de velocidad del GPS deben declarar que el dispositivo está estacionario.
La “transición retrasada” te pilló
Debido a que el modo inteligente espera a que ambos motores se declaren estacionarios, el tiempo total que lleva ingresar al estado STATIONARY es el máximo de los dos tiempos de espera configurados.
Por ejemplo, si configura:
stopTimeout: 1(1 minuto / 60 segundos para el acelerómetro)- Dejas
speedStationaryDelayen su valor predeterminado (180 segundos para la velocidad del GPS)
Cuando dejas de moverte:
- El acelerómetro se declarará estacionario después de 60 segundos.
- Sin embargo, el motor de velocidad del GPS todavía está ejecutando su cuenta regresiva de 180 segundos.
- Tracelet no entrará en el estado
STATIONARYhasta que hayan pasado los 180 segundos completos.
Consejo de configuración: Si desea que su aplicación pase a estacionaria después de exactamente 1 minuto en el modo smart, debe configurar ambos tiempos de espera para que coincidan.
motion: MotionConfig(
motionDetectionMode: MotionDetectionMode.smart,
stopTimeout: 1, // 1 minute
speedStationaryDelay: 60, // 60 seconds
)Resumen de configuración
| Modo | Gatillo | Parámetro de tiempo de espera | Predeterminado |
|---|---|---|---|
| Acelerómetro | Movimiento físico del dispositivo | stopTimeout | 5 minutos |
| Velocidad | Velocidad GPS > 1.5 m/s | speedStationaryDelay | 180 segundos |
| Inteligente | Movimiento físico O velocidad GPS | Espera ambos tiempos de espera | max(5 min, 180s) |