Страница 1 из 1
Автоматизация полива на участке
Добавлено: Пт апр 24, 2020 3:58 pm
Alexandr_LM
Добрый день! Помогите пожалуйста начинающему!
Хочу автоматизировать полив в саду.
Есть в наличии MajorDoMo на Raspberry Pi 4
MegaD 2561+ MegaD-14-IOR+MegaD-14-R
Хочу сделать систему полива привязав ее к календарю (таймеру),
управляя 4 каналами (портами).
Вроде бы задача простая, но я пока за месяц не сдвинулся ни на шаг.
Пробовал все сделать аналогично управлению светом, но что-то так и не пошло.
Запутался окончательно в виртуальных объектах и устройствах.
Насколько я понимаю вот такая у меня задача:
1. Запустить в MaJordomo календарь (либо в сценариях указать дату и время включения реле1)
2. Реле1 это реальный порт на MegaD-14-R ( в моем случае порт 16 ).
3. Далее через 30 мин.(к примеру) через таймер отключить порт.
И далее повторять это действие периодически через 3 часа.
Например в 9, 12, 15, 18 часов.
Аналогично настроить следующие каналы (порты).
В программировании я "0".
Помогите пожалуйста!!!
Re: Автоматизация полива на участке
Добавлено: Пт апр 24, 2020 4:38 pm
Chainik
Alexandr_LM писал(а): ↑Пт апр 24, 2020 3:58 pm
...
В программировании я "0".
Помогите пожалуйста!!!
Здесь почти все в программировании "0".
К примеру, можно так (простейший вариант):
1. Создаете скрипт (сценарий) со следующим кодом (пусть сценарий называется "Poliv_01"):
Код: Выделить всё
if (timeIs('09:00')){
file_get_contents('http://192.168.0.14/sec/?cmd=16:1');
SetTimeOut("P16_Off","file_get_contents('http://192.168.0.14/sec/?cmd=16:0');",1800);}
if (timeIs('12:00')){
file_get_contents('http://192.168.0.14/sec/?cmd=16:1');
SetTimeOut("P16_Off","file_get_contents('http://192.168.0.14/sec/?cmd=16:0');",1800);}
if (timeIs('15:00')){
file_get_contents('http://192.168.0.14/sec/?cmd=16:1');
SetTimeOut("P16_Off","file_get_contents('http://192.168.0.14/sec/?cmd=16:0');",1800);}
if (timeIs('18:00')){
file_get_contents('http://192.168.0.14/sec/?cmd=16:1');
SetTimeOut("P16_Off","file_get_contents('http://192.168.0.14/sec/?cmd=16:0');",1800);}
Если вам надо включать сразу несколько портов, то прописываете несколько команд (например):
Код: Выделить всё
if (timeIs('09:00')){
file_get_contents('http://192.168.0.14/sec/?cmd=16:1');
SetTimeOut("P16_Off","file_get_contents('http://192.168.0.14/sec/?cmd=16:0');",1800);}
file_get_contents('http://192.168.0.14/sec/?cmd=17:1');
SetTimeOut("P17_Off","file_get_contents('http://192.168.0.14/sec/?cmd=17:0');",1800);}
file_get_contents('http://192.168.0.14/sec/?cmd=18:1');
SetTimeOut("P18_Off","file_get_contents('http://192.168.0.14/sec/?cmd=18:0');",1800);}
//и т.д.
2. Для запуска скрипта можно записать в «onNewMinute» (Панель управления --> ОБЪЕКТЫ --> Объекты --> [класс] Timer --> ClockChime --> onNewMinute) такой код:
Собственно, все.
А в MegaD есть еще Cron. Думаю, при необходимости можно даже без сервера обойтись.
Re: Автоматизация полива на участке
Добавлено: Сб апр 25, 2020 8:25 am
Alexandr_LM
Спасибо огромное!
Все действительно просто!
Сегодня пойду вечером буду пробовать.
Обязательно отпишусь по результатам.
Еще раз огромное Вам спасибо!!!

Re: Автоматизация полива на участке
Добавлено: Сб апр 25, 2020 8:41 am
Chainik
Alexandr_LM писал(а): ↑Сб апр 25, 2020 8:25 am
Спасибо огромное!
Все действительно просто!
Сегодня пойду вечером буду пробовать.
Обязательно отпишусь по результатам.
Еще раз огромное Вам спасибо!!!
Немного переписал код сценария. Не учел, что Мега не может выдерживать паузу в команде,
запущенной со стороны сервера, когда со стороны сервера запускается еще одна команда с паузой (выполнение первой команды прекращается). Так что воспользуемся таймерами.
Re: Автоматизация полива на участке
Добавлено: Сб апр 25, 2020 5:19 pm
Alexandr_LM
Все работает! Я очень рад!
Как я могу Вас отблагодарить?
Re: Автоматизация полива на участке
Добавлено: Сб апр 25, 2020 5:22 pm
xor
Alexandr_LM писал(а): ↑Сб апр 25, 2020 5:19 pm
Все работает! Я очень рад!
Как я могу Вас отблагодарить?
половину первого урожая отдайте Чайнику!)
Re: Автоматизация полива на участке
Добавлено: Сб апр 25, 2020 5:25 pm
Alexandr_LM
Спасибо!!!!
