Система умного дома MajorDoMo

Что такое MajorDoMo?

Высокие технологии все глубже входят в жизнь человека. Это касается не только его труда, медицины или городской инфраструктуры. Абсолютно все жизненное окружение получает определенный «ум»: выключатели, системы климат-контроля помещений, различные датчики (открывания-закрывания, дыма, движения). Все объединяется в стройные логические системы при помощи цифровых управляющих контуров и контроллеров оборудования. Общность такого слияния называется «умный дом», который и предоставляет возможности единого управления и наблюдения за всем комплексом устройств в него входящего. Причем контроль может осуществляться как в ручном режиме через какой-либо общий интерфейс, так и автоматическими возможностями, наподобие выполнения определенных сценариев, реакции на показания датчиков или даже голосовыми командами.

Самое, наверное, простое и удобное, что стоит вспомнить про «умные» системы в быту – это управление светом. К примеру, выключатель, как ручной прибор, становится не нужен (хотя и возможен). Можно представить себе, что свет включается сам, если датчик в помещении определил наличие человека. Причем, в зависимости от времени суток, включается только то освещение, которое в текущий момент необходимо.

Самое простое – человек один, вечер. Зашел в зал. Зачем зажигать люстру? Автоматически загорается только бра. А вот если зашло несколько людей – тогда да, включается люстра. Опять же. Ночью пошел человек в туалет. Зачем зажигать все освещение? Достаточно включить подсветку ему по дороге, да свет в самом туалете.

Или такой пример: в будние дни люди на работе. Можно запустить робот-пылесос, который к их приходу уберет и встанет на подзарядку. А вот в выходные надобности в этом нет. Соответственно центральный контроллер и действует. Вот это и есть система «умный» дом, которая сама, в зависимости от определенных параметров, производит те или иные действия.

Одна из наиболее доступных, открытых и удобных из подобных – умный дом MajorDoMo. Кросс платформенный OpenSource проект, активно развивающийся и имеющий достаточно низкий порог вхождения. Основа его удобства – относительно простая страница конфигуратор всего комплекса на домашнем или рабочем web-сервере.

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

Компоненты системы MajorDoMo

Основное понятие, вводимое цифровым домом «MajorDoMo» – объект, множество которых в свою очередь делится на различные классы. И каждый из них имеет свои свойства и методы взаимодействия. К примеру, класс «лампочки», в который могут относиться объекты «люстра в зале», «подсветка зеркала», «свет на кухне». У каждого есть свойство «статус» со значением «включено» и «выключено», а также метод «зажечь» и «погасить».

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

Объекты

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

В качестве аппаратной составляющей выступает как оборудование самостоятельной сборки, так и выпускаемое некоторыми производителями уже в комплекте, к примеру фирмой Xiaomi. «Умный» дом MojorDomo поддерживает массу протоколов обмена – MQTT, Z-Wave, Broadlink (без возврата состояния) и множество других.

Классы

Как уже говорилось, класс объединяет объекты одного типа. К примеру, класс «выключатели» с состояниями (включено/выключено) и двумя методами (включить/погасить). Или класс «датчики движения» со свойством, у которого значения изменяются в пределах «присутствует движение/нет движения».

Есть и возможность дополнительного разветвления в одной общности – введение подкласса. Самым понятным примером станут выключатели. Бывают контроллеры света, которые не только умеют включать и выключать напряжение, но и плавно его изменять. То есть в парадигме понимания системы умного дома мажордомо у класса «выключатели» конкретного типа есть еще и дополнительное свойство «яркость». В общем виде можно расписать эту взаимосвязь следующим образом:

Класс «выключатели»

Свойства: Статус = включен|выключен

Методы: Включить|Выключить

 

«Свет в кухне»

 

 

 

«Свет в прихожей»

 

 

 

«Свет в ванной»

 

 

 

Подкласс «ВыключателиСДиммером»

Наследуемые свойства: Статус = включен|выключен

Наследуемые методы: Включить|Выключить

собственное устанавливаемое свойство: Яркость = значение

 

 

«Свет в спальне»

 

 

 

«Свет в зале»

 

Свойства

Для большинства устройств в пределах «умного дома» характерно не только следование указаниям контролирующей части, но и возврата своего состояния. Это и есть свойство объекта.

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

Методы

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

Предназначение, функции и возможности системы MajorDoMo

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

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

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

Пример кода в Blockly:

Хотелось бы вспомнить и о такой возможности MajorDoMo, как интеграция с компьютерным помощником «Алиса». Благодаря ей, в диалоговом режиме можно задавать расписания включения, управлять оборудованием при помощи голоса или производить еще миллион действий, которые в своей основе будут выполняться в качестве дополнительных, возможностями умного помощника. В общем виде голосовая команда «Алиса. Завтра в 7 утра мигнуть 5 раз лампой у кровати», при правильно настроенной системе, приведет к созданию в расписании аналога представленного выше кода.

Это еще не все, что может MajorDoMo. В рамках системы представлена возможность осуществлять парсинг с других web-страниц. То есть брать данные из сети и использовать их в сценариях оболочки. Это пригодиться может, к примеру, если на синоптическом сайте в прогнозе потепление. Можно настроить MajorDoMo, чтобы в зависимости от этих данных он давал команду на общее или частичное снижение температуры в здании, для избегания общей духоты.

Состав и управление системой MajorDoMo

В сущности, система представлена специализированной web оболочкой, которая работает в пространстве домашнего web-сервера. Причем последний может функционировать под любыми операционными системами, Windows или Linux. Да и сама аппаратная составляющая центрального компьютера значения не имеет. Это вполне может быть не только IBM совместимый компьютер, но и RasberriPi или еще что-либо более экзотическое.

Клиентские устройства могут быть представлены практически всем производимым спектром оборудования, от устройств MQTT и до радиоуправления Broadlink RF (стандарт 433/315мГц). Взаимодействие с сетями Z-Wave, KNX, и оборудованием Sonoff, Livolo или Xiaomi – происходит через дополнительные модули, которые тем не менее объединяют эти устройства в единое пространство имен, классов, объектов и методов.

Порядок установки системы MajorDoMo

Конечно, можно использовать для «умного» дома любой старый компьютер. Но все же рекомендовано взять отдельно под эти цели RasberriPI. Стоит он не дорого, бесшумен, занимает минимум места. Прекрасная основа для MajorDoMo.

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

# apt-get update && apt-get upgrade

Следом необходимо скачать скрипт установки MajorDoMo (интернет должен быть настроен!) и запустить его:

# wget https://raw.githubusercontent.com/immortalserg/installmd/master/installmd# chmod +x installmd# ./installmd -t -c

После запуска он спросит пароли:

Введите пароль root для MariaDB (MySQL)>

Введите пароль пользователя pi (для системы и базы данных MajorDoMo)>

Кроме как после этих вопросов, нигде пароли устанавливать не нужно. Просто нажимается «ENTER».

По окончании установки система сообщит о необходимости перезагрузки:

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

Добавление устройства в систему MajorDoMo

Добавление любых устройств через web-интерфейс достаточно единообразно, поэтому рассмотрим процедуру на примере выключателя Xiaomi.

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

Итак, после установки и запуска выбирается в программе регион «материковый Китай» (это важно). Язык самого интерфейса – устанавливается любой.

Далее настройка самого шлюза. Жмем «+» сверху, справа. Потом заполняем все, что запрашивает мастер по установке. В главном окне создается кнопка с названием шлюза. Заходим в нее, потом выбираем «Дополнительные опции».

На открывшейся странице, сверху справа необходимо тапнуть на три точки и выбрать «сведения». Внизу есть надпись «Plug-in version», на которую необходимо несколько раз потапать, пока не создастся новая вкладка «Wireless communication protocols». Необходимо в нее зайти, активировать доступ по протоколу WIFI. Пароль будет указан внизу на этой же странице.

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

Видим в списке гейт к самому выключателю. Производим нажатие на изображение карандаша и попадаем в свойства соединения. В «Key:» указывается пароль из MiHome. Следом «Сохранить». Подключенные устройства будут видны в разделе «Устройства» → «Xiaomi Home» MajorDoMo.

Особенности системы управления умным домом

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

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

Оцените статью
Все о технологиях, мобильных приложениях и тарифах на связь