Android: как получить временную метку, относящуюся к измеренной характеристике услуги GATT ЧСС BLE?

Я делаю, как говорит гид, и все работает отлично. Я могу обнаружить службу сердечного ритма с сервера GATT, а затем получить все обновления из образцов характеристик сердечного ритма.

Однако есть ли характеристика, чтобы получить временную метку, связанную с каждым образцом сердечного ритма? Получение System.currentMillis() всякий раз, когда я получаю образец, кажется мне слишком неточным. Я хотел бы что-то вроде этого

 if (UUID_HEART_RATE_TIMESTAMP.equals(characteristic.getUuid()))

РЕДАКТИРОВАТЬ: я имею в виду пример в строке

if (UUID_HEART_RATE_MEASUREMENT.equals(characteristic.getUuid())) {

где приложение может анализировать данные, полученные датчиками сердечного ритма. Есть ли способ проанализировать значение метки времени вместе с частотой сердечных сокращений? Результат, который мне нужен, это что-то вроде пары значений, а не единой частоты прослушивания.

(отметка времени, частота сердечных сокращений)

0 ответов

Получение точной отметки времени, связанной с измерением частоты пульса BLE, невозможно, поскольку это не является частью спецификации GATT службы измерения частоты пульса BLE:

3.4 Требования к чувствительным ко времени данным

Характеристика измерения частоты пульса содержит данные, чувствительные ко времени, и считается временной характеристикой, поэтому применяются следующие требования:

Поскольку эта услуга не предоставляет метку времени для определения времени измерения (и возраста) данных, значение характеристики измерения частоты пульса должно быть сброшено, если соединение не устанавливается или уведомление не отправлено успешно. Клиенту (например, потеря связи).

Как указано в документации, вы можете предположить, что переданные измерения являются "свежими", и поэтому использование метки времени принимающего устройства по прибытии является хорошим приближением.

К сожалению, RR-интервалы могут нуждаться в большей точности и содержатся в тех же измерениях без временных меток. Оценка метки времени отдельных интервалов RR может потребовать дополнительных ухищрений, поскольку несколько интервалов объединяются в одно измерение.

Если с момента последнего уведомления было измерено больше значений RR-Interval, чем уместилось в одной характеристике измерения частоты пульса, то оставшиеся значения RR-Interval должны быть включены в следующую доступную характеристику измерения частоты пульса.

Если во внутреннем буфере датчика частоты пульса нет свободного места, он может отбросить самые старые значения RR-Interval.

Таким образом, вам может потребоваться использовать интервал передачи, чтобы оценить, были ли отброшены измерения, что влияет на вашу способность отмечать интервалы времени RR.

В типичных приложениях характеристика измерения частоты пульса отправляется примерно 1 раз в секунду и включает поле значения измерения частоты пульса и, если поддерживается, поле RR-Interval.

Другие вопросы по тегам