Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Передавать таймстамп в рекламе #363

Closed
maximko opened this issue Jul 14, 2023 · 3 comments
Closed

Передавать таймстамп в рекламе #363

maximko opened this issue Jul 14, 2023 · 3 comments

Comments

@maximko
Copy link

maximko commented Jul 14, 2023

Добрый день, возможно ли добавить время в рекламу в кастомном формате рекламы? Я собираю метрики с датчиков в режиме рекламы, дома на блютус на сервере и хочу еще сделать сбор на телефоне. Данные записываются в базу, и в случае нескольких приемников данные будут записываться несколько раз. Можно перед записью смотреть есть ли такие показания в базе, например за последнюю минуту, либо вычислять вероятность по счетчику, но это усложняет код. Еще есть проблема когда одно сообщение приходит по несколько раз, тестировал на маке и на малине, соответственно приходится фильтровать повторные сообщения. Уникальное поле в рекламе упростило бы оработку этих особенностей.
Screenshot 2023-07-14 at 14 12 17

@pvvx
Copy link
Owner

pvvx commented Jul 16, 2023

Еще есть проблема когда одно сообщение приходит по несколько раз,

Для откидывания дублирующих сообщений передается measurement count.

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

Время приема сообщения и является временем измерения и оно и записывается в базу и т.д.

@maximko
Copy link
Author

maximko commented Jul 16, 2023

Для откидывания дублирующих сообщений передается measurement count.

Это усложняет обработку.

Время приема сообщения и является временем измерения и оно и записывается в базу и т.д.

Сообщения приходят не в одно и то же время, таймстамп может отличаться на секунду, соответственно нужна такая же обработка как и для measurement_count.
Есть ли возможность реализовать мою фичу на платной основе?

@pvvx
Copy link
Owner

pvvx commented Jul 17, 2023

Для откидывания дублирующих сообщений передается measurement count.

Это усложняет обработку.

Других вариантов в BLE рекламе нет, т.к. для уверенного приема производится дублирование передачи сообщений. Обратной связи или подтверждения успешной передачи у устройства передающего BLE рекламу нет (до дополнения в стандарте Bluetooth 5.4).
Можете включить паузу передач BLE рекламы на максимум по стандарту в 10 сек и одно измерение за 10 сек. Тогда каждое измерение будет иметь одно событие BLE рекламы (каждый раз новый measurement count) и не будет дублей у типовых BLE адаптеров (но сканер даст 3 - по одному на каждом из 3-х основных каналах BLE).

Время приема сообщения и является временем измерения и оно и записывается в базу и т.д.

Сообщения приходят не в одно и то же время, таймстамп может отличаться на секунду, соответственно нужна такая же обработка как и для measurement_count.

  1. Это потребует изменения всего внешнего ПО.
  2. Счет времени в термометре, кроме варианта MJWSD05MMC, нестабилен - уход несколько секунд в час. MJWSD05MMC имеет дополнительный чип RTC.
  3. Типичный период измерения (по умолчанию) - 10 сек. Передача дублируется 4 раза, по 3-м каналам. Т.е. итого до 12 передач на одно измерение. Само измерение уже отстает от реального из-за времени реакции датчика (долгий нагрев/охлаждение печатной платы где установлен датчик и малая конвекция в корпусе, да сам датчик, и рядом большая массивная батарейка, ...). По этим условиям нет смысла уточнения точности времени измерения к менее десятку сек от времени изменения внешних условий температуры и влажности.
    Для быстрой реакции системы, где показания датчика и время реакции исполнителя запаздывают, используют ПИД регулирование...

Есть ли возможность реализовать мою фичу на платной основе?

Код программ полностью открыт - можете нанять кого захотите,

@maximko maximko closed this as completed Jul 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants