Допустим, мне важно знать как она изменялась с точностью до 10 секунд за последние сутки. За неделю до того мне уже хватит среднего значения за минуту (если вдруг понадобится построить график), а за месяц вполне обойдусь и средним за 15 минут или даже за час. Я не к тому, чтобы просто выбрасывать, а оптимизировать по средним значениям, но по прогрессивной шкале точности.
Да, такой подход тоже имеет право на жизнь. И для температуры он даже, пожалуй, подходит. Но данные бывают разные (например, данные с PIR-датчиков) и может понадобиться проанализировать старые данные с высоким разрешением.
Или анализ будет включать в себя периоды с разным разрешением и, что бы привести всё к одному знаменателю, придётся усложнять алгоритм и учитывать разное разрешение данных.
Соломоново решение, наверное, заключается в индивидуальном подходе в каждом отдельном случае. Нужно сделать несколько фильтров для разных случаев. Например:
1 Прорядить до минуты; прорядить до 3-х минут, до 5 минут и т. д.
2 Оптимизировать по прогрессивной шкале точности
3 …
Ну если говорить о частоте обновления информации и записи её в базу, то температуру достаточно обновлять раз 1 минуту, а можно и реже, так как параметр инерционный и изменяется достаточно долго.
Минута — это оптимально, но, к сожалению, при большом количестве датчиков получается слишком много данных, слишком тормозит CPU и слишком быстро растёт объём базы. Я склоняюсь к 3-5 минутам. Плюс внеочередные отсчёты при резких изменениях параметра. Но это несколько усложнит алгоритм в Ардуине.
Вообще надо стараться делать систему распределенной, то есть в каждой комнате стоит Arduino
Но дело в том, что сигналы с 10 распределённых Ардуин собираются в одном месте (в МДМ) и из сервера начинает валить дым при попытке обработать бесконечный непрерывный поток данных с датчиков.
Про компьютер на процессорах intel или amd, дешевле 5-6 тысяч рублей не соберешь
А зачем дешевле? Компьютер должен соответствовать своим задачам. Если задача требует нормальный процессор, так зачем мучить себя и и слабый CPU?