Проект «Дом»

Умный дом

Задача

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

Обратите внимание. Проект «Дом» это составляющая часть более обширного проекта «Умная дача», с которым можно ознакомиться на главной странице проекта. Одновременно, проект «Дом» самодостаточен и может использоваться отдельно от основного проекта

Оборудование

В качестве основного контроллера используется Arduino Mega 2560, как простое и мощное решение, проверенное временем.

Arduino Mega 2560

Кроме основного контроллера в проекте используются:

  • Плата сетевого интерфейса Ethernet Shield
  • 6 контроллеров Arduino Pro Mini
  • 7 беспроводных модулей nRF24L01
  • 11 цифровых температурных датчиков DS18B20
  • 2 датчика протечки
  • 17 реле для коммутации нагрузок 220 В
  • Электронный тиристорный ключ (реле)

Топология подсети «Дом»

На этой схеме представлена топология подсети «Дом». Эта подсеть, в свою очередь, входит в более обширную инфраструктурную сеть «Умная дача», каждый управляющий контроллер которой («Баня», «Котельная», «Зимний сад» и т. д.) тоже имеют свои подсети, подобные представленной здесь.

Топология подсети «Дом»

Режимы присутствия

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

Всего существует три режима: «присутствие», «частичное присутствие», «отсутствие». Устанавливаются они вручную путём нажатия на соответствующую кнопку в веб-интерфейсе. Предусмотрено также отложенное изменение режима присутствия с задержкой: «2 мин», «30 мин», «1 час», «2 часа», «3 часа», «4,5 часа», «6 часов», «7,5 часов», «9 часов», «13,5 часов», «18 часов».

Режимы присутствия людей

Тут же показывается время, оставшееся до смены режима присутствия, если такая смена активирована.

Отопление

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

Информация о текущей температуре в помещениях получается от цифровых датчиков DS18B20. Часть датчиков подключена к системе проводным способом по сети 1-Wire, а часть — при помощи батарейных долгоживущих AMS nRF24 датчиков (об этом будет подробно рассказано чуть ниже).

Установки температуры в помещениях

Для каждого из 10-и помещений в интерфейсе системы задаются требуемые значения температуры (цели) для каждого из 3-х режимов присутствия/отсутствия людей.

Установки температуры в помещениях

Режимы «присутствие» и «частичное присутствие» дополнительно разбиты на два поддиапазона «высокий» (H) и «низкий» (L). Это условное деление, позволяющее более гибко и точно задавать настройки температуры. Дополнительно устанавливаются «высокий» или «низкий» режим отопления для каждого времени суток.

Дополнительные высокие и низкие установки температуры

Значения времени суток «утро», «день», «вечер», «ночь» задаются на соответствующей странице настроек системы.

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

Контроль температуры

Система позволяет в реальном времени отслеживать температуру во всех помещениях и сопоставлять её с требуемой целью.

Контроль температуры

Лимиты отклонений температуры

Для отслеживания тревожных ситуаций с отоплением помещений введена подсистема контроля предельно допустимых отклонений температуры вверх и вниз от целевой. При выходе температуры за пределы установленных ограничений система автоматически отсылает тревожные SMS на мобильный телефон владельца дома (или на телефоны ответственного персонала) через инфраструктурный SMS-сервер сети «Умная дача».

Лимиты отклонений температуры

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

Экономия энергии и средств

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

Беспроводные датчики температуры

Как уже упоминалось выше, информацию о температуре в помещениях система получает от цифровых датчиков DS18B20, часть из которых подключена к контроллеру по 1-Wire сети, а часть по беспроводной связи с использованием модулей nRF24L01. Такое различие по типу подключения датчиков обусловлено тем, что не везде удобно протягивать 1-Wire сеть и в некоторых случаях нет альтернативы беспроводному подключению датчиков.

Батарейные nRF24 датчики температуры

В качестве беспроводных датчиков температуры использованы т. н. AMS nRF24 датчики на основе микроконтроллера Arduino Pro Mini. Это батарейные долгоживущие датчики, которые рассчитаны на автономную работу в течение 1 – 3 лет, в зависимости от режима использования.

Arduino Pro Mininrf24l01

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

Интерфейс беспроводных датчиков

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

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

Интерфейс беспроводных nRF24 датчиков

На скриншоте видно, что из 5-и датчиков активен только один, в «Детской», остальные не работают. По работающему датчику доступна информация о текущей температуре, напряжении питания батареи, ресурсе наработки датчика, интервале, прошедшим со времени его последнего обновления, количестве ошибок (качестве беспроводной связи) и статусе активности на данный момент.

Кран подачи воды

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

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

Управление краном подачи воды

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

Защита от обледенения

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

Защита от обледенения

Управлять этой подсистемой можно из веб-интерфейса, также доступно независимое включение и отключение режима защиты от образования льда с регулируемой задержкой исполнения: «30 мин», «1 час», «2 часа», «3 часа», «4,5 часа», «6 часов», «7,5 часов», «9 часов», «13,5 часов», «18 часов».

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

Управление роллетами при помощи электромагнитного реле — открывание и закрывание из веб-интерфейса.

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

Управление вентиляцией душа

Душевая комната для нормальной эксплуатации требует периодической вентиляции. Этот процесс полностью автоматизирован при помощи описываемой системы: в веб-интерфейсе задаётся количество включений в сутки, в зависимости от интенсивности эксплуатации от 1 до 24 раз и время работы сеанса вентиляции от 5-и до 30-и минут с шагом в 5 минут.

Управление вентиляцией душа

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

В веб-интерфейсе так же доступно управление освещением некоторых участков дома при помощи кнопок. Причём два источника подключены к системе проводным способом, а один, наиболее удалённый, при помощи беспроводного nRF24 реле. Для пользователя системы оба эти вида подключения абсолютно прозрачны — он видит в интерфейсе только одинаковые (и одинаково работающие) кнопки.

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

Сохранение настроек

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

Панель управления

Панель управления предназначена для вывода самых важных и актуальных данных о состоянии системы и подключённого к ней оборудования в режиме реального времени. Она находится в «шапке» сайта и всегда находится перед глазами оператора системы.

Панель управления

Это стандартный дизайн панели управления Arduino Mega Server с небольшими изменениями под данный проект. В самом верхнем левом углу, над панелью управления, видна надпись «ДОМ (ЩС-3)» идентифицирующая контроллер и номер щитовой, в которой он установлен.

Время восхода и захода солнца

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

Время восхода и захода солнца

Индикатор имеет два состояния: либо «SUN» на жёлтом фоне (в светлое время суток), либо «MON» на синем фоне в тёмное. Этот индикатор можно заменить на пиктограммы солнца и луны для большей наглядности.

SMS-сервер

Как уже отмечалось на главной странице проекта «Умная дача» (частью которой является описываемый проект «Дом»), в системе существуют т. н. инфраструктурные контроллеры, в данном случае SMS-сервер. Этот сервер предназначен для получения информационных и тревожных сообщений от всех управляющих контроллеров сети и отсылки их на мобильный телефон(ы) владельца дачи. А так же приёма управляющих SMS с мобильного телефона владельца и рассылки их управляющим контроллерам.

SMS-сервер

В панель управления выводится информация о доступности или недоступности в сети SMS-сервера. Если сервер недоступен, то индикатор красного цвета, если доступен — зелёного. В данном случае SMS-сервер не работает.

Другие контроллеры сети

По сути, система представляет собой распределённый компьютер, состоящий из локальных управляющих контроллеров. В панели управления даны ссылки на другие контроллеры сети, в данном случае, «BOILER» — это контроллер котельной, «BATH» — контроллер бани, «GARDEN» — контроллер зимнего сада. Для того, чтобы перейти на другой контроллер, достаточно просто кликнуть мышкой по ссылке — и не имеет значения где физически расположен другой контроллер — вся система представляется пользователю как один веб-сайт.

Ссылки на другие контроллеры сети

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

Индикация температуры

Как уже отмечалось выше, в системе существует два вида температурных датчиков — проводные, построенные на основе сети 1-Wire и беспроводные батарейные nRF24 датчики. В панель управления в режиме реального времени выводится информация от всех подключённых к контроллеру датчиков.

Индикация температуры

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

Реле управления тёплыми полами

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

Реле управления тёплыми полами

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

Реле управления краном

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

Реле управления краном

В данный момент сработал датчик протечки воды «LEK», что и вызвало, в свою очередь, срабатывание реле отключения подачи воды.

Реле снеготаяния

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

Реле снеготаяния

Реле вентиляции душевой

Реле вентиляции душевой включается и отключается автоматически, в соответствии с установками, описанными выше на этой странице. В данный момент вентиляция отключена.

Реле вентиляции душевой

Реле управления роллетами

Индикация состояния роллет. На самом деле роллетами управляют два реле — одно на открывание, другое на закрывание, включаемые кратковременными импульсами. Индикатор один, он просто показывает текущее положение роллет — открыты или закрыты.

Реле управления роллетами

Датчик протечки воды

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

Датчик протечки воды

Датчик аварии септика

В панель управления выводится информация о состоянии датчика аварии септика. Цветовая сигнализация такая же, как и для датчика протечки воды: в нормальном состоянии индикатор зелёный, в случае аварии индикатор становится красным и на мобильный телефон владельца дачи посылается тревожное сообщение через инфраструктурный SMS-сервер.

Датчик аварии септика

Реле освещения

Устройство системы освещения тоже уже описывалось выше. В панель управления выводится информация о текущем состоянии всех реле, включающих свет (причём, как вы помните, два из них проводные и одно беспроводное nRF24 реле).

Реле освещения

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

Дизайн

Проект выполнен на основе стандартного дизайна Arduino Mega Server, на самом деле внешний вид системы может быть любым: AMS использует стандартные веб-технологии HTML, CSS, JavaScript и пр. и позволяет подключать любые библиотеки, в том числе и 3D. Стандартный дизайн оказался достаточно симпатичным и функциональным и в его изменении не возникло нужды.

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

Развитие проекта

В проекте «Дом» реализованы только те функции, которые были нужны в конкретном доме и конкретном хозяйстве, система позволяет по мере необходимости дорабатывать проект и добавлять любой нужный функционал. В качестве примера реализации других функций на основе AMS Pro, вы можете посмотреть описание других управляющих контроллеров проекта «Умная дача».

Функции, реализованные в проекте

  • Комплексное управление загородным домом
  • Управление системой из веб-интерфейса
  • Адаптивный дизайн для использования на планшетах и смартфонах
  • Отсылка тревожных и информационных SMS сообщений
  • Сохранение настроек в энергонезависимой памяти
  • Настройки целевой температуры, позволяющие сократить энергопотребление дома
  • Реализация распределённой устойчивой системы без главного компьютера

Датчики и актуаторы

  • Подключение 6-и температурных датчиков DS18B20 по сети 1-Wire
  • Подключение 5-и температурных датчиков DS18B20 по беспроводной nRF24 сети
  • Подключение датчика протечки воды
  • Подключение датчика аварии септика
  • Подключение 17-и проводных реле
  • Подключение тиристорного ключа к nRF24 актуатору

Режимы присутствия людей в доме

  • Режимы «присутствие», «частичное присутствие» и «отсутствие»
  • Смена режима в веб-интерфейсе
  • Возможность отложенной смены режима с регулируемой задержкой срабатывания

Отопление

  • Управление отоплением 10-и помещений дома
  • Управление работой тёплых полов в 10-и помещениях
  • Автоматическое поддержание заданной температуры
  • Установка параметров отопления в веб-интерфейсе
  • Регулировка температуры в зависимости от режима присутствия людей
  • Дополнительное разбиение режимов на 2 поддиапазона «высокий» и «низкий»
  • Задание матрицы целевых температур из 50-и значений в веб-интерфейсе
  • Задание матрицы «высоких» и «низких» режимов для каждого времени суток
  • Регулировка температуры с учётом матрицы высоких и низких подрежимов
  • Контроль текущей и целевой температуры в реальном времени на веб-странице
  • Задание допустимых лимитов отклонения температуры в веб-интерфейсе
  • Индикация текущих нарушений температурных лимитов на веб-странице
  • Отсылка тревожных SMS при нарушении лимитов отклонения температур

nRF24 сеть

  • Поддержка работы nRF24 сети
  • Использование нативного AMS nRF24 беспроводного стека и протокола
  • Использование беспроводных батарейных AMS nRF24 датчиков
  • Удалённый контроль «здоровья» беспроводных датчиков
  • Отслеживание активности и ошибок беспроводных датчиков
  • Время работы батарейного датчика 1–3 года
  • Использование беспроводного AMS nRF24 реле света

Управление подачей воды

  • Управление включением и выключением водяного клапана из веб-интерфейса
  • Автоматическое перекрытие клапана при протечках воды
  • SMS оповещение при аварийных ситуациях с протечками воды
  • Приём по сети команд управления клапаном от других контроллеров

Защита от обледенения и снега

  • Задание периода включения и отключения снеготаяния
  • Возможность включения и отключения с регулируемой задержкой
  • Индикация оставшегося времени до включения/выключения защиты

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

  • Открывание и закрывание роллет из веб-интерфейса
  • Индикация в реальном времени положения роллет

Управление вентиляцией душа

  • Автоматическая вентиляция душа
  • Задание количества включений вентиляции в сутки в веб-интерфейсе
  • Задание длительности сеанса вентиляции в веб-интерфейсе

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

  • Включение и выключение освещения из веб-интерфейса
  • Отслеживание времени восхода и захода солнца
  • Автоматическое включение и выключение освещения по времени суток

Работа со временем

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

SMS сообщения и команды

  • Интеграция с AMS SMS-сервером
  • Отсылка информационных и тревожных SMS на мобильный телефон
  • Приём управляющих SMS от SMS-сервера

Сетевая работа

  • Интеграция с другими контроллерами сети
  • Приём управляющих команд по сети от других контроллеров
  • Отсылка управляющих команд другим контроллерам сети
  • Ссылки в веб-интерфейсе для быстрого перехода между контроллерами

Индикация

  • Индикация состояния всех объектов системы в реальном времени

Заказать проект

Для того, чтобы заказать проект, просто пришлите письмо с описанием задачи на адрес info@hi-lab.ru и возможно уже через несколько дней вы получите готовый проект вашей мечты