Внимание! В настоящее время поддержка данного проекта не осуществляется! Используйте текущую версию, описание которой можно найти по этой ссылке
В предыдущих статьях о домашней автоматизации были рассмотрены различные контроллеры, которые подключаются через интерфейс RS485 к миникомпьютеру Raspberry Pi, выполняющему роль серверного устройства. Сейчас настало время рассказать о том, как связать все эти элементы в одну общую систему.
Но вначале напомним общие принципы реализуемой системы домашней автоматизации. Основной её идеологией является распределенный принцип построения. Другими словами имеется центральное устройство, соединенное с контроллерами, к которым в свою очередь подключаются различные датчики и исполнительные устройства. Преимуществом такого построения является то, что не нужно тянуть длинные линии от каждого датчика к центральному устройству – достаточно одного кабеля UTP, который используется и как линия связи (RS485) и как шлейф основного питания контроллеров.
Так же преимуществом распределенной системы является её частичная работоспособность в случае выхода из строя любого контроллера или даже центрального устройства.
Кроме универсальных контроллеров, которые позволяют подключать различные аналоговые и цифровые датчики (охранные, пожарные, протечки воды, температуры) и исполнительные устройства, были рассмотрены и контроллеры, которые выполняют «узкопрофильные» функции – например, восьмиканальный измеритель температуры и влажности. Это уже в некоторой степени (по отношению к данному контроллеру) не распределение функций, а скорее их централизация. Следовательно, рассматриваемой здесь системе домашней автоматизации, наиболее точно подходит определение как централизованно-распределенной. Такой принцип построения позволяет достигнуть максимальной гибкости системы. С помощью комбинирования различных контроллеров и собственных портов GPIO Raspberry Pi можно сконфигурировать систему домашней автоматизации со всеми необходимыми требованиями пользователя.
На рис.1 приведена структурная схема первой версии системы домашней автоматизации. В последующем, мы будем просто добавлять новые контроллеры различного назначения, наращивая общий потенциал системы.
Рис.1
Для практической реализации такой системы домашней автоматизации в первую очередь необходимо настроить Raspberry Pi:
Следующим этапом реализации системы автоматизации будет изготовление необходимых контроллеров, подключаемых к Raspberry Pi через интерфейс RS485. Ранее нами были рассмотрены следующие контроллеры:
Подробно с настройкой Raspberry Pi и описанием каждого контроллера можно ознакомиться по приведенным ссылкам. Здесь только кратко напомню функции каждого контроллера:
Климат (8-ми канальный контроллер температуры и влажности). Контроллер позволяет собирать показания температуры и влажности с одного датчика DHT22 и семи датчиков DHT11.Web-интерфейс контроллера показан на рис.2.
Рис.2
Термостат (четырехканальный терморегулятор). Контроллер может управлять 4 нагрузками как в ручном режиме, так и по заданным параметрам температуры. Ввод значений температуры возможен как непосредственно на контроллере, так и удаленно через web-интерфейс. Режимы прямого и обратного типа управления каналами позволяют использовать контроллер как для управления нагревом, так и охлаждением. Web-интерфейс контроллера показан на рис.3.
Рис.3
Радиомодуль используется для эмуляции радиобрелков и сбора информации с радиодатчиков. Web-интерфейс контроллера показан на рис.4.
Рис.4
GPIO – выходы порта Raspberry Pi. C их помощью можно организовать управление 6 различными нагрузками (исполнительными устройствами), web-интерфейс управления портами показан на рис.5.
Рис.5
Контроллер 1 (контроллер RS485) позволяет управлять 4 нагрузками (исполнительными устройствами), контролировать состояние 4дискретных входов, собирать информацию о температуре и влажности с датчиков DHT11 и DHT22. Web-интерфейс контроллера показан на рис.6.
Рис.6
Остальные закладки (контроллер 2….контроллер 6) зарезервированы для наращивания системы.
Прошивки для контроллеров, web-интерфейс управления и контроля прилагаются. Так же вы можете посмотреть демонстрационное видео работы системы домашней автоматизации.
Да, фактически это сайт. А точнее web-страница. Соответственно, к ней можно получить доступ из любой точки через интернет. Вход выполняется по логину и паролю.
Ну конечно нет, потому что контроллер управления кондиционером разрабатывался позже. Но в статье по этому контроллеру есть web-интерфейс управления. Открывает страницу conditioner.html на редактирование (F4) копируем пункт меню "Кондиционер" и заменяем им любой из пунктов "Контроллер х" на всех остальных страницах проекта. Редактируя web страницу можно добавлять новые кнопки меню, менять их местами - в общем конфигурировать интерфейс под свои требования. Для этого достаточно минимальных знаний html, а зачастую даже этого не требуется, т.к. все интуитивно понятно.
На мой взгляд совершенно правильная идеология построения системы! Есть центральный контроллер, определяющий "задания", а есть распределенные узлы, выполняющие "задания", которые в случае чего могут работать автономно. С одной стороны получаем согласованную работу всех подсистем, а с другой - повышенную отказоустойчивость.
Участвую в разработке аналогичного, но коммерческого проекта: бюджетный центральный контроллер и облачный сервис для самостоятельной настройки. 1-М Умный Дом (www.1-m.biz) Контроллер стоимостью 44$ предназначен выполнять функции, подобные Raspberry Pi в этой системе + другие задачи: управление RF, IR, управление со смартфона, через интернет и тп
Одной из важных особенностей проекта, является наше стремление поддержать как можно больше разных производителей датчиков и устройств, особенно нижнего ценового диапазона. Уже сейчас мы поддерживаем десяток самых распространенных беспроводных протоколов и на базе нашего проекта можно построить систему сигнализации и простейшего Умного Дома всего за 100-200$.
Еще одна важная особенность - для настройки нашей системы не нужно быть программистом или звать обученного специалиста - все делается максимально просто через облачный сервис.
Предложение к автору: Мы бы хотели сделать Ваши оконечные устройства совместимыми с нашим проектом. Как мне кажется, от этого выиграли бы все: пользователь может изготовить узел, а уж с какой системой его использовать определяет в дальнейшем - свобода выбора. + можем предоставить возможность продажи Ваших готовых изделий через наш магазин (думаю, особенно будут востребованы модули управление отоплением, вентиляцией, солнечными коллекторами и тп).
Множество людей хотят построить Умный Дом самостоятельно, но не готовы паять или кодить. Давайте вместе предоставим им такую возможность!
Что касается "продаж готовых изделий" - а о каких готовых изделиях вообще идет речь? - я производством и продажей их не занимаюсь, проект некоммерческий, прошивки контроллеров и остальные исходники в свободном доступе.
Вместе с тем я негативно отношусь к "коммерциализации" любительских проектов, об этом четко указано на сайте (см. здесь). И вот почему - просто я прекрасно знаю, чем обычно это заканчивается - сначала много шума и разговоров, а потом у "коммерсантов" по какой-то причине пропадает интерес к проекту и в результате огромный объем работы становится никому не нужен. Проходил уже это...
Самое наглое у коммерсантов - это то, что они берут ЧУЖИЕ идеи и выдают их за свои, зачастую НИЧЕГО в них не внося своего. А потом еще и патентом защищают технологию и она становится закрытой или как часто бывает - полузакрытой. Т.е. тебе дают для затравки часть технологии бесплатно, а когда ты уже втянулся начинается.. библиотеки платные и прочее
Хорошая система! Спасибо автору за проект. Хочу применить сей девайс для управления газовым и вторым в системе твердотопливным котлом. Но это уже будет ближе к марту следующего года, результатом обязательно поделюсь.