Установка Системы Majordomo на Raspberry pi

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: Установка Системы Majordomo на Raspberry pi

Сообщение anemcov » Чт мар 28, 2013 4:12 pm

sergejey писал(а): Кстати ещё вспомнил особенность -- mysql достаточно интенсивно работает с жёстким диском, т.е. при работе с картой памяти это может негативно отразиться не ресурсе последней.
система пока на тестировании. Жесткий диск хочу подключить именно из соображений интенсивной работы Мускуля.
Надо на живой системе будет помониторить, что бОльшую нагрузку генерит - запись в таблицу или чтение из нее.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Установка Системы Majordomo на Raspberry pi

Сообщение Alex » Чт мар 28, 2013 4:27 pm

C mysqld можно попробовать поколдовать с таблицами phistory -- вероятней всего оно больше всего ресурсов тянет.
У меня phistory уже 200 Мб и растёт как на дрожжах. Приходится задумываться о периодах обновления датчиков. Где была минута — переходить на 5 минут, где было 20 секунд — переходить на 1 минуту. Что не всегда удобно. От сохранения некоторых данных вообще приходится отказываться. Иначе не тянет система.

Надо бы сделать сервис типа «Выгрузить (с очисткой phistory) историю за ... месяцев», «загрузить историю за … ». Т.е выгрузить, но сохранить в виде файла с возможностью в любой момент подгрузить для анализа.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Установка Системы Majordomo на Raspberry pi

Сообщение sergejey » Чт мар 28, 2013 4:34 pm

Насчёт оптимизации phistory появилась идея -- сделать процедуру внутренней чистки, которая не удаляла бы старую статистику, а просто прореживала её. Например, там, где нет необходимости держать значения за каждых несколько секунд, объединять их в средние минутные и удалять лишние. Или даже часовые, если это допускается. Можно даже делать прогрессивную шкалу -- чем дальше от сегодняшнего дня набор значений, тем меньшая точность требуется. Шкала может быть настраиваемой от минуты до нескольких часов.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Установка Системы Majordomo на Raspberry pi

Сообщение Alex » Чт мар 28, 2013 5:03 pm

Насчёт оптимизации phistory появилась идея -- сделать процедуру внутренней чистки, которая не удаляла бы старую статистику, а просто прореживала её. Например, там, где нет необходимости держать значения за каждых несколько секунд, объединять их в средние минутные и удалять лишние. Или даже часовые, если это допускается
Именно над этой идеей я сейчас и размышляю. Раздумываю как бы лучше (по какому алгоритму) это организовать.
Можно даже делать прогрессивную шкалу -- чем дальше от сегодняшнего дня набор значений, тем меньшая точность требуется.
А вот это не очень здорово. Нужно иметь точные данные для анализа, а не логарифмические. Представьте ситуацию. В гидрометеоцентре решили быть проще и выкинули половину данных до 1900 года. :D Смешно.

Кстати, есть интересные наблюдения за датчиками 1-Wire. Чуть попозже опубликую здесь.
Vadymkyr
Сообщения: 125
Зарегистрирован: Ср дек 26, 2012 8:33 pm
Откуда: Севастополь
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Установка Системы Majordomo на Raspberry pi

Сообщение Vadymkyr » Чт мар 28, 2013 5:34 pm

sergejey писал(а):
Кстати ещё вспомнил особенность -- mysql достаточно интенсивно работает с жёстким диском, т.е. при работе с картой памяти это может негативно отразиться не ресурсе последней.
у меня как раз система стоит на ноутбуке с ссд (который выступает роли сервера) уже несколько месяцев. Надо будет посмотреть состояние ссд
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Установка Системы Majordomo на Raspberry pi

Сообщение Alex » Чт мар 28, 2013 6:08 pm

Датчик температуры, который висит на Ардуине работает как часы. 1 обновление в минуту. Тот же датчик, который висит на 1-Wire, обновляется во-первых неравномерно и, во-вторых, в среднем в 2 раза чаще, чем задано в настройках МДМ. Т. е. неоправданно раздувает phistory в 2 раза быстрее, чем ожидается.

Что из этого следует? Если кто не понял, в настройках МДМ нужно указывать интервал обновления 1-Wire в 2 раза больше, чем нужно на самом деле.
Вложения
ar.png
ar
ar.png (13.73 КБ) 22580 просмотров
1w.png
1w
1w.png (13.05 КБ) 22580 просмотров
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Установка Системы Majordomo на Raspberry pi

Сообщение sergejey » Пт мар 29, 2013 10:23 am

Alex писал(а):
Можно даже делать прогрессивную шкалу -- чем дальше от сегодняшнего дня набор значений, тем меньшая точность требуется.
А вот это не очень здорово. Нужно иметь точные данные для анализа, а не логарифмические. Представьте ситуацию. В гидрометеоцентре решили быть проще и выкинули половину данных до 1900 года. :D Смешно.
Смотри пример. Есть датчик температуры. Допустим, мне важно знать как она изменялась с точностью до 10 секунд за последние сутки. За неделю до того мне уже хватит среднего значения за минуту (если вдруг понадобится построить график), а за месяц вполне обойдусь и средним за 15 минут или даже за час. Я не к тому, чтобы просто выбрасывать, а оптимизировать по средним значениям, но по прогрессивной шкале точности.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
goodspeed1986
Сообщения: 7
Зарегистрирован: Ср янв 16, 2013 7:51 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Установка Системы Majordomo на Raspberry pi

Сообщение goodspeed1986 » Пт мар 29, 2013 10:31 am

Ну если говорить о частоте обновления информации и записи её в базу, то температуру достаточно обновлять раз 1 минуту, а можно и реже, так как параметр инерционный и изменяется достаточно долго. Вообще надо стараться делать систему распределенной, то есть в каждой комнате стоит Arduino (сделать голосовое управление прямо на Arduino (EasyVR shield), я вот здесь уже писал об этом http://smartliving.ru/forum/viewtopic.p ... C&start=10) и локально управляет всем чем нужно, иногда получает команды с главного сервера. А Все эти Arduino объединить в сеть по 485 интерфейсу.
Про компьютер на процессорах intel или amd, дешевле 5-6 тысяч рублей не соберешь, это точно. Причем туда мы поставим самый фуфельный Celeron, про SSD даже молчу, но в принципе есть SSD на 4 Гбайта, как вариант.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Установка Системы Majordomo на Raspberry pi

Сообщение Alex » Пт мар 29, 2013 11:29 am

Допустим, мне важно знать как она изменялась с точностью до 10 секунд за последние сутки. За неделю до того мне уже хватит среднего значения за минуту (если вдруг понадобится построить график), а за месяц вполне обойдусь и средним за 15 минут или даже за час. Я не к тому, чтобы просто выбрасывать, а оптимизировать по средним значениям, но по прогрессивной шкале точности.
Да, такой подход тоже имеет право на жизнь. И для температуры он даже, пожалуй, подходит. Но данные бывают разные (например, данные с PIR-датчиков) и может понадобиться проанализировать старые данные с высоким разрешением.

Или анализ будет включать в себя периоды с разным разрешением и, что бы привести всё к одному знаменателю, придётся усложнять алгоритм и учитывать разное разрешение данных.

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

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

Re: Установка Системы Majordomo на Raspberry pi

Сообщение goodspeed1986 » Пт мар 29, 2013 12:24 pm

Мой подход к системе таков: Система умный дом должна не просто создавать удобства, а она должна экономить за вас, выключая свет там где нет людей, поддерживая температуры в комфортных пределах. Сервер для всех этих манипуляций не нужен, вся эта автоматизация крутится на локальных контроллерах и в принципе серверу даже знать то об этом не надо постоянно, только по запросу (например хочу я свет через web включить, пожалуйста для этого используем сервер). А на счет CPU дело в экономии чем дороже и мощнее тем больше электричества будет съедено в пустую. Все таки это не управление технологическим процессом и такие скорости обработки информации здесь не нужны.
Ответить