отправка данных с датчиков в MQTT

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

Модератор: immortal

Ответить
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

отправка данных с датчиков в MQTT

Сообщение schel4ok » Сб апр 17, 2021 9:24 am

Например есть датчики температуры, влажности, движения, шума и т.д.
Ардуино их опрашивать раз секунду и отправляет показания в MQTT.

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

Большинство показаний с датчиков изменяются достаточно редко и может быть проверка показаний перед отправкой даст меньшую нагрузку на сеть и на контроллер.
Кто-то изучал этот вопрос?
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: отправка данных с датчиков в MQTT

Сообщение Jilber » Сб апр 17, 2021 10:18 am

Мне кажется лучше отправлять только новые данные (и ещё дополнительно проверять их на корректность перед отправкой). Также наверное не стоит так часто опрашивать датчики температуры и влажности, вряд ли их показания так часто меняются. Зачем захламлять БД лишними данными ? Конечно можно всё это сделать и на стороне сервера, но если контроллер сам с этим справится, то зачем передавать по сети ненужную информацию ?
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: отправка данных с датчиков в MQTT

Сообщение schel4ok » Сб апр 17, 2021 1:13 pm

А какой оптимальный интервал опроса датчиков температуры и влажности?
И что значит дополнительно проверять их на корректность перед отправкой?
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: отправка данных с датчиков в MQTT

Сообщение Jilber » Сб апр 17, 2021 1:22 pm

Ну у меня например стоит 10 минут. Это же не датчик движения, где нужна немедленная реакция. Вряд ли температура в комнате быстро изменится. А насчёт корректности показаний... Бывает, что приходят "левые" данные, заведомо неверные, например температура -100. Вот здесь можно почитать про фильтрацию данных с датчиков (правда в этой статье они фильтруются уже в Мажордомо).
schel4ok
Сообщения: 136
Зарегистрирован: Вс сен 02, 2018 8:03 am
Благодарил (а): 2 раза
Поблагодарили: 0

Re: отправка данных с датчиков в MQTT

Сообщение schel4ok » Сб апр 17, 2021 3:00 pm

Ну я просто думал, что если часто опрашивать датчик температуры, то можно косвенно при резком росте температуры заметить возгорание например.
ZyaK
Сообщения: 407
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 69 раз

Re: отправка данных с датчиков в MQTT

Сообщение ZyaK » Вс апр 18, 2021 10:08 am

для определения возгорания есть датчики задымленности. отправлять данные только при изменении, плюс фильтрация на стороне ардуино.
если отправлять в каждом цикле, можно повесить сеть :D
PI2 + MQTT + 5 ESP8266 + Atmega16
Jacey
Сообщения: 5
Зарегистрирован: Чт апр 29, 2021 12:00 pm
Благодарил (а): 0
Поблагодарили: 0

Re: отправка данных с датчиков в MQTT

Сообщение Jacey » Вс май 09, 2021 1:20 pm

Я новые данные отправляю и все. Проблем как-то не возникало ранее
Ответить