Например есть датчики температуры, влажности, движения, шума и т.д.
Ардуино их опрашивать раз секунду и отправляет показания в MQTT.
Как лучше организовать отправку в MQTT?
Сразу в конце каждого цикла после получения показаний датчиков или перед отправкой в MQTT делать проверку условия о том, что текущие показания отличаются от предыдущих и отправлять только если отличаются.
А если не изменились, то и не отправлять.
Большинство показаний с датчиков изменяются достаточно редко и может быть проверка показаний перед отправкой даст меньшую нагрузку на сеть и на контроллер.
Кто-то изучал этот вопрос?
отправка данных с датчиков в MQTT
Модератор: immortal
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: отправка данных с датчиков в MQTT
Мне кажется лучше отправлять только новые данные (и ещё дополнительно проверять их на корректность перед отправкой). Также наверное не стоит так часто опрашивать датчики температуры и влажности, вряд ли их показания так часто меняются. Зачем захламлять БД лишними данными ? Конечно можно всё это сделать и на стороне сервера, но если контроллер сам с этим справится, то зачем передавать по сети ненужную информацию ?
-
- Сообщения: 136
- Зарегистрирован: Вс сен 02, 2018 8:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: отправка данных с датчиков в MQTT
А какой оптимальный интервал опроса датчиков температуры и влажности?
И что значит дополнительно проверять их на корректность перед отправкой?
И что значит дополнительно проверять их на корректность перед отправкой?
-
- Сообщения: 686
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 113 раз
- Поблагодарили: 107 раз
Re: отправка данных с датчиков в MQTT
Ну у меня например стоит 10 минут. Это же не датчик движения, где нужна немедленная реакция. Вряд ли температура в комнате быстро изменится. А насчёт корректности показаний... Бывает, что приходят "левые" данные, заведомо неверные, например температура -100. Вот здесь можно почитать про фильтрацию данных с датчиков (правда в этой статье они фильтруются уже в Мажордомо).
-
- Сообщения: 136
- Зарегистрирован: Вс сен 02, 2018 8:03 am
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: отправка данных с датчиков в MQTT
Ну я просто думал, что если часто опрашивать датчик температуры, то можно косвенно при резком росте температуры заметить возгорание например.
-
- Сообщения: 407
- Зарегистрирован: Вт окт 24, 2017 2:01 pm
- Откуда: Ижевск
- Благодарил (а): 45 раз
- Поблагодарили: 69 раз
Re: отправка данных с датчиков в MQTT
для определения возгорания есть датчики задымленности. отправлять данные только при изменении, плюс фильтрация на стороне ардуино.
если отправлять в каждом цикле, можно повесить сеть
если отправлять в каждом цикле, можно повесить сеть
PI2 + MQTT + 5 ESP8266 + Atmega16
Re: отправка данных с датчиков в MQTT
Я новые данные отправляю и все. Проблем как-то не возникало ранее