Четверг, 05.12.2024, 05:53
| RSS
Главная | Raspberry Pi. Общие вопросы. Часть 3 (тема закрыта) - Страница 54 - Форум
Защита, контроль, управление
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS · Чат

Наш канал в YouTube
]
Raspberry Pi. Общие вопросы. Часть 3 (тема закрыта)
AdminДата: Среда, 20.09.2017, 07:05 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Продолжение темы. Предыдущие темы форума по общим вопросам системы домашней автоматизации смотрите здесь:

Часть первая
Часть вторая
Чат Телеграмм

Наша группа в Facebook. Присоединяйтесь!


Сообщение отредактировал Zoolu - Суббота, 03.03.2018, 17:58
 
AdminДата: Понедельник, 01.10.2018, 18:28 | Сообщение # 531
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата Anatoli ()
Но скажем температуру в доме мне можно измерять и раз в час чтобы графики быстрее открывались.А бойлер тепловой насос греет только 9 минут и на графике чтоб видно было надо измерять хотя бы раз в минуту.Где в скриптах поправить чтоб на каждом датчике самому указывать частоту записи в БД датчиков DS18B20.

Вопрос поставлен правильно, я раньше и сам уже думал, что для каждого датчика неплохо бы предусмотреть возможность "индивидуального" цикла опроса, устанавливаемого в конфиге.

Опрос датчиков крутится в общем цикле loop. Получится ли объединить в одном скрипте несколько loop-циклов, пока не готов ответить, нужно экспериментировать. Но и разбивать один скрипт на кучу отдельных скриптов (т.е. для каждого датчика) хоть и решение проблемы, но очень уж ущербное. Но как промежуточный вариант вполне работоспособное.

В любом случае эту часть необходимо дорабатывать - если кто не заметил, в скрипте есть еще одна не очень приятная особенность - частота записи в базу зависит от количества активированных датчиков. В прежних версиях это не наблюдалось, т.к. цикл опроса и запись проходил только в четко установленный интервал. Сейчас же цикл крутится и проводит измерения каждую секунду, а запись в базу происходит по заполнению счетчика. Сделано это умышленно, т.к. если на главной странице (index) размещены и датчики и управление портами GPIO, то наблюдалась следующая картина - вы щелкаете по выходу для переключения, но программа ждет, когда пройдет цикл опроса всех датчиков. И эта задержка получается тем больше, чем больше активировано датчиков. Поэтому в последней версии опрос датчиков идет постоянно, а вызовом макроса мы только забираем уже полученные в цикле данные. Задержек управления портами при этом полностью отсутствует.
 
ZooluДата: Вторник, 02.10.2018, 05:03 | Сообщение # 532
Группа: Пользователи
Сообщений: 490
Статус: Offline
Admin, добрый день! Я не копался в исходниках Ваших, но по теме записи в БД с разными интервалами- может стоит ввести для каждого счетчика свою дополнительную переменную? Создать один глобальный счетчик а при записи в БД сравнивать значение введенной переменной с глобальным тиком? Соответственно опрос датчиков останется тем же- раз в секунду, а в бд будет писаться каждый со своим интервалом.
P.S. А вообще совсем не обязательно это все. Пусть все датчики пишутся с одинаковым интервалом. Чего вы там наэкономить то хотите?)
 
AdminДата: Вторник, 02.10.2018, 05:38 | Сообщение # 533
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата Zoolu ()
может стоит ввести для каждого счетчика свою дополнительную переменную? Создать один глобальный счетчик а при записи в БД сравнивать значение введенной переменной с глобальным тиком? Соответственно опрос датчиков останется тем же- раз в секунду, а в бд будет писаться каждый со своим интервалом.

Вроде бы я рассматривал нечто подобное. Ладно, не буду гадать, доберусь до исходников, вспомню В любом случае, спасибо за идею!

Цитата Zoolu ()
P.S. А вообще совсем не обязательно это все. Пусть все датчики пишутся с одинаковым интервалом. Чего вы там наэкономить то хотите?

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


ZooluДата: Среда, 03.10.2018, 06:37 | Сообщение # 534
Группа: Пользователи
Сообщений: 490
Статус: Offline
Цитата Admin ()
для разных параметров нужна разная частота выборки
А с какой целью то? Я кроме экономии гипотетической не могу придумать зачем это может понадобиться. Пусть всё пишется раз в секунду. Не думаю, что может потребоваться чаще.
 
AdminДата: Среда, 03.10.2018, 07:00 | Сообщение # 535
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Раз в секунду не подойдет для всех датчиков, например, по даташиту DHT22 должен опрашиваться не чаще одного раза в 2 секунды. Да и нету особого смысла измерять температуру/влажность так часто. 
А если проводить мониторинг качества электроэнергии в сети (пики, просадки) то 1 секунда - это будет уже много. Это чисто как примеры разного периода выборок. Не, конфигурация периода опроса в принципе неплохая функция.
 


AnatoliДата: Пятница, 05.10.2018, 10:46 | Сообщение # 536
Группа: Пользователи
Сообщений: 11
Статус: Offline
У меня раз в 11 секунд пишутся но если базу не стирать несколько дней то долго графики открываются.Только из за этого и стал думать как ограничить количество записей.
 
AdminДата: Пятница, 05.10.2018, 12:19 | Сообщение # 537
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Цитата Anatoli ()
Только из за этого и стал думать как ограничить количество записей.

Увеличьте пока общий тайм-аут. А я, как уже обещал, подумаю об организации "персональных" выборок для каждого датчика.
 
НиколайДата: Понедельник, 22.10.2018, 18:11 | Сообщение # 538
Группа: Пользователи
Сообщений: 579
Статус: Offline
Admin, Начальная расстановка  входов на главной странице (index.html) происходит перетаскиванием объекта  «мышкой», а не цеплянием мышкой за закругление угла.
Выходы перетаскиваются цепляем мышкой за закругление угла.


Сообщение отредактировал Николай - Понедельник, 22.10.2018, 18:15
 
AdminДата: Понедельник, 22.10.2018, 18:33 | Сообщение # 539
Admin
Группа: Администраторы
Сообщений: 4260
Статус: Offline
Николай, если честно, я ни хрена не понял из этой тавтологии.

Но и входы, и выходы перетаскиваются совершенно одинаково - щелкаем по объекту, и объект становится "в фокусе" - т.е. появляется рамка вокруг объекта. Цепляемся мышкой за любую зону между закруглением и рамкой и перетаскиваем объект на нужно место:

 


НиколайДата: Понедельник, 22.10.2018, 20:20 | Сообщение # 540
Группа: Пользователи
Сообщений: 579
Статус: Offline
Цитата Admin ()
перетаскиваем объект на нужно место:
Я виноват, входы и выходы перетаскиваются  одинаково, а как зафиксировать датчики от случайного перемещения?
 
Поиск:



T2M © 2024
Сайт управляется системой uCoz