Сервер умного дома – это «мозг» системы управления. Он реализует и поддерживает работу всей сети. Генерирует и посылает необходимые сигналы на контроллеры, которые отвечают за управление датчиками, сигнализацией, климат-контролем, прочими функциями и режимами, заложенными в программное обеспечение.
Виды сервера
Управление умного дома осуществляется с сервера. Он может быть централизованным (стационарным) и децентрализованным (может работать удаленно).
Основные требования к серверу:
- Стабильная работа.
- Обязательное резервирования данных.
- Контроль версий ПО.
- Возможность обновления и доработки функционала.
- Быстрая наладка в случае сбоя.
Стационарный сервер, который поставляется в комплекте для умного дома, стабилен и имеет широкий функционал, но также имеет некоторые недостатки. Это и стоимость, и необходимость установки дублирующего устройства, на случай выхода из строя основного прибора. Главным недостатком можно считать невозможность управления системой на расстоянии.
Сервер и web-сервер умного дома среднего объекта
С появлением планшетных ПК и смартфонов, стало возможным управление различными приборами дистанционно, что значительно упрощает жизнь. Если установить управление умным домом на базе сервера с удаленным доступом, то взаимодействие с системой станет на порядок более эффективным.
Платформа Raspberry Pi 2 для построения веб-сервера умного дома
Web сервер для умного дома — это микро, планшетный компьютер или смартфон. Платформой для него может быть любое устройство с большим объёмом оперативной памяти (Raspberry Pi 2 или Raspberry Pi 3, AC500-eco, Arduino), мощным процессором и возможностью выхода в сеть Интернет. Web сервер в составе системы умный дом обеспечивает визуализацию управления через браузер.
Веб сервер для умного дома работает по простому принципу. Мобильное устройство выступает в качестве основного ядра, дистанционно отправляющего командные сигналы. Программное обеспечение, которое можно купить или прописать самостоятельно, превращает Android, Linux или Windows устройства в диспетчерскую станцию, взаимодействующую с контроллерами по wifi. Преимущества блока web умный дом в том, что можно не только управлять системами в доме, но и производить любые операции извне. Также возможна настройка на расстоянии и хранение данных на облаке.
Интерфейс управления умным домом
Функционирование системы невозможно без интерфейса (универсального средства управления). Принцип его работы базируется на возможности выхода в интернет, то есть это программная платформа, позволяющая комплексно управлять всеми домашними автоматизированными системами. Также интерфейс умного дома обеспечивает информационное взаимодействие и поддержку рабочего состояния. Такая система совместима с любым ПК или смартфоном с различными платформами.
Интерфейс умного дома создается для каждого пользователя индивидуально
В современной системе умный дом web интерфейс делают модульной архитектуры, построен на PHP, CSS и JavaScript. ПО прописано в плагинах UI как html или css, расположенных в ресурсах DLL. Их можно добавлять или менять по своему усмотрению. Примерная структура интерфейса выглядит так:
- Стартовая страница на рабочем столе. На ней в виде значков отображаются все элементы управления.
- Плагины содержат разделы, подразделяющиеся на системные (для работы с настройками) и пользовательские (для непосредственного управления функциями).
Самостоятельное создание веб интерфейса для управления умным домом осуществляется с помощью специальных онлайн конструкторов с готовым пакетом данных.
Как сделать сервер для умного дома
Самостоятельно сделать сервер достаточно просто. В корпус неиспользуемого компьютера (желательно брать модель от 2006 года выпуска) монтируется в порядке очередности:
- блок электропитания;
- кулер с пониженным производством шума;
- материнская плата с современным процессором;
- оперативная память, соответствующая требованиям процессора;
- несколько жестких дисков (желательно NAS-систему) и контроллер sata;
- сетевая карта с поддержкой host режима;
- модуль wifi.
Комплектация может видоизменяться в зависимости от требований. Далее следует настройка сервера с использованием полнофункциональных сервисов (подойдет система Linux) и установка программного обеспечения.
Самостоятельная сборка сервера для умного дома под названием AVRobot
Для того, чтобы сделать веб сервер для умного дома, достаточно установить в ПК или смартфон соответствующее программное обеспечение, взаимодействующее с управляемыми системами (датчиками, отвечающими за работу климат контроля, включения света и т. д.).
Это система управления домом по сценариям. Она позволяет навешивать произвольную логику (сценарии) на различные события в доме (срабатывание датчиков, нажатия кнопок, события от внешних сервисов, например, получнеие email или сообщения в twitter). Система имеет модульную архитектуру, весь функционал находится в плагинах. Если нужно добавить новый тип события или новые команды «домашнего API», нужно просто добавить плагин для этого.
В феврале у нас был . Первая версия включала фреймворк для домашней автоматизации: систему плагинов и инфраструктуру для них (чтобы плагины могли описывать свой API и события, а также использовать API и подписываться на события друг друга). Сейчас близится релиз второй версии, основная фича которого - новый веб-интерфейс.
UI теперь - модульное одностраничное приложение . Плагины могут описывать свой UI в виде html/js/css файлов, расположенных в ресурсах DLL. Клиентская часть UI основана на backbone.js и marionette.js , модули загружаются через require.js . В целом получилось довольно удобно для авторов плагинов - даже не имея глубоких знаний java script, можно, смотря в примеры, описать полноценный UI, который будет автоматически подключен в интерфейс управления домом.
Интерфейс управления домом состоит из «разделов», каждый плагин может содержать несколько разделов (а может содержать только один или может вообще не иметь интерфейса). Разделы поделены на 2 группы: системные (различные настройки, например, раздел домашних сценариев) и пользовательские (разделы, с которыми пользователи работают в повседневной жизни, например, «прогноз погоды» и «будильники»).
Также есть специальная страничка - «рабочий стол» (он же «стартовая страничка»). Там находятся «элементы стартовой страницы» - небольшие панели, которые отображают полезную информацию, а при клике на них открывается какая-нибудь страница или выполняется какое-либо действие.
стартовая страничка
раздел с будильниками (в нужное время проиграет музыку или запускает выполнение сценария)
раздел с прогнозом погоды (загружается из интернета)
редактор сценариев (на скриншоте сценарий, который фотографирует посетителей, нажавших кнопку дверного звонка)
страничка подписки на события: первый выпадающий список - события в системе (они описаны в плагинах), второй список - сценарии
Интерфейс адаптируется под маленькие экраны мобильных устройств.
стартовая страничка на маленьком экране
страничка с погодой на маленьком экране
Сейчас, как я уже писал, система быстро приближается к релизу 2-й версии, исходный код лежит на github . Пока еще есть возможность что-то поменять. Очень хотелось бы получить конструктивную критику и предложения по улучшению (а если кто-то пришлет pull request, я буду просто счастлив).
Если кто-то захочет попробовать вживую, как все работает, напишите мне личное сообщение - соберу для вас свежий дистрибутив.
PS.
Кстати, я пробовал работать над этим проектом и это дало удивительные результаты. Сейчас идет 8-ая неделя работы в таком режиме (Longest streak 49 days). За это время проект продвинулся вперед больше, чем за предыдущие пол года. Я очень доволен результатом и планирую продолжать работать в таком режиме, сколько это будет возможно.
В основе качественного интерфейса «Умного дома» всегда лежит мощная программная платформа. На этой базе интегратор создает визуализацию для конкретного проекта. Первое – инструмент, второе - продукт, который с его помощью создается (так же, как программа Автокад и чертеж, текстовый редактор и текст).
Есть два подхода к выбору платформы: 1. использование «родного» ПО, которое предоставляет производитель комплектующих, и 2. внедрение программного продукта независимого разработчика.
Родное приложение
Как мы упоминали в статье про , существует множество протоколов домашней автоматизации и еще больше производителей оборудования. Такие компании как Crestron, AMX, Vantage, RTI, HDL, ABB, Gira, Jung, Schneider-Electric, Vimar предлагают решения для мобильных устройств в комплекте с сенсорными управляющими панелями или со специализированными серверами визуализации.
- Лицензия на ПО отдельно не покупается, но сама сенсорная панель или сервер стоит достаточно дорого.
- Графика и структура такого интерфейса создается разработчиками. Однако это накладывает определенные ограничения: адаптация под конкретный проект возможна только в жестко заданных рамках.
- Редакторы достаточно просты в использовании, и программисту с ними удобно работать.
- Доступны интересные фирменные плагины (часы и будильник, предустановленные сценарии).
- Функционал предопределен и нет возможности решать специфические задачи.
- Совместимо только с тем стандартом автоматизации, для которого предназначено оборудование.
- Интеграция с прочим оборудованием возможна только, если это заложено производителем. Так, например, с популярными аудио-системами Sonos совместимы практически все приложения, а вот подключить к ним, например, не получится.
Использовать «родные» программные продукты производителей, на наш взгляд, целесообразно в нескольких случаях.
Во-первых
, если у вас будет гомогенная система, к которой не планируется подключать оборудование, поддерживающее иные протоколы.
Во-вторых
, если вы планируете установить сенсорные настенные панели.
В-третьих
, если ваш проект рассчитан именно на домашнюю автоматизацию – управление комфортом коттеджа или квартиры.
Если же сенсорные панели покупать не планируется, второй вариант может быть предпочтительным.
Стороннее приложение
Существует несколько программных комплексов, предназначенных для управления «Умным домом» с мобильных устройств. На наш взгляд, наиболее интересными являются iRidium и Evika. Они предоставляют сходные возможности, мы чаще используем iRidium, поэтому расскажем о нем.
Комплекс iRidium позиционируется как операционная система для умного дома, чем фактически и является. Он используется для объектов частного, коммерческого, промышленного назначения.
- Для использования Иридиума в проекте необходимо приобрести лицензию у разработчика. Существует несколько типов лицензий, которые различаются числом подключаемых мобильных устройств и списком совместимого оборудования.
- Приложение совместимо со всеми основными протоколами автоматизации, может управлять одновременно несколькими физически не связанными подсистемами. Для пользователя все управление при этом происходит из одного интерфейса.
- Графическая часть очень гибко настраивается. Можно использовать типовые или индивидуально разработанные шаблоны, реализовать любую структуру и любые пожелания заказчика.
- Может быть установлено на любые устройства, дополнительное оборудование (сервер или процессор) не требуется.
- Настройка и прорисовка интерфейса – достаточно трудоемкий процесс.
Мы предпочитаем второй вариант, если
- в качестве настенных сенсорных панелей используется iPad в рамке ;
- система составная и нужно в один интерфейс включить управление разным оборудованием;
- хочется персонализированный и подходящий именно для вашего проекта дизайн;
- необходимо интегрировать автоматизацию со сторонним ПО, к примеру,
Мой «Умный дом» на ПЛК и с веб-интерфейсом. Часть 1. Введение
- HTML ,
- SCADA
Введение
На Хабре много статей про проекты умных домов, но почти все они были на самодельном оборудовании и китайских примочках. В своей статье я хотел рассказать о другом подходе, который показывает, насколько легче выполнять проекты, используя готовые решения мировых производителей (и выглядит солидней ), а так же демонстрирует возможность использования оборудования не только в промышленных объектах, но в частной сфере. Получился симбиоз технологий и направлений автоматики. С одной стороны, используя ПЛК, который в основном разработан для нужд промышленности, позволяющий выполнять задачи любой сложности без ограничений жестких алгоритмов готовых устройств умных домов (например, по технологии KNX) с увязкой веб-технологией html/javascript дает неограниченный полет фантазий для расширения проектов.Текущие затраты - 170 тысяч рублей (по старому курсу евро).
Начнем.
Что я задумал
Управляем освещением и электроснабжением- В основном управление будет производиться сигналом включить/выключить, диммирование не хочу и не надо;
- Хочу управление с разных мест, например, зашел в спальню - включил люстру, лег на кровать - нажал выключить люстру. Если забыл выключить свет в зале (или в туалете …) нажал кнопку «выключить свет везде». Удобно;
- При выходе из квартиры нажимаю одну кнопку – выключается во всей квартире свет и т.д.;
- Считывать показание с электросчетчика;
- Бесперебойное питание систем управления и безопасности квартиры;
- Без исключений, все группы освещения должны управляться с ПЛК. В случае пожара розеточные группы должны отключаться с ПЛК в автомате - отключать электроснабжения в квартире в экстренных случаях;
- Каждая группа освещения должна приходить в щит и проходить через ближайший выключатель для возможности переделки управления освещения в обычную схему (если продам квартиру, буду все забирать);
- В коридоре предусмотреть датчик движения человека для управления освещением + завязывается в охранную сигнализацию;
- Теплый пол на балконе, в туалете, ванной, в прихожей - с возможностью управления в зависимости от уличной температуры, по времени.
Управляем отоплением и вентиляцией
- Управление отоплением - на каждую батарею устанавливается клапан с приводом (для регулирования температуры покомнатно, для измерения температуры комнаты, необходимо предусмотреть датчики температуры);
- Предусмотреть управление кондиционерами по ИК каналу (текущие решение задачи пока не найдено, выводим витую пару на внутренний блок кондея дальше придумаю);
- Температурные датчики уличной температуры (солнечная и не солнечная сторона);
- В зимний период достаточно часто встречаются две проблемы – это холодно и нечем дышать. Решение установить приточную систему. Далее обеспечить управление приточной системой (температура в канале, уличный датчик температуры, три ступени нагрева, вентилятор);
- Управление вытяжными вентиляторами (сан узел, ванная).
Охрана сигнализация
Сигнализация состояния входной двери (архивация состояния двери – время открытие/ закрытие);
Постановка на охрану через Web интерфейс или через выключатель управления светом.
Видеонаблюдение
Запись с камеры входной двери, уличная место парковки;
Архивация записей на удаленном сервере.
Оборудование
- Так как я привык уже к ПЛК от фирмы ABB, то в качестве мозгов для системы управления квартирой был выбран ПЛК модели AC500-eco (ЦПУ PM554-ETH с поддержкой Ethernet);- Дальше я уже начал считать деньги и … нужно было выбрать среду отображения информации, с возможностью веб-отображения информации о доме. Существует много вариантов, но в основном все базируется на не кроссплатформенных решениях, что не подходит для меня. Все, что со словами SCADA и WEB, были с запредельным ценником. Пришлось немного попуглить, в результате решено использовать не SCADA систему, а framework с большим функционалом для HTML5. Пришел к CSWorks. Этот фримворк дает возможность бесплатно использовать с ограничением 999 переменных, 1 клиент. Что меня полностью устраивало.
- в качестве выключателей и розеток (орган управления светом) была выбрана фирма JUNG, Serie A . Из плюсов - они могут нести до 4-х кнопок на один кнопочный пост (выключатель без фиксации), так же в них присутствует светодиоды индикации с напряжением 24В (данное напряжение является стандартным промышленное напряжением питания систем автоматики). Данные функции не видел ни у одного из производителей электроустановок (не считая Китая);
Начало работ
1. Способ проводки освещения. Каждая группа приходит напрямую в шкаф электроснабжения. В шкафу стоят контакторы и реле для управления. Катушки реле и контакторов управляются от сигналов ПЛК (DC24V). Для резервирования управления использую контакторы с ручным управлением. Питающий провод сделал проходящий через стаканчик выключателя, чтобы была возможность переделки проводку на обычную схему.Сам контактор с ручным управлением:
Собран и смонтирован шкаф:
Как я писал выше, выключатели выбрал без фиксаций с led индикаторами. Максимально 4 кнопки, возможно расключение этих кнопок на 8 групп (см. документацию на выключатель
Интерфейс – это то, что пользователю «умного дома» приходится видеть и осязать каждый день. Поэтому понятному и отлично продуманному интерфейсу отводится важное место в интеллектуальной системе. Он должен отражать основные задачи и не перегружаться излишними функциями и компонентами. Качественный интерфейс умного дома – это непременная составляющая системы, он является гарантом удобного и эффективного управления интеллектуальным домом, с которым легко и просто управляется пользователь.
Что такое интерфейс
Под этим определением понимается метод взаимных действий между пользователем и системой посредством конкретного устройства, и в данном рассматриваемом случае – это сенсорная панель .
Чтобы получать от взаимодействия с ним комфорт и удовольствие, необходимо разрешить главные вопросы интерфейса: как будет выглядеть дисплей? Какие должны быть на нем отображены кнопки? Легко ли будет поменять функции, которые уже есть? Как упростить поиск нужных параметров?
Что включает интерфейс
Если рассматривать его в более широком толковании, то он представляет собой базу, в которой собраны различные способы контакта пользователя с системой «умный дом». «Общение» с ней, достигается с использованием разных устройств.
Например:
- сенсорной панелью;
- пультом дистанционного управления;
- кнопочными панелями выключателями и панели;
- мобильным телефоном посредством звонков GSM и СМС-сообщений;
- устройством управления с помощью Интернета (компьютер, планшет, смартфон);
- голосовым управлением.
Каким он должен быть
Система «Умный дом» — это сложная структурная композиция. Однако внутренняя сложность не должна являться таковой при ее использовании, а быть как можно проще. Чем нужно руководствоваться при выборе интерфейса.
Вот главные принципы:
- Простота и удобство . Управление сценариями и функциями не должно отнимать много времени, а делаться разовыми кликами. Интерфейс должен быть понятен и прост как для родственников в возрасте, так и для детей. И только необходимая информация должна поступать на экран, а иконки быть такими, чтобы их легко можно было узнавать. Понятный и логичный алгоритм управления.
- Безопасность . Интерфейс должен предоставлять возможность блокировки некоторых функций во избежание запуска нежелательной функции посторонним людям или детям. Отдельные страницы должны защищаться паролем.
- Гармоничный дизайн . Интеллектуальный дом должен быть красив во всем. И интерфейс не исключение, поскольку каждое устройство, будь то контроллер или сенсор, является неотъемлемой частью интерьера и должен быть гармонично вписан в дизайн. Не должны выделяться из него даже встроенные панели, а быть лицом интерьера. Благо существует множество цветовых оттенков, обложечных графических тем и иконок, чтобы создать единый стиль.
Всем этим требованиям вполне отвечает, например, веб-интерфейс умного дома блочно-колоночной организации. К примеру, первый блок или группа их задействуется на камерах наблюдения для отражения информации, второй – на системе отопления, третий – на устройствах энергетики, чтобы проводить индикацию состояния устройств или потребления энергии.
В заключение
Нормальное системное функционирование не может быть обеспечено без интерфейса. Принцип работы универсального средства управления основывается в первую очередь на возможности выхода в Интернет, то есть на той платформе, которая дает возможность контролировать комплексно системы автоматизации. Кроме этого интерфейс интеллектуальной системы умного дома служит гарантом информационного контакта и поддержки функциональности.
Система должна иметь совместимость с любым персональным компьютером или мобильными устройствами, имеющими разные платформы.
Также как и общие интерфейсы, в систему включены локальные средства функционального управления. В большинстве своем они представлены разного рода выключателями, сенсорными и клавишными панелями, имеющими узкий функционал.
Например, устройство, которое установлено в комнате на одной из стен, может управлять освещением и климатом. Нажатием клавиш вы определяете необходимые операции – включаете слабый свет, поднимаете температуру в помещении и т.д. Можно включить ряд функций сценарий.