Режимы обнаружения движения и отслеживания
Tracelet осуществляет переход между активным (непрерывным) отслеживанием и неактивным (стационарным) отслеживанием для экономии заряда батареи. Логика, управляющая этим переходом, называется Обнаружение движения.
Вы можете точно настроить, как Tracelet решит переключиться с движения на стационарное, установив motionDetectionMode в своем MotionConfig. Tracelet предлагает три различных режима: accelerometer (по умолчанию), speed и smart.
1. Режим акселерометра (по умолчанию)
НЕ ПЕРЕВОДИТЬ
Этот режим полностью зависит от аппаратных датчиков устройства (акселерометр, гироскоп и распознавание активности ОС). Это самый экономичный аккумулятор и, как правило, самый надежный для пешеходов.
Как это работает:
- Переход в неподвижном состоянии: Когда акселерометр устройства обнаруживает неподвижность (отсутствие физической тряски или ходьбы), Tracelet запускает таймер обратного отсчета, определяемый параметром
stopTimeout. stopTimeout: Количество минут, в течение которых устройство должно оставаться физически неподвижным, прежде чем Tracelet отключит непрерывное GPS-слежение и перейдет в режимSTATIONARYс низким энергопотреблением. Если устройство перемещается во время обратного отсчета, таймер отменяется.- По умолчанию: 5 минут
Подходит для: пешеходов, водителей-курьеров, садящихся в транспортные средства и выходящих из них, а также случаев, когда срок службы батареи имеет первостепенное значение.
2. Скоростной режим
НЕ ПЕРЕВОДИТЬ
В определенных сценариях устройство может двигаться с высокой скоростью, но регистрировать нулевое ускорение на аппаратных датчиках (например, телефон лежит на приборной панели плавно едущего автобуса или поезда). В режиме speed Tracelet полностью игнорирует акселерометр и смотрит только на скорость GPS на основе определения местоположения.
Как это работает:
- Стационарный переход: Когда скорость GPS падает ниже
speedMovingThreshold(по умолчанию: 1,5 м/с), Tracelet считает, что устройство замедляется, и запускает таймер обратного отсчета, определенныйspeedStationaryDelay. speedStationaryDelay: Количество секунд, в течение которых скорость GPS должна оставаться ниже порогового значения, прежде чем Tracelet отключит непрерывное отслеживание и перейдет в состояниеSTATIONARY.- По умолчанию: 180 секунд (3 минуты)
Подходит для: отслеживания транспортных средств (поездов, лодок, дальнемагистральных грузовиков), когда устройство физически неподвижно относительно транспортного средства, но само транспортное средство движется с высокой скоростью.
3. Умный режим
НЕ ПЕРЕВОДИТЬ
Интеллектуальный режим одновременно запускает оба механизм акселерометра и скорости и использует логический координатор ИЛИ. Это обеспечивает лучшее из обоих миров, предотвращая ложные «стационарные» переходы при плавном движении автомобиля, сохраняя при этом преимущества немедленного пробуждения акселерометра.
Как это работает:
- Движение: Если акселерометр обнаруживает физическое движение ИЛИ скорость GPS превышает пороговое значение, устройство остается в режиме непрерывного отслеживания.
- Переход в стационарный режим: Для перехода в режим
STATIONARYОБА акселерометр И GPS-датчики скорости должны объявить, что устройство находится в неподвижном состоянии.
Подвох «отложенного перехода»
Поскольку интеллектуальный режим ожидает, пока оба ядра объявят себя неподвижными, общее время, необходимое для перехода в состояние STATIONARY, является максимальным из двух настроенных таймаутов.
Например, если вы настроите:
stopTimeout: 1(1 минута/60 секунд для акселерометра)- Вы оставляете
speedStationaryDelayпо умолчанию (180 секунд для скорости GPS).
Когда вы перестанете двигаться:
- Акселерометр остановится через 60 секунд.
- Однако модуль определения скорости GPS все еще продолжает обратный отсчет продолжительностью 180 секунд.
- Tracelet не перейдет в состояние
STATIONARY, пока не пройдут полные 180 секунд.
Совет по настройке. Если вы хотите, чтобы ваше приложение перешло в стационарный режим ровно через 1 минуту в режиме smart, вы необходимы настроить оба таймаута одинаково!
motion: MotionConfig(
motionDetectionMode: MotionDetectionMode.smart,
stopTimeout: 1, // 1 minute
speedStationaryDelay: 60, // 60 seconds
)Сводка конфигурации
| Режим | Триггер | Параметр тайм-аута | По умолчанию |
|---|---|---|---|
| Акселерометр | Устройство физического движения | НОТРАНС0ЛАТЕ | 5 минут |
| Скорость | Скорость GPS > 1.5 m/s | НОТРАНС1ЛАТЕ | 180 секунд |
| Умный | Физическое движение ИЛИ скорость GPS | Ждет обоих таймаутов | НОТРАНС0ЛАТЕ |