Перефразируя Валентина Берестова:
Как автономно поливать?
Чтоб свояка не доставать
И лишку не трясти соседа
Не ждать дождя после обеда.
А так, чтобы само включилось
Само пролилось, освежилось.
Где надо подогрев сработал,
А у меня свои заботы!
В начале было желание. Желание никого не просить поливать эти злосчастные огурцы и помидоры, которые никак не хотели терпеть до субботы. Ой, как и водится, с начала нужно сформулировать задачу. Начнем с ДАНО:
-
участок с двумя теплицами, электропитанием, забором и речкой, но на значительном удалении от места постоянной дислокации;
-
неискоренимое желание выращивать на своём участке огурчики, помидорчики (почему не покупать в магазине объяснять не будем, это уже из области философии);
-
более чем 20-летний опыт разработки в области информационных технологий;
-
довольно вольное представление о временных и финансовых ограничениях (скажем так, об этом не хотелось думать);
-
возможность последующей модернизации.
Было понятно, что чтобы я не сделал, сразу оно не заработает. И скважность простоя в 7 дней неприемлема. Но перефразируя известную фразу - у садовода нет цели, только путь. Начинаем!
Как выбрать мозг решения (контроллер)
Первый, и очень серьёзный шаг, это выбор температурного диапазона. Как правило, уже на этом этапе большая часть выпадает за пределы рассмотрения стоит лишь предложить какой-то железке поработать при отрицательных температурах. Да, есть отапливаемые помещения, термошкафы и пр, но я сознательно пошёл по пути т.н. холодного старта, чтобы вкусить все прелести функционирования. Итого, фиксируем - расширенный температурный диапазон. Не будем углубляться в положения ГОСТ 15150-69, но -10...+40 были выбраны за ориентир нижней и верхней рабочих температур. Кстати, именно в эту зиму контроллер первый раз отработал все 24/7/365. Пусть зима была и мягкая, но первый плюс за всепогодность он зарабатывает, поскольку всю зиму отработал в обыкновенной беседке, установленным в простой электрический шкаф без подогрева.

Во-вторых, нужно определиться с интерфейсами. Между объектами на участке часто расстояние измеряется десятками метров, не ко всем объектам удобно прокладывать провода, да и к самому объекту нужно подключаться удалённо. Значит как минимум RS-485, что-то беспроводное (WiFi, ZigBee) локальное и 3G/LTE.
Третье, это функциональные возможности. Схема должна подразумевать задействование реле для различного рода исполнительных механизмов, датчики света, тепла, движения, влажности, освещенности, уровня воды, положения выключателей или каких-то элементов управления.
Четвёртое, но не бесполезное -
Утомлять рассмотрением вариантов не буду - должный уровень импонирования вызвал контроллер WB7, от WirenBoard (ссылка). Изделие задумано прямо как специально под мои задачи, большой набор различных датчиков и модулей расширения, ориентация на распространённые интерфейсы, открытый подход к разработке и сопровождению. По задумке всё как надо. Заказываем!
Первые шаги
Как было в известном фильме «День радио»: "Но мы же профессионалы…". Неужели не справимся? А оказалось, что выбрать среди всего многообразия модулей и прочих элементов то, что нужно - задача невыполнимая. Сейчас, по прошествии чуть более двух лет надо признаться, что больше половины я купил зря. Но не ошибается тот, кто ничего не делает. И чему я очень рад, что ребята не ограничиваются своими задачами, а в документации описывают и некоторые рецепты от профи: какой кабель купить (разумеется у них :)), какие клещи использовать и почему. Мне в первое время их советы очень помогли уменьшить баланс своего счёта, но взамен получить какие-то инструменты, которые я раньше не использовал.
Итак, с чего я начал. Конечно же с освоения простеньких скриптов, базовых навыков коммутации, отработки сценариев начального уровня. Здесь сильно помогла база знаний, примеры кода от разработчика. Правда была у них проблема с удалённым подключением - предлагалось использовать какой-то VPN-сервис tailscale, развернуть который то ещё упражнение. Конечно можно было взяться за собственный вариант конфигурирования, но здесь во мне сыграл потребитель. В конце концов, контроллер не дешёвый, не все потребители обязаны разбираться в особенностях построения защищённых сетей, значит делаем по-инструкции.
Опять-таки забегая вперёд, часть с VPN-соединением оказалась лишней работой. На текущий момент производитель поддерживает свой ресурс wirenboard.cloud, который решает проблему соединения двух устройств с динамическим IP адресом. Если упрощённо - как позвонить человеку, если у него нет номера. Тот самый анекдот про Васю, нужно позвонить туда, где знают как передать Васе сообщение и оставить его.
Скрытый текст
В университете на лекции по психологии. Профессор: – Сегодня мы изучим на примере три исходные стадии психики человека: удивление, раздражение и гнев. Профессор берёт телефон и набирает первый попавшийся номер. – Здравствуйте! А Васю можно? – А здесь такой не живёт. – Вот, – улыбается профессор, – это лёгкое удивление. Затем набирает номер снова. – Здравствуйте! А Вася не подошёл? – Да нет тут таких! Потирая руки, профессор заговорщицки подмигивает аудитории и третий раз набирает номер. – А Васи нет? – Да пошёл ты! – заорали в трубку. – Что ж, надеюсь, пример понятен. С первой парты встаёт студент. – Простите, профессор, но вы забыли четвёртую стадию. – Это какую же? – Стадию шока. Студент подходит к кафедре и набирает номер. – Добрый день! Это Вася, мне никто не звонил?
Что у меня было на этом этапе - ящик с контроллером, LTE модемом, WiFi точкой доступа к которой подключались видеокамеры и набор датчиков и реле, готовых выполнять мои и контроллера команды.

То есть сценарии управления должны позволять: удалённо с использованием сети мобильной связи управлять контроллером в ручном режиме (сценарий А) и просматривать ролики с видеокамер (сценарий Б); находясь на участке через WiFi управлять контроллером (сценарий В).
Все эти сценарии были сделаны с использованием штатных настроек контроллера без каких-либо правок ПО контроллера. Можно только посетовать на относительно низкую доступность подключения к видеокамерам. Очень часто они в состоянии "не в сети", источник проблемы пока не найден ... ищем. История заняла приличное время, с моей помощью разработчики нашли какую-то ошибку обновления сертификатов, но проблема усилилась с приходом зимы. Сделал принудительную перезагрузку контроллера раз в сутки. Стало лучше. Потом разработчики предложили поменять SIM-карту. Хотел похихикать, потому как после перезагрузки связь возобновлялась, но всё-таки последовал совету – МТС поменял на Мегафон. И что вы думаете? Исправилось. Для меня пока причинно-следственная связь осталась неясной … подождём. Как говорят автомобилисты: «Плохой стук сам вылезет, а хороший и искать не надо».
Пара слов о поддержке от WirenBoard. Есть конечно на что поворчать, а именно на время реакции. Иногда оно измерялось несколькими днями и я про себя ворчал на нерасторопность поддержки от производителя. Пока не столкнулся с тех. поддержкой Intel. Там исправление в прошивке сетевой карты согласовывали пол-года. Так что по сравнению с этим примером поддержка вполне оперативная. И что хочется отметить – в ПО и аппаратуру заложены необходимые диагностические функции, что позволяет почти любую проблему решить без прямого подключения. Да и интерес у производителя в разборе проблем прослеживается. От меня твёрдая четвёрка.
Усиливаем давление
Чтобы поливать что-то нужное, нужна вода. Воды в достатке, но в речке, которая хоть и относительно чистая, но любые фильтры забивала на раз. И потом оказалось, что мне нужно знать не только когда бочка полная, но и когда она пустая. Решил с помощью двух поплавковых выключателей, которые завёл на вход контроллера (ссылка). Здесь и далее никакие конкретные позиции, и магазины я не рекомендую. Статья только про контроллер и опыт работы с ним. Уверен, можно купить и дешевле и лучше и быстрее. Любые выводы на эту тему случайны.
Пока не решил проблему с забиванием фильтров речной водой, мысли есть, делиться ими пока рано. Сама проблема может и надуманная, но если не очищать воду, то в бочке очень быстро появляются разный органический «мусор», который рано или поздно забивает форсунки разбрызгивателей, а они сами не чистятся. Да и насос подкачки откровенно говоря оказался капризным – и без воды его не оставляй, и вода должна быть чистая и на зиму снимай, поскольку внутри резиновая перегородка в баке. Но других вариантов нет, обычные дренажные (ссылка) не развивают должного давления.
А дальше самое интересное – начинаем проектировать управление потоками воды. Для этого нужны управляемые вентили, а они уже очень даже не дёшевы. Поскольку узел у меня не очень важный выбрал пластиковые с управлением по 220В. Есть фаза – вода бежит, пропала – нет. Сразу спроектировали контур с возможностью полива из реки и из бочки в каждую теплицу по отдельности и ещё наружу на специальные маленькие колодцы, к которым можно подключиться шлангами (ссылка). Получились режимы:
-
набор воды из реки в бочку или подача в систему;
-
подача воды из бочки насосом с давлением;
-
переключение системы в любых вариантах:
-
полив первой теплицы;
-
полив второй теплицы;
-
полив из шланга.
-

Первое время было очень страшно. Шутка ли, за 100 км от тебя может начать бежать вода, сгореть насос, переполниться бочка, забиться фильтр, упасть метеорит … да мало ли что может случиться. Для разгона подобных мыслей сразу сделал «Автоматический режим работы», где все действия выполнялись определённое время. По истечении таймера любая активность выключалась (см. рис).

Кроме этого добавил сообщения в Telegram, которые высылает контроллер при инициации или завершения любой программы и для верности ещё поставил камеру в теплицу. Может кто-то относится проще, но я в этих вопросах паникёр, всё-таки не один десяток лет сопровождаю разработку программ и точно знаю – если что-то может работать не правильно, оно будет работать не правильно. Значит будем перестраховываться. За время испытаний, ни один саженец не погиб от действий контроллера.
Да будет свет! И тепло …
Как это всегда и бывает различного рода пристрастия затягивают. Раз прошлым летом мы научились поливать, то почему бы этот сезон не начать раньше за счёт дополнительного подогрева теплицы? А раз уж будем делать тепло, то может и фитолампы добавить?
Новое техническое задание получено, приступаем к реализации. Основным допущением к реализуемой схеме было не допустить возможности короткого замыкания, поскольку полив, брызги, 220В, паникёр (помним). Поэтому выбирал и фитолампы и инфракрасные обогреватели с защитой не меньше IP54 (защита от пыли и брызг, ссылка) и размещал максимально под потолком. Естественно учитывая расстояние до поверхности и диаграмму углов полезного действия приборов, чтобы не греть стенки теплицы. То, что получилось в итоге, можно посмотреть в небольшом видео (ссылка).
Для тех, кому интересно, что в итоге выбрал, перечисляю: 4 обогревателя BALLU BIH-AP4-0.8-M (ссылка), 6 фитоламп 80мкмоль/40Вт/500x78x85мм КХЭМ FITO 80 (ссылка), 6 светодиодных светильников Экоэл ПРОМ 20.4К.Д.IP65-410.ПСП.ЭК.Vi7 (ссылка). Выбор мощности обогревателей обоснован путём обзора нескольких видео заядлых огородников, со светильниками было проще – оказывается вариантов выбора фитосветильников не так много, и они были определяющими. Обычные светильники выбирались с тем расчётом, чтобы уместиться в пролёт теплицы вместе с фитолампой (см. видео выше). Соединение также осуществлялось с помощью герметичных распределительных коробок IEK wtp-403 4 ввода ip68 UWB10-H-450-41-04-68 (ссылка). Разработка российская, производство Китай, качество кстати, вполне хорошее. Обещал не рекламировать, поэтому вот производителю недостаток – кладите хоть на один винтик больше. В теплице под потолком выронить в землю легко, а найти его – невозможно.
В завершении данного эпизода поставил в теплицу датчик WB-MSW-ZIGBEE v.4 (ссылка) с подключением по ZigBee. Это не штатная схема, скоро прокину RS-485, но не терпелось получить график температуры внутри теплицы и снаружи, чтобы понять, как этим управлять (см. ниже). Оранжевая линия это образно говоря беседка, то есть улица, а синяя это теплица. Неприятно удивлён, что как только уходит солнце графики начинают совпадать. Надеялся, что защищённая от ветра теплица хоть немного, но держит тепло.

Не одной только теплицей
Беседка (камеры, свет, прожектора), ворота с электроприводом, сарай-ка для инструментов – это тоже объекты, которые есть на участке. Камеры иногда могут зависать, свет и прожекторы в беседке желательно уметь включатьвыключать дистанционно.
Первая мысль о том, что сюда нужно приложить свою руку возникла после внезапного выключения электричества. Рано или поздно его включили, а вот камеры, подключенные через контроллер – нет.
Но опять-таки, на сайте производителя есть примеры реализации различных сценариев, которые можно либо взять как есть, либо адаптировать под свои условия. Что я и сделал, добавив в своё виртуальное устройство несколько переменных, которые сохраняются в энергонезависимую память устройства. И теперь отключение электричества не страшно, контроллер продолжает выполнять предыдущий сценарий. Этот способ кажется более универсальным, чем организация каких-то схем с бесперебойным питанием. По крайней мере на данном этапе, когда из капитальных построек на участке только ворота, да и то, только потому, что у них есть фундамент.
Второй идеей было сделать управление более удобным. Когда всё заводишь в контроллер, становишься зависимым от телефона. А руки, особенно у садоводов, могут быть и в перчатках, и в грязи и пр. Реализацию идеи начал с освещения, запрограммировав в клавишу выключателя несколько функций по управлению светом:
-
выключено – тут всё просто, выключается всё;
-
включено – включается освещение беседки;
-
включено-выключено-включено (за 15с) – включается освещение беседки и прожектора.
Немного посетую, что у модуля детектора сетевых напряжений WBIO-DI-HVD-16 (ссылка) нет распознавания двойных нажатий, а у модуля счётных входов WB-MCM8 (ссылка) нет возможности подачи 220В. А у меня как назло, с точки подводки проводки к выключателю можно было снять только один провод – то есть подать в него фазу, которую разрывает выключатель. Вот так появился «костыль» (способ решить проблему не очень оптимальным способом, при наличии оптимального варианта решения проблемы).
Конечно, хожу и облизываюсь вокруг панелей, закрепляемых на стене, на которые можно вывести интерфейс управления, но пока дороговато под реализованный функционал. Ограничился тем, что разрисовал систему в виде svg файла.

Резюме
Наверное, для первого раза можно заканчивать. Идей ещё много, игрушка для тех, кому за 40 точно интересная и увлекательная. Буду подключать к алгоритму датчики освещённости, шума, обработку команд в telegram-чате, может доберусь и до автоматических ворот, за счёт размещения маленькой релюшки WB-MRM2-mini v.2 внутри (ссылка). Оставляйте сообщения в комментариях, буду рассказывать дальше.
Автор: ArtyomGolikov