Базовое программное обеспечение контроллера автоматизированного выращивания растений (КАВР).

Главное окно программы автоматизации гроубоксов, теплиц, курятников

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

Предыдущая статья     Список статей     Следующая статья

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

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

 

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

 

Совсем коротко об аппаратной части устройства.

Повторю самый минимум из предыдущей статьи.

Контроллер выполнен в виде одной платы, которая легко устанавливается в стандартную распределительную коробку.

Устройство автоматизации гроубоксов, теплиц, курятников

К клеммным колодкам подключается питание 220 В и исполнительные элементы. Очень удобная, технологичная  конструкция.

Схемотехнически контроллер представляет собой модуль NodeMCU, к которому добавлен блок питания, часы реального времени, твердотельное реле и небольшое количество ключей-усилителей.

Подключение электрических компонентов к устройству автоматизации гроубокса

При желании можно собрать свою конструкцию и использовать с ней программное обеспечение из этой статьи. Надо только сохранить схему подключения дополнительных компонентов к NodeMCU.

Для полного использования ресурсов новой программы должна быть использована следующая схема подключения электрических компонентов к плате контроллера.

Схема подключения электрических компонентов к устройству автоматизации теплиц

Если необходимо управлять мощной высоковольтной нагрузкой, то надо добавить твердотельные или электромагнитные реле. Контроллер позволяет подключать реле с напряжением срабатывания 5 В непосредственно к клеммным колодкам. Защитные диоды не требуются. Они есть в контроллере.

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

 

Отличия новой программы контроллера от предыдущих версий программного обеспечения.

Основное окно программы пока незначительно отличается от предыдущих вариантов. Тот же лаконичный интерфейс, только текстовая информация. Но это уже совсем другая программа.

Сейчас разработан базовый вариант ПО, который позволяет значительно модернизировать программу в будущем, как с точки зрения внешнего оформления, так и расширения функций. Но и сейчас с новой программой работать значительно удобнее.

  • На первое место я бы поставил другой способ получения данных из контроллера.

В предыдущих версиях на NodeMCU был реализован Web-сервер. С телефона или другого устройства, подключенного к сети WiFi, браузер отправлял запрос на контроллер-сервер. В ответ приходила HTML-страница с данными. В ней была указана команда, требующая повторить запрос от браузера через 2 секунды. Таким образом, каждые 2 секунды страница обновлялась. Причем обновлялась полностью. Каждый раз передавался весь HTML-код главной страницы.

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

В новом варианте программы HTML-код главной страницы передается только при первом запросе браузера. Дальше браузер получает только изменяющуюся информацию: время, значения датчиков, состояние выходов и т.п.  Информация передается раз в секунду с помощью запросов JavaScript. Теперь можно значительно увеличивать код главной страницы.

  • Второе отличие невозможно не заметить и не оценить.

Раньше был один вариант сетевой конфигурации – контроллер создавал свою сеть WiFi (точку доступа). Приходилось заходить в настройки телефона, подключаться к сети контроллера. К прочим неудобствам добавлялось то, что телефон отключался от штатной сети WiFi, переставал работать интернет, и надо было не забыть вернуть прежнее подключение WiFi. При использовании нескольких контроллеров все еще больше усложнялось.

Сейчас вариант с точкой доступа остался. Он необходим для случаев, где другой WiFi сети нет, например, в чистом поле. Но добавился вариант автоматического подключения к существующей сети. Теперь контроллер всегда подключен к вашей домашней сети. Для доступа к нему достаточно нажать иконку на телефоне, планшете или компьютере. Кстати, теперь я чаще управляю контроллером от компьютера, чем от телефона. И никаких переключений сетей делать не надо.

При исчезновении сети, например, выключили роутер, контроллер выполняет свои функции. Конечно, в этом случае им нельзя управлять. При появлении сети устройство подключается к ней автоматически.

  • К одной сети могут быть подключены несколько контроллеров.

Ничто не мешает на одном контроллере создать точку доступа и подключить к ней остальные. Вариант востребован для нескольких контроллеров в чистом поле без сетей WiFi.

  • В предыдущих версиях ПО параметры сети задавались в исходном тексте программы. Затем необходимо было  подключить контроллер к компьютеру, компилировать программу и загрузить исполняемый модуль в контроллер. У кого не было на компьютере Arduino IDE надо было еще ее установить.

Теперь все параметры сети и конфигурации задаются в Web-интерфейсе и сохраняются в энергонезависимой памяти контроллера.

  • Появились изменения в работе регуляторов. В новом устройстве можно задавать направление работы регуляторов и добавились режимы циклических включений нагрузок без обратной связи.

Теперь подробно о работе с новым программным обеспечением.

 

Вход в режим конфигурации.

  • Выключить питание контроллера.
  • Нажать и удерживать кнопку “Конфигурация” контроллера.
  • Включить питание.
  • Удерживать кнопку нажатой не менее 1 сек.
  • Кнопку отпустить.

В режиме конфигурации светодиод мигает – 2 короткие вспышки, пауза 1 секунда.

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

После 5 минут отсутствия  действий устройство автоматически выходит из режима конфигурации.

 

Режим конфигурации.

Создается своя сеть WiFi (точка доступа).

  • Имя сети: Config_GrowBox_Cavr_1
  • Пароль: 12345678
  • IP: 192.168.4.1
  • Доменное имя – любое адресуется на этот IP.

При подключении к сети WiFi с именем Config_GrowBox_Cavr_1 на браузере открывается начальное окно конфигурации. Если не открылось, надо обратиться по адресу 192.168.4.1 или по любому имени с общепринятым расширением .ru, .com и т.п.

Окно режима задания параметров

Могут быть заданы 2 режима:

  • Своя сеть (точка доступа)
  • Подключиться к существующей сети (режим станции).

 

Режим точки доступа (своя WiFi-сеть).

В этом режиме работали предыдущие версии программного обеспечения.

Будет создана своя сеть.

Окно режима точки доступа

Для нее необходимо задать:

  • Имя сети.
  • Пароль сети.
  • IP-адрес.
  • Доменное имя – необязательный параметр.
    • Чтобы доменное имя не использовалось необходимо оставить это поле пустым. Убрать даже пробелы.
    • Если задать символ ”*” то обращение к любому имени будет переадресовываться к заданному IP-адресу. В этом случае достаточно подключиться к WiFi и главное окно программы должно открыться автоматически.
    • Можно задать имя и обращаться к нему через адресную строку браузера. Расширение должно быть .ru, .com и т.п. Иначе браузер может не понять, что это Web-сайт и открыть страницу поисковой системы.

 

Режим станции (подключение к существующей сети).

В этом режиме устройство автоматически подключается к существующей сети. Конечно, если правильно заданы параметры.

Окно режима станции

  • Имя сети, к которой подключается устройство.
  • Пароль этой сети.
  • IP-адрес.
    • Задается с учетом маски подсети 255.255.255.0. Например, у меня основной шлюз 192.168.0.1

Сетевые параметры

Можно посмотреть WIN+R -> cmd -> ipconfig ->. Подробнее в уроке ”Технология клиент-сервер.

Я должен задать 192.168.0.xx.

  • Если задан 0.0.0.0, то IP будет получен от сети (динамический адрес). Сомнительный вариант. Вы должны будете узнать адрес, и не факт, что при каждом подключении он будет один и тот же.

Доменное имя в режиме станции игнорируется.

 

Завершение конфигурации.

Следующим открывается окно, которое предлагает задать направление работы регуляторов температуры и влажности.

Окно выбора направления работы регуляторов

Например, может быть использован нагреватель, включение которого увеличивает температуру. В этом случае включать его надо при уменьшении температуры ниже заданного порога.

А может применяться вентилятор или охладитель, который снижает температуру. При этом вентилятор-охладитель надо включать при превышении температурой заданного порога.

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

Для того, чтобы параметры были загружены в энергонезависимую память в следующем окне необходимо выбрать соответствующий пункт.

Окно завершения установки параметров

По завершению конфигурации произойдет сброс контроллера, а значит и выход из режима конфигурации.

Окно завершения установки параметров

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

 

Нормальный режим работы.

После сброса  в режиме конфигурации или после включения питания с не нажатой кнопкой устройство переходит в режим нормальной работы.

Если выбран режим точки доступа.

Устройство формирует свою сеть WiFi с заданными в конфигурации именем и паролем.

Необходимо подключиться к этой сети.

Если в поле конфигурации ”Доменное имя” задан символ “*”, то главное окно программы должно появиться само.

В другом случае необходимо задать в адресной строке браузера заданный IP-адрес или доменное имя.

Светодиод в режиме точки доступа мигает с периодом 2 секунды: 1 секунду горит, 1 секунду погашен.

Если в устройстве обнаружена фатальная ошибка, то светодиод мигает с частотой 3 раза в секунду. Ошибка может быть из-за неисправности часов или не заданных параметров освещения и полива. В этом случае необходимо установить параметры.

Если выбран режим станции.

В этом режиме устройство само пытается подключиться к сети с заданными при конфигурации параметрами.

Если подключиться не получается, например, отключен роутер, то устройство полностью выполняет свои функции. Конечно без возможности управления и индикации.

Светодиод при этом 1 секунду горит, 1 секунду погашен.

Как только контроллеру удается подключиться к сети, в середине интервала погашенного светодиода появляется вспышка. По ней можно судить, все ли нормально с подключением.

 

У светодиода бывают такие состояния.

  • Секунду горит, секунду погашен – нормальный режим.
  • Секунду горит, секунду погашен, в середине погашенного интервала вспышка – нормальный режим станции, устройство подключено к WiFi сети.
  • Частые мигания – фатальная ошибка (часы, параметры освещения или полива). Все отключено.
  • 2 короткие вспышки, пауза 1 секунда – режим конфигурации. При ошибках данных конфигурации устройство не выходит из этого режима. Надо установить правильные параметры.

 

Главное окно программы.

Я создал на рабочих столах компьютера и телефона иконки с фиксированным IP-адресом. По ним открывается главное окно программы.

Главное окно программы автоматизации гроубоксов, теплиц, курятников

Каждую секунду информация обновляется.

В первом абзаце отображается текущее время и есть ссылка для его установки.

Установка времени

Окно установки времени

Окно установки времени

 

 

 

 

 

 

 

 

 

 

 

 

 

Окно установки времени

В абзаце ”Освещение” отображается:

  • Время включения (08:00 ->).
  • Состояние освещения (***) ,при включении освещения звездочки становятся красными.
  • Время выключения (-> 18:00).

Абзац Освещение

Здесь же есть ссылка для установки времени включения и времени выключения светильников.

Задание параметров освещения

В абзаце полив:

  • Дни недели, в которые надо производить полив. Активные дни выделены жирным. У меня полив происходит в среду, пятницу и воскресенье.
  • Время начала полива (20:30 ->).
  • Состояние полива (…..). Символы  ‘ ‘ ‘ ‘ ‘ показывают, что идет полив.
  • Длительность полива (+ 00:01:00). Здесь могут быть заданы секунды.

Абзац полив

  • Ссылка для установки параметров полива.

Установка параметров полива

Ссылки для ручного запуска и остановки полива. Запуск происходит на заданную длительность.

Запуск полива

Влажность почвы пока чисто информационный параметр.

Абзац влажность почвы

Датчик должен быть откалиброван.

Калибровка датчика влажности

  • При сухом датчике влажности почвы надо нажать ссылку ”Датчик сухой”.
  • Затем опустить его в воду и нажать ”Датчик в воде”.
  • Остается выйти из калибровки.

Параметры калибровки будут сохранены в энергонезависимой памяти.

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

Абзац воздух

Область “Регуляторы” содержит параметры однотипных по функционированию регуляторов температуры и влажности воздуха. Как они работают, расскажу на примере регулятора температуры.

Абзац регуляторы

  • Символ ”*”  показывает, включен ли исполнительный элемент (нагреватель или вентилятор). Сейчас у меня включен. При выключении звездочка становится черной.
  • вкл: t > 10 – включение происходит при температуре выше 10 °C.
  • откл: t < 12 °C – выключение происходит при температуре ниже 12 °C.

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

  • Ссылка для установки параметров.

Установка параметров регуляторов

Здесь выбран режим ”Регулировка по датчику”. Коммутация нагрузки происходит в зависимости от измеренной температуры.

Есть другой режим ”Циклическое включение”. В нем задается период и длительность работы исполнительного элемента.

Сейчас задано включение на 15 минут каждый час.

Режим может быть востребован для периодической вентиляции, увлажнения, полива и т.п.

Если выбрать режим  ”Циклическое включение”, то на основной странице поле регулятора температуры будет выглядеть так.

Параметры регуляторов

  • ”*” – состояние.
  • P= 01:00:00 – период 1 час.
  • T= 00:15:00 – время включения 15 минут.

Регулятор влажности выполняет такие же действия относительно датчика влажности.

Все просто, интуитивно понятно.

Программу можно загрузить по ссылке:

 

Зарегистрируйтесь и оплатитеВсего 60 руб. в месяц за доступ ко всем ресурсам сайта!
 

Как установить библиотеки для нее можно посмотреть в предыдущих статьях рубрики.

 

У меня устройство с новой программой работает уже 2 дня. Выключаю роутер, затем включаю – контроллер сам подключается к сети. Пока ошибок не вижу.

 

С последующими своими действиями я пока не определился. Можно попытаться красивее оформить эту программу. Можно добавить функции, например, автоматическое включение полива по датчику влажности почвы. Еще вариант написать программу для охранного устройства на базе этого контроллера.

Предыдущая статья     Список статей     Следующая статья

0

Автор публикации

не в сети 18 часов

Эдуард

242
Комментарии: 1810Публикации: 183Регистрация: 13-12-2015

Один комментарий на «Базовое программное обеспечение контроллера автоматизированного выращивания растений (КАВР).»

  1. Эдуард, возможно ли приобретения данного изделия в виде готового продукта, с установленной программой на борту?

    0

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных".