Проект «Зимний сад»
Задача
Комплексное обеспечение работы зимнего сада, поддержание заданной температуры, полив растений с индивидуальной настройкой по каждому из 15-и каналов, контроль уровня воды, освещённости, влажности почвы, управление окнами, жалюзи и ролл-шторами, автоматический и ручной режимы работы, оповещение по SMS о тревожных ситуациях и т. д.
Обратите внимание. Проект «Зимний сад» это составляющая часть более обширного проекта «Умная дача», с которым можно ознакомиться на главной странице проекта. Одновременно, проект «Зимний сад» самодостаточен и может использоваться отдельно от основного проекта
Оборудование
В качестве основного контроллера используется Arduino Mega 2560, работающий в тандеме с таким же контроллером Mega, связанным с ним по беспроводному nRF24 каналу.
Кроме основного контроллера в проекте используются:
- Второй контроллер Arduino Mega 2560
- Плата сетевого интерфейса Ethernet Shield
- 2 беспроводных модуля nRF24L01
- 3 цифровых температурных датчика DS18B20
- Датчик температуры и влажности воздуха DHT22
- 15 датчиков влажности почвы
- 4 датчика освещённости
- 2 датчика уровня воды
- 7 сервоприводов для управления жалюзи
- 12 шаговых моторов для управления ролл-шторами
- 18 реле для коммутации нагрузок 220 В
Топология подсети «Зимний сад»
На этой схеме представлена топология подсети «Зимний сад». Эта подсеть, в свою очередь, входит в сеть «Умная дача». Каждый управляющий контроллер которой («Дом», «Баня», «Котельная» и т. д.) тоже имеют свои подсети, подобные этой.
В связи с протяжённостью зимнего сада, не очень удобно прокладывать провода от контроллера ко всем его отдалённым частям, поэтому применено решение из двух одинаковых контроллеров Arduino Mega 2560, объединённых в единую систему при помощи беспроводного nRF24 канала
Один из контроллеров стал «главным», а второй «партнёром». Пользователь системы работает только с главным контроллером, работа партнёра для него полностью прозрачна, он может даже не подозревать, что работает с распределённой системой.
Вторым фактором, потребовавшим использования дополнительного контроллера, стало большое количество датчиков и актуаторов, которые нужно подключить к системе.
Режимы работы
Поскольку зимний сад примыкает к дому, то на контроллер сада возложены некоторые функции по управлению оборудованием дома. В частности, управлению частью окон, жалюзи, ролл-штор и проекционным экраном. Но основное назначение контроллера — это управление работой зимнего сада и полив растений.
В интерфейсе можно выбрать один из четырёх режимов работы системы: «авто», «ручной», «кабинет», «кино».
Основным является автоматический режим. В этом режиме система сама управляет всем подключённым к ней оборудованием (робот) — открывает и закрывает окна, жалюзи и шторы, поливает растения, следит за уровнем воды и т. д.
В ручном режиме большинство автоматических функций отключается и становится доступной ручная установка параметров и индивидуальное управление каждой шторой и жалюзи.
Режимы «кабинет» и «кино» — это специализированные вариации режима «авто» с настройками штор и жалюзи для работы в кабинете или просмотра фильмов. Эти функции не относятся непосредственно к «Зимнему саду», они появились в системе в связи с соседством сада и дома.
Контроль температуры и влажности воздуха
Данные о температуре система получает от датчиков DS18B20, объединённых в 1-Wire сеть. Две зоны контроля температуры в зимнем саду и данные о температуре на улице. К системе также подключён датчик температуры и влажности воздуха DHT22. Все эти данные используются системой для управления микроклиматом зимнего сада.
В интерфейсе системы можно видеть текущие значения температуры и задавать пороговые значения, которые будут использоваться системой для поддержания температуры воздуха в зимнем саду.
Лимиты отклонений температуры
Для каждой контролируемой температуры можно задать пределы максимально допустимого отклонения от заданной величины. В случае выхода температуры за эти пределы система будет отсылать тревожные SMS на мобильный телефон.
В данном случае отклонение температуры по всем зонам составляет 22,25 градуса Цельсия (это тестовый пример) и система уведомила об этом, отослав три SMS сообщения.
Система полива растений
Система поддерживает 15 независимых каналов полива растений, каждому из которых можно задать индивидуальные настройки. Часть этих каналов подключена к главному контроллеру, часть — к nRF24 партнёру. Для пользователя это подключение прозрачно, он видит только 15 каналов, которые управляются и работают одинаково.
Информация об уровне влажности почвы поступает в систему от 15-и датчиков, также подключённых к обоим контроллерам и эти подключения также прозрачны для пользователя. Кроме датчиков влажности почвы к системе подключены 15 реле управления поливом, по одному на каждый канал.
Получая данные с датчиков температуры, влажности воздуха и почвы, система принимает решение о необходимости полива той или иной зоны и в автоматическом режиме осуществляет полив.
Каждый из 15-и каналов используется для полива групп растений со сходными потребностями во влажности почвы. Например, 1-й канал можно настроить на полив орхидей, а 10-й — на полив кактусов.
Установки каналов полива
Интерфейс системы полива растений разбит на две части: в первой выводится информация о состоянии каждого канала, а во второй находятся настройки и кнопка включения и выключения всех каналов сразу.
По каждому каналу выводится: его состояние («выключен» или «автополив»), текущий уровень влажности почвы, полученный с соответствующего датчика и установленная цель полива (для кактусов сухо, для орхидей — влажно).
Тут же можно задать параметры по каждому каналу и сохранить их в энергонезависимую память — после выключения и последующего включения контроллера система продолжит полив растений в заданном режиме.
Параметры полива
Здесь задаются общие настройки для всей системы определения влажности почвы и полива растений.
Почвы и используемые датчики могут различаться по параметрам, а также датчики могут изменять свои характеристики с течением времени. Для точной настройки и компенсации деградации поверхности электродов датчиков в системе предусмотрена возможность задания пороговых значений, которые определяют тот или иной уровень влажности («сухая», «суховатая», «нормальная», «влажная», «залита водой»).
Также доступны настройки периода полива растений и длительность сеанса полива. Изменяя эти параметры, можно добиться оптимальной работы системы полива в конкретных условиях того или иного сада.
Управление окнами
Управление окнами производится либо в ручном, либо в автоматическом режиме. В ручном режиме доступны кнопки в веб-интерфейсе, нажимая на которые можно открывать и закрывать окна.
Цвет кнопки указывает на текущее положение окна: оранжевый — открыто, серый — закрыто.
Управление жалюзи
К системе подключены 7 жалюзи, управляемые сервомоторами. Все жалюзи разбиты на две логические группы по местам их физического местонахождения.
Управлять жалюзи можно как индивидуально, открывая их на любой нужный угол, так и в групповом режиме, задавая угол раскрытия и устанавливая всю группу в указанное положение. В автоматическом режиме система сама управляет жалюзи в соответствии с заложенной программой.
Управление ролл-шторами
Управление ролл-шторами аналогично управлению жалюзи. В ручном режиме доступна индивидуальная и групповая установка штор в любое положение, в автоматическом режиме система сама управляет шторами в соответствии с заложенным в неё алгоритмом.
Панель управления
В панели управления собрана информация обо всех датчиках и объектах управления, подключённых к системе и о состоянии самой системы. Вся информация обновляется в реальном времени, выводятся: текущее время, дата, температура на улице, название контроллера и номер щитовой где он установлен, текущая загрузка контроллера, размер свободной памяти и т. д.
Обилие индикаторов говорит о насыщенной внутренней жизни системы и сложности алгоритмов, обеспечивающих её работу. Панель управления удобна тем, что достаточно одного взгляда на неё, чтобы оценить текущее состояние всей системы.
Время восхода и захода солнца
В систему интегрирован алгоритм, определяющий время восхода и захода солнца (тёмного и светлого времени суток) для каждого дня в году и определённых географических координат.
Индикатор имеет два состояния: «SUN» на жёлтом фоне (в светлое время суток), «MON» на синем фоне (в тёмное).
SMS-сервер
Проект «Зимнего сада» входит в общий проект «Умная дача». В локальной сети «Умной дачи» работает SMS-сервер, который обеспечивает передачу SMS со всех контроллеров сети на мобильные телефоны и приём управляющих SMS с мобильных телефонов и передачу их контроллерам сети.
В панель управления выводится информация о доступности в сети SMS-сервера. В данном случае SMS-сервер не работает.
Другие контроллеры сети
В сети «Умной дачи» присутствуют контроллеры других объектов управления, например, «Дома», «Бани», «Котельной» и т. д. В панели управления находятся ссылки для быстрого перехода между контроллерами сети.
Нажимая на такую ссылку, вы переходите на другой контроллер, но выглядит это так, как будто вы просто открываете другую страницу AMS сайта. Понятие «управляющий компьютер» размывается и им становится вся сеть. Плюс этого подхода в том, что при выходе из строя какого-либо отдельного контроллера 90% системы продолжает работать в штатном режиме (в отличие от централизованных систем, где выход из строя главного компьютера приводит к полной остановке системы).
nRF24 партнёр
Как уже отмечалось выше, система состоит из двух контроллеров Arduino Mega («главного» и «партнёра»), объединённых в одно целое по беспроводному nRF24 каналу. Поскольку работа партнёра полностью прозрачна и скрыта от пользователя, то он ничего не знает о состоянии самого партнёра.
В панель управления выведена информация о текущем состоянии партнёра: если индикатор зелёного цвета — с партнёром всё в порядке, если красного — значит партнёр не работает. В данном случае партнёр работает нормально.
Индикация температуры
Информация с цифровых датчиков DS18B20, подключённых по проводному соединению 1-Wire к системе. Используется для создания комфортных условий для выращивания растений в зимнем саду.
Датчик влажности воздуха
Информация о влажности и температуре воздуха с датчика DHT22, подключённого к главному контроллеру.
Датчики влажности почвы
Состояние всех 15-и датчиков влажности почвы в реальном времени. Весь диапазон возможных уровней влажности почвы разбит на несколько поддиапазонов: «сухая», «суховатая», «нормальная», «влажная», «залита водой».
Каждому уровню влажности соответствует свой цвет. В данном случае датчики M4, M6, M8, M9 показывают нормальный уровень влажности (зелёный цвет), датчики M2, M3 — сухую почву (оранжевый), остальные — суховатую (коричневый). Какие каналы будут поливаться в данном случае зависит от настроек, заданных пользователем в веб-интерфейсе.
Реле полива растений
Информация о состоянии 15-и реле полива растений. В соответствии с показаниями датчиков влажности почвы и настройками, система решила, что в данный момент нужно включить на полив реле W2, W3, W5, W7, W10, W11, W12, W13, W14, W15.
Реле управления окнами
Состояние реле управления открыванием и закрыванием окон. В ручном режиме управление производится из веб-интерфейса, в автоматическом система сама открывает и закрывает их. В данный момент окна закрыты.
Реле управления экраном
Информация о состоянии реле, управляющего проекционным экраном. Это часть функционала системы не относящаяся непосредственно к зимнему саду. Активируется при переходе в режим «Кино».
Сервоприводы управления жалюзи
Информация о положении 7-и сервоприводов управления жалюзи. Все жалюзи разбиты на две группы S1 (5 жалюзи) и S2 (2 жалюзи).
Моторы управления ролл-шторами
Информация о положении 12-и ролл-штор. Все ролл-шторы разбиты на четыре группы C3 (6 ролл-штор), C4 (3 ролл-шторы), C5 (2 ролл-шторы) и C6 (1 ролл-штора). Эти группы используются в ручном и автоматическом управлении шторами.
Датчики уровня воды
К системе подключены два датчика уровня воды, один к главному контроллеру, другой к беспроводному nRF24 партнёру. Несмотря на различие в подключении и работу одного датчика через беспроводной канал, оба датчика выглядят в интерфейсе совершенно одинаково.
Датчики освещённости
К системе подключены 4 датчика освещённости. 2 из них непосредственно к главному контроллеру и 2 — к nRF24 партнёру. Датчики определяют несколько градаций освещённости: «открытое солнце», «солнечно», «день», «пасмурно», «сумерки», «ночь». Эти данные используются системой в своей работе и уходе за растениями.
Каждый уровень освещённости отображается в интерфейсе своим цветом. В данном случае первый датчик показывает уровень освещённости «день», а остальные три — «пасмурно».
Развитие проекта
Тема управления теплицами, оранжереями и зимними садами очень обширная, всегда можно найти то, что нужно улучшить или придумать функцию, которую нужно добавить в систему. Этот проект делался под конкретный зимний сад и его конкретные условия и со своей задачей справляется на отлично. В дальнейшем, при необходимости, можно расширить реализованный функционал новыми функциями.
Функции, реализованные в проекте
- Комплексное управление зимним садом
- Управление системой из веб-интерфейса
- Адаптивный дизайн для использования на планшетах и смартфонах
- Отсылка тревожных и информационных SMS сообщений
- Сохранение настроек в энергонезависимой памяти
- Реализация распределённой устойчивой системы без главного компьютера
Датчики и актуаторы
- Подключение 3-х температурных датчиков DS18B20 по сети 1-Wire
- Подключение датчика температуры и влажности воздуха DHT22
- Подключение 2-х датчиков уровня воды
- Подключение 4-х датчиков освещённости
- Подключение 15-и датчиков влажности почвы
- Подключение 7-и сервоприводов для управления жалюзи
- Подключение 12-и моторов для управления ролл-шторами
- Подключение 18-и проводных реле коммутации нагрузок 220 В
Режимы работы системы
- Режимы работы системы «авто», «ручной»
- Смена режима в веб-интерфейсе
Температура
- Установка параметров температуры в веб-интерфейсе
- Слежение за заданной температурой
- Контроль температуры в реальном времени на веб-странице
- Задание лимитов отклонения температуры в веб-интерфейсе
- Индикация нарушений температурных лимитов на веб-странице
- Отсылка тревожных SMS при нарушении лимитов температур
Полив растений
- 15 независимых каналов полива растений
- Контроль влажности почвы по 15-и каналам
- Контроль температуры, влажности воздуха и освещённости
- Установка параметров полива в веб-интерфейсе
- Установка влажности почвы по каждому из 15-и каналов
- Индивидуальное или общее включение каналов
- Индикация состояния каждого канала в веб-интерфейсе
nRF24 сеть
- Поддержка работы nRF24 сети
- Распределённая nRF24 система
- Использование AMS nRF24 беспроводного стека и протокола
- Индикация состояния nRF24 партнёра в панели управления
Управление окнами
- Управление окнами автоматически, в зависимости от режима
- Управление окнами вручную из веб-интерфейса
Управление сервоприводами жалюзи
- Открывание и закрывание жалюзи из веб-интерфейса
- Произвольный выбор угла открытия
- Автоматическое управление жалюзи
- Индивидуальное и групповое управление жалюзи
- Индикация в реальном времени положения жалюзи
Управление ролл-шторами
- Открывание и закрывание ролл-штор из веб-интерфейса
- Произвольный выбор величины открытия штор
- Автоматическое управление ролл-шторами
- Индивидуальное и групповое управление ролл-шторами
- Индикация в реальном времени положения ролл-штор
Работа со временем
- Синхронизация времени с серверами в интернете
- Отслеживание временных интервалов
- Отслеживание времени суток
- Отслеживание времени восхода и захода солнца
SMS сообщения и команды
- Интеграция с AMS SMS-сервером
- Отсылка SMS сообщений на мобильный телефон
- Приём управляющих SMS от SMS-сервера
Сетевая работа
- Интеграция с другими контроллерами сети
- Приём управляющих команд по сети от других контроллеров
- Отсылка управляющих команд другим контроллерам сети
- Ссылки в интерфейсе для перехода между контроллерами сети
Индикация
- Индикация состояния всех объектов системы в реальном времени
Заказать проект
Для того, чтобы заказать проект, пришлите письмо с описанием задачи на адрес info@hi-lab.ru