Majordomo умный дом

Majordomo умный дом

Открытая система управления “умным домом” MajorDoMo — Часть 1

В этой статье я расскажу об одном проекте, которым занимаюсь уже довольно продолжительное время и который с некоторых пор доступен широкой публике. Речь идёт о системе управления «умным домом” MajorDoMo (Major Domestic Module), являющейся центральным блоком комплекса программно-аппаратных решений, которые я, в силу своих скромных возможностей, внедряю в своём домашнем хозяйстве.

Но обо всём по порядку…

Проект не является продуктом в каком-либо виде. Статус проекта – разработка и исследование. Проект не совсем прост в понимании и предназначен для энтузиастов в области домашней автоматизации. Глубокое внедрение и настройка проекта под собственные нужды потребует навыки программирования и хотя бы базового понимания объектно-ориентированного подхода в разработке. Нижеописанные возможности могут быть реализованы не в полной мере либо недостаточно тщательно протестированы. Не допускается использование системы в тех случаях, когда от надёжности функционирования элементов системы может зависеть жизнь либо здоровье людей.

Но не будем о мрачном 🙂

В основу проекта заложено несколько фундаментальных принципов, которые определяют направление развития.

Принцип первый («концептуальный”): умный дом – это не только (и не столько) «железо”.

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

Принцип второй («приземлённый”): взаимодействие элементов системы строим на HTTP-протоколе.

Во-первых, наличие сети дома не является чем-то «из ряда вон” – Ethernet/Wi-Fi прост в развёртывании, гибок в настройке, и, во многих случаях, оно уже есть в наличии. Во-вторых, HTTP-доступ встраивается во всё большее количество устройств – от специфичных контроллеров до сетевых камер, не говоря уже о наличии HTTP-API протоколов во многих приложениях и сервисах. Кстати, этот принцип не исключает интеграцию зоопарка специфичных протоколов и устройств, но только через вспомогательные программные либо аппаратные контроллеры. В рамках этого принципа стоит сказать о внутреннем мире системы – она работает на базе веб-сервера и интерфейсом пользователя является веб-сайт, так что получить доступ к управлению можно с любого устройства, имеющего веб-браузер.

Принцип третий («гибкость в интеграции”): глубина интеграции системы определяется потребностями пользователя (ну и степенью доверия к системе).

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

Принцип четвёртый («лёгкость на подъём”): систему должно быть легко установить, чтобы посмотреть и что-то попробовать.

Установка на Windows-компьютер не сложнее установки любого другого приложения. Для Linux-системы не сложнее поднятия сайта на локальном веб-сервере. Не нужно вообще никакого «железа” — можно пользоваться инфо-приложениями и программировать реакцию на данные из интернета.

Но отвлечёмся от теории и перейдём к практике 🙂

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

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

В качестве головного устройства используется обычный PC под управлением MS Windows, однако система может быть установлена и на Linux-компьютер – потребуется некоторая адаптация, но в целом почти всё работает одинаково на обоих системах прямо «из коробки”. В качестве платформы используется веб-сервер Apache, база данных MySQL и, уже упомянутый, PHP. Большая часть функционала исполняется через веб-сервер, но дополнительно запускается так называемый скрипт основного цикла – от отвечает за запуск задач по таймерам.

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

Первоначально базовым аппаратным модулем для общения с внешним миром являлся контроллер Arduino с Ethernet shield-ом на «борту” и подключенными к нему датчиками. Контроллер подключен к домашней сети и его задача инициировать HTTP-запросы к центральной системе при изменениях значений датчиков. Другой вариант прошивки контроллера позволял использовать его как устройство управление реле через встроенный web-сервер. Таких контроллеров может быть сколько угодно. Позже был сделан программный адаптер, позволяющий использовать Arduino без ethernet, а подключенный напрямую к компьютеру по USB. Принципиальный схемы контроллера и исходный код прошивок так же доступен на сайте проекта.

Кроме Arduino в систему была встроена поддержка контроллера 1-wire сети. В данном случае система умеет общаться с сетью через модуль OWFS, который сам по себе кросс-платформенный и отвечает за взаимодействие непосредственно с «железом”.

Из дополнительной периферии можно отметить Bluetooth-адаптер, задача которого в сканировании MAC-адресов имеющихся в эфире устройств.

Про Ethernet-сеть, WiFi и настройку доступа из-вне я здесь останавливаться не буду – это отдельная тема и по ней можно найти много информации.

В общем-то и всё. Дальнейшее развитие поддержки «железных” протоколов будет осуществляться по мере необходимости 🙂

Планов море! 🙂 Во-первых, с увеличением числа людей, пробующих систему у себя, всплывают ошибки и пожелания – что, в общем, хорошо. По возможности эти запросы будут закрываться.

Далее, будет доведена до ума мульти-язычность интерфейса – это уже заложено, но пока интерфейс смешанный: что-то на русском, что-то на английском, а что-то вовсе под интересными псевдонимами типа «SCRIPT_DESCRIPTION”.

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

Есть некоторые заделы по развитию системы в сторону реакции на шаблоны поведения пользователей, когда будут автоматически выделяться последовательности событий и предлагаться их автоматизировать (если система «видит”, что утром, выходя из спальни, я прохожу через коридор и включаю свет в ванной, и это повторяется NN раз, то почему бы не предложить эту последовательность использовать – например, включая свет автоматически, либо использовать эту последовательность для дополнительного действия – включения кофеварки). Но это ещё только предмет изысканий.

Статья вышла скорее обзорной, нежели технической. Пожалуй, она таковой и задумывалась.

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

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

Majordomo умный дом

Умный дом. Скачать бесплатную программу для домашней автоматизации MajorDoMo.

Подробности Просмотров: 13347

Живя в условиях постоянного развития компьютерных технологий и кибернетики, невольно слышишь то здесь, то там о системах автоматизации или попросту – Умном Доме. Умный дом – это некий кибернетический организм, напичканный электроникой и высокотехнологической начинкой. Так думают многие. И многие знают, что Умный дом реагирует на любую прихоть хозяина. И это так!

Фактически Умный дом – это система домашней автоматизации процессов и домашней техники. Но где же берется «Сердце и Мозг» данной системы? Как раз компьютерная программа в спайке с компьютерным модулем может запросто справиться с поставленными задачами.

Вашему вниманию предоставлена бесплатная система автоматизации MajorDoMo или Major Domestic Module, что в переводе звучит как Главный Домашний Модуль. Действительно, программа MajorDoMo является бесплатной программой для полноценного управления автоматикой в доме, а также для информационного отражения текущего состояния всей системы. Разработчик MajorDoMo утверждает, что программа абсолютна не требовательна к «железу» и поэтому может быть установлена на ПК любой мощности.

При этом, программа Умный Дом MajorDoMo может работать в среде Windows или Linux.

Для того, чтобы установить бесплатную программу MajorDoMo, необходимо скачать установочный файл (ссылки ниже) и запустить его на ПК. Рекомендуется не менять предложенный путь для установки: c:\_majordomo. Почему? Потому, что в некоторых файла программы пути жестко прописаны и не меняются во время установки. Если же вы решили все-таки изменить путь установки, то необходимо во всех файлах вручную изменить путь по умолчанию на путь, который вы указали во время установки. Далее, запустите программу MajorDoMo.

При запуске программы последовательность команд осуществляется в порядке, описанном в файле: c:\_majordomo\start.bat.

Инструкции по работе с программой MajorDoMo вы сможете найти здесь.

Источники:
Открытая система управления “умным домом” MajorDoMo — Часть 1
Открытая система управления “умным домом” MajorDoMo, постройте свой умный дом самостоятельно.
http://www.1wire.com.ua/smart-home/otkritaja-sistema-majordomo.html
Умный дом
Умный дом. Скачать бесплатную программу для домашней автоматизации MajorDoMo.
http://freedigest.net/prochee/dlya-windows/prochee/umnyj-dom-skachat-besplatnuyu-programmu-dlya-domashnej-avtomatizatsii-majordomo

COMMENTS