Majordomo установка orange pi

Majordomo установка orange pi

Скрипт установки системы MajorDoMo рассчитан на операционные системы с менеджером пакетов apt, таких как Ubuntu, Debian, Mint и на их основе, Armbian, Raspbian, на платформы как ARM так и x86.

Установка сводиться к скачиванию скрипта с github и запуска его с параметрами из терминала.

Для установки скрипта у Вас должна быть установлена система Linux и вы должны видеть командную строку терминала. Данная статья не описывает установку операционной системы Linux, только использование скрипта. перед установкой обновите пакеты введя команды:

если Вы уже устанавливали скриптом и он у Вас скачан, то надо сначала удалить старый скрипт командой

скачиваем скрипт командой

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

Устанавливаем систему MajorDoMo

скрипт запускать под суперпользователем, если вошли под простым пользователем, то введите:

и введите пароль

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

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

Больше нигде паролей вводить не надо, в зависимости от версии mysql может выйти запрос паролей ещё раз, в этом случае оставьте поле пустым и нажмите продолжить. Осталось дождаться завершения работы скрипта, при завершении Вы увидите

осталось перезапустить систему командой

На этом установка системы MajorDoMo окончена, можно зайти через браузер по адресу: http://md.lan

доступ по ssh можно не по айпи адресу а по имени md.lan, порт 22

Установлен так же vlc ower http, который доступен на порту 7070 пароль для входа 12345

Установка phpMyAdmin

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

зайти в phpMyAdmin можно по адресу http://md.lan/phpmyadmin/

по умолчанию вход пользователем root в phpmyadmin запрещено, чтобы войти используйте пользователя pi

Установка Java, установка и обновление сервера Blynk

Сервер Blynk не работает без установленной Java 8 или 9, скрипт устанавливает java версии 8, для установки java выполните в консоли:

для установки или обновления до последней версии Blynk сервера выполните в консоли

перезагрузите компьютер, для настройки зайдите в браузере по адресу: https://md.lan:9443/admin
имя пользователя admin@blynk.cc пароль admin

Оптимизация работы с картой памяти

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

Установка расширенной конфигурации.

Расширенная конфигурация представляет собой базовую конфигурацию с добавлением сцен, выключателей, некоторых скриптов и удалением некоторых элементов. Так же при установки расширенной конфигурации в mysql отключается использование таблиц innodb, это сделано для уменьшения размера файлов баз данных. Расширенная конфигурация предназначена для ознакомления, проверки звука и построения своей конфигурации. Для установки расширенной конфигурации выполните:

Если Вы будете загружать свою конфигурацию поверх расширенной, то сначала в архиве с своей конфигурацией отредактируйте файл dump.sql и замените все innodb на MyISAM либо отредактируйте конфигурационный файл mysql, обычно файл находиться тут: /etc/mysql/mariadb.conf.d/50-server.cnf, в конце файла закоментируйте строку innodb=OFF приведя к виду

перезагрузите систему и загрузите свою конфигурацию средствами MajorDoMo

Подключение часов реального времени DS3231

Подключаем часы реального времени DS3231 к порту i2c и включаем в настройках оборудования порт i2c-0, после чего выполните в консоли команду:

Решение возможных проблем.

Нет звука

Проблема замечена на Armbian OrangePi Zero и OrangePi plus 2E, возможно и на других платах.

Возможная причина в том, что в конфигурации не включен analog-codec, для его включения в консоли запустите armbian-config, выберете System — Hardware и установите галочку напротив analog-codec

сохраните и перезагрузитесь. Должно появиться аудиоустройство

если галочка analog-codec стоит, но аудиоустройство не появилось то добавьте в файл /etc/modules добавляем строки

и перезагружаемся, аудиоустройство должно появиться.

Дальше страницы с выбором языка не идет.

Причина в том, что mysql не запустился, это связано с тем, что при запуске системы база данных копируется в раздел tmp и mysql запускается когда базы ещё не скопировались в следствии чего mysql не может запуститься. Раскоментируйте строку в /etc/rc.local с запуском mysql

После пропадания питания не сохраняются данные, сбрасывается на дефолтную конфигурацию

причина в том, что время получает позже старта системы и из-за этого восстанавливается самый близкий к текущему в системе времени, до получения времени с интернета текущее время 1970 год.

вар 1 (предпочтительнее): установить и настроить i2c часы ds3231 как написано выше

вар 2: отключаем автозапуск mysql:

в строке запуска mysql в /etc/rc.local сделем паузу запуска в 90 секунд.

вар 3: в папке /var/www создаем файл prov и сделаем его исполняемым

файл со следующим содержимым.

в rc.local добавляем перед exit 0

в свойствах делаем оригинальное свойство, у меня называется proverkabase

делаем бэкап последней версии базы данных и распаковываем файл dump.sql в /var/www

Установка на Intel Edison

Устанавливаем на Intel Edison JubiLinux, вставляем карту памяти или USB флэшку (так как размер встроенной памяти мал часть системы будем ставить на внешний носитель). Носитель должен определиться как /dev/sda1 , проверяем командой

форматируем в ext4

создаем папку, монтируем раздел флэшки и копируем

добавить в /etc/fstab после /dev/root

последнюю строку исправить и привести к виду

после этого можно приступить к установке.

Обсуждение статьи на форуме и в чате telegam.

41 thoughts on — Установка на чистую RaspberryPi, OrangePi, Asus tinker board и т.п. (скрипт)

Добрый день. Не совсем понятно начало установки на RaspberryPi. Вы пишите: «Скачаем образ Armbian с сайта под Вашу плату». Перехожу по ссылке и не могу наяти там свою плату RaspberryPi2.
Может быть плохо ищу?

нет под RaspberryPi2 Armbian, воспользуйтесь другим дистрибутивом для Вашей платы, скрипт работает с дистрибутивами на базе Ubuntu/Debian

Скрипт вроде как установился на Orange Pi Zero, но в интерфейсе дальше страницы Hello, world! 🙂 не идет. Ни выбор языка ни выбор темы не происходит, кнопка Continue>>> активна, но возвращает на эту же страницу (((

Предлагаю внести в скрипт установку RHVoice (его вроде нет в дереве репозиториев, его отдельно приходится скачивать и ставить, тоже гемор) и установку MotionEye — очень неплохая прога для видеонаблюдения (можно сказать, практически единственная под линь).

motioneye нафик с ее тормозами, когда есть rpi-webcam-interface

а базу надо потом создавать?

нет, всё создает скрипт.

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

Читайте также:  Ошибка 432 uninstallshield при установке игры

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

странно, а что пишет?

привет всем!установил все по этому скрипту и не работает. Открывается
код страницы, устанавливал на чистую Raspberry.

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

Первый раз у меня все работало. Переустановил туже систему и все, каюк, мучаюсь 5 день. Система
Raspbian Stretch with desktop. 29-11-17. Еще в linux я профан((. Может обновить какие то библиотеки?

Выкрутился из положения может кому понадобится: на форуме https://majordomo.smartliving.ru/forum/viewtopic.php?f=3&t=3490&start=10#p41896 установил скриптsudo apt-get install phpmyadmin apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php libapache2-mod-php7.0 php7.0-bz2 php7.0-cli php7.0-common php7.0-curl php7.0-gd php7.0-json php7.0-mbstring php7.0-mcrypt php7.0-mysql php7.0-opcache php7.0-readline php7.0-xml так как не установилась папка PHP, затем сделал все исправления в файлах как описано в форуме. Вот и все. Удачи всем.

Can’t find a ‘mysql’ client in PATH or ./bin
что это может быть?
подскажите пожалуйста.

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

Поместите nameserver 8.8.8.8 в первую строку /etc/resolv.conf

Доброго дня.
Скажите, а на OPi One должно становиться?
Имею проблему с постоянным Hello World. Так понимаю, что с настройкой базы данных что-то не так? Что надо сделать?
Спасибо.

У меня та же проблема на Orange Pi Zero ((

Установка на OrangePiPlus2. Без бубина конечно не обошлось. Временно отказался от переноса на HDD, из за бубина(((
Выяснил: «Hello World» и далее ничего((( конечно причина в не старте базы. Увеличение паузы не спасало (, Отказался от оптимизации CD. MD стартует.
Имею проблемы:
Нет доступа к «Панели управления» [./admin.php], возвращает на «Главную страницу [./index.php]. Уже сломал себе голову(((
Нет доступа по poot к . /phpmyadmin неверный пароль (тот что вводился по мануалу). По “pi” вход есть. Похоже косяк в скрипте.
Прошу подсказки.

Абсолютно аналогично все. Видимо действительно проблема в скрипте.

на orange pi pc с сервером дебиан на абрахам не катит

В строке 41 25 символ некорректный. u вместо a.

в каком месте строки считать? В каком хоть слове?))

У меня при установке доходит момента установки mariadb и дальше вот это:
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2 «No such file or directory»)
Enter current password for root (enter for none):
ERROR 2002 (HY000): Can’t connect to local MySQL server through

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (2800

Читайте также:  Дистив il 10 отзывы фильтрующая установка

ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
Enter current password for root (enter for none):
ERROR 1698 (2800

Источник



Легкая Установка умного дома MajorDoMo на Raspbperry PI

Построение собственной системы умного дома занятие не одного дня. Посидев на Domoticz продолжительное время захотелось попробовать что-то новенькое.

Смотрел в сторону HomeAssistant, но там ситуация аналогичная Domoticz — жизнь в командной строке и постоянный поиск и фикс багов. Поэтому свой выбор остановил на MajorDoMo.

Главная отличительная особенность этой системы умного дома — это наличие русскоязычной поддержки с достаточно подробными мануалами. Будем тестировать.

Шаг 1. Установка MajorDoMo

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

  • Встроенный RHVoice — движок голоса
  • Оптимизация циклов записи БД на флеш карту
  • Вывод звукового сопровождения через сервис
  • Поддержка MQTT через Mosquitto
  • Мониторинг системы — Netdata
  • Поддержка Apple HomeKit через HomeBridge
  • Предустановленные: PHP, Python, NodeJS, Perl

Приступим. Задача юзера сводится к скачиванию готового архива и его распаковке на карту памяти утилитой.

  1. Распаковываем архив, в нем образ .img. Его содержимое помещаем в корень флеш накопителя утилитой Win32DiskImager. Cтавим накопитель в малину. Флешку рекомендую выбирать не менее 16 гигов и нормального производителя. Как минимум не Китайский ноунейм или паленку. От скорости чтения/записи флеш сильно будет зависеть стабильность системы и скорость выполнения всех операций.
  2. Ставим готовую флешку в Raspberry PI. Подключаем кабель Ethernet, блок питания и ждем старта системы. Предварительно выдаем на сетевом оборудовании статический адрес на малинку для упрощения дальнейшей работы.
  3. Вводим в любом браузере IP адрес Raspberry PI в главное меню MajorDoMo. Полная загрузка системы происходит примерно за 30 секунд. Если зашли раньше можем наблюдать, предупреждения что не все компоненты работают корректно.

Главное меню Majordomo после старта системы

Шаг 2. Обновление и Настройка системы

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

общие настройки MajorDoMo

Вкладка Общие:

Computer’s name: Задаем имя своему умному дому. По умолчанию Алиса.

Time zone: Ставим свой часовой пояс.

Color theme: Меняем тему оформления по вкусу. Темная/Светлая.

Вкладка Приложения -> Погода от OpenWeatherMap.org:

Ищем вкладку настройки. Получаем на погодном сервисе API ключ и вносим его в настройках, меняем город. Сохраняем настройки.

К сожалению у меня сразу посыпались ошибки. Пришлось обновить модуль до последней версии на вкладке Система — > Маркет дополнений. После апдейта пришлось заново добавить все данные и погода завелась без ошибок.

Источник

Majordomo установка orange pi

MajorDoMo — бесплатная платформа для создания умного дома, мощная и гибкая, поддерживающая самое разное оборудование. Платформа написана на PHP, работает через веб сервер и хранит данные на сервере MySQL. Все это подразумевает работу на выделенном сервере.

Первым делом поднял MajorDoMo на одноплатном компьютере Orange PI PC. Для запуска шлюзов с различными устройствами заказал изготовление платки шилда.

000

В стандартном образе MajorDoMo для Orane PI и Raspberry PI с целью уменьшения количества операций записи на карту памяти и увеличения времени ее жизни БД запускалась на RAMDISK с сохранением дампа на карту памяти раз в несколько минут.

Несколько месяцев эксплуатации выявило ряд проблем:

  1. Самое страшное — сбои питания. Теряются данные, теряются конфигурации. Пару раз таблицы базы данных были повреждены и БД завелась только с бэкапа.
  2. Регулярный бэкап и логгирование (включенные по умолчанию) очень быстро приводили к переполнению карточки памяти 16Гб
  3. Объем базы данных стремительно приближался к критическому в рамках RAMDISK, что постоянно требовало чистки исторических данных (пусть и готовыми скриптами), что на этапе отладке было не очень хорошо
  4. Несколько раз зависал сервис Mysensors MYSGW

Подключение внешнего жесткого диска сняло часть проблем. Но от сбоев по питанию спасло не до конца. К тому же пару раз видимо не хватило питания на внешнего и сервер уходил в зависание. Да и скорость по USB2 для жесткого диска — совсем не кайф. Уже почти собрал мощный БП с бесперебойником на 5В, но тут в руки попался старый ноутбук SAMSUNG NS110.

Характеристики — процессор Intel Atom N455 1.66Гц, память 2Гб DDR3, жесткий диск SATA 320Гб, встроенный Ethernet 100TX и WiFi и еще живая батарея, самое то для моих задач. Да и консоль для установки и настройки есть.

Загрузил Debian 9.5 Net Install образ на флэшку — LINUX встал с нее пол пинка. MajorDoMo установил при помощи инсталляционного скрипта. В конце скрипта только убрал настройку базы данных на RAMDISK

install

Mysensors Gateway

Собрал уже довольно много устройств Mysensors на NRF24L01. Если Orange Pi PC позволял подключать NRF24 через SPI интерфейс напрямую, то для нетбука пришлось собирать Mesensors Serial Gateway из Arduino NANO

    — $2 — $1.89 (вполне хватает для данной задачи) — $1.88

Кроме собственно Arduino NANO и NRF24L01 в схему добавлены три светодиода, которые обрабатываются библиотекой MySensors — RX, TX и ERROR

%d1%81%d1%85%d0%b5%d0%bc%d0%b0

На проводах собирать устройства, тем более выполняющие серверную роль — некошерно, поэтому делаю платку:

Читайте также:  Установка газового оборудования нижний тагил

Источник

Софт MajorDoMo для организации Умного дома

Оглавление статьи: Софт MajorDoMo для организации Умного дома

Если еще несколько лет назад фраза «умный дом» звучала как что-то фантастическое, дорогое и недоступное, то сегодня все больше людей оснащают свои жилища смарт-устройствами и комплексами. Существуют различные подходы к организации интеллектуального домашнего хозяйства, отличающиеся протоколами, программными оболочками и нюансами настройки. Обычно сборка и конфигурирование такой системы требует определенных специальных познаний в IT, но некоторые разработчики предлагают готовые решения для построения «умного дома». Одно из таких решений — open-source проект MajorDoMo.

Логотип

Что это такое

Majordomo — свободно распространяемая кроссплатформенная программа, предоставляющая все необходимы инструменты для организации смарт-жилища:

  • серверную часть;
  • плагины для различного оборудования;
  • поддержку сценариев;
  • работу с разнообразными существующими протоколами обмена данными.

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

Таким образом, MajorDoMo — сервер «умного дома» обеспечивающий согласованную работу прочих его компонентов. Он может быть установлен как на обычный ПК, так и ноутбук или поддерживаемый микрокомпьютер (например, Raspberry Pi, Arduino и прочие). Программа получает данные от сопряженных с ней датчиков и отдает заданные владельцем команды, исполняемые конечными устройствами и контроллерами.

MajorDoMo

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

Логические компоненты

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

Объекты

В терминологии ПО объект представляет собой физический контроллер с обратной связью, обеспечивающий взаимодействие между сервером и управляемым контроллером датчиком. Таким устройством может являться и самостоятельно собранный прибор, и заводской. Умный дом «Мажордомо» поддерживает множество основных протоколов smart home:

  • Z-Wave;
  • Zigbee.
  • MQTT;
  • Broadlink, и прочие.

контроллер

Классы

Следующая сущность в экосистеме рассматриваемого ПО — класс. В нем объединены однотипные объекты. Например, это может быть класс устройств «выключатели» с двумя состояниями (вкл/выкл) и методами «включить» и «выключить». Или «датчики движения», чье состояние изменяется по детекции перемещения в зоне действия.

Система позволяет создавать и подклассы оборудования: например, в классе выключателей добавляются меняющие яркость или цвет освещения контроллеры.

Свойства

Каждый элемент «умного дома» обладает собственным состоянием, которое он возвращает контроллеру и в MajorDoMo. Это состояние и называется свойством объекта. Его можно не только получать, но и отправлять на устройство, которое обработает команду и вернет некий заданный результат (например, пользователь задаст кондиционеру уровень поддерживаемой температуры, а прибор перейдет в соответствующий режим работы).

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

Методы

В логике «Мажордомо» метод — некоторое управляющее действие, команда, принятая и обработанная устройством/датчиком.

Функции и возможности

Платформа MajorDoMo — полноценное и весьма мощное решение для хаба «умного дома». Мощь заключена в модульности системы: все используемые объекты заводятся в виде плагинов. Пользователю не придется разбираться в коде, тонкостях протоколов взаимодействия и сопряжения контроллеров и датчиков, если для них написан модуль, все будет работать, конфигурироваться, мониториться и управляться из единого интерфейса. Сложность возникнет лишь в случае, если готового решения нет: тогда понадобится или учиться языку PHP, или привлекать специалистов.

Умный дом

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

Электронный «мажордом» способен управлять многочисленными умными устройствами:

  • розетками;
  • лампами;
  • бытовой техникой;
  • домашним мультимедиа;
  • кондиционерами;
  • отопительными системами;
  • охранными комплексами;
  • инженерным и сантехническим оборудованием, и так далее.

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

Электронный мажордом

Интересна добавленная разработчиками функция интеграции с помощником «Алиса» от Яндекса. С ее помощью можно осуществлять голосовое управление компонентами смарт-дома и выполнять другие действия.

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

алгоритм

Комплекс наверняка станет интересен начинающим и продвинутым программистам. Разработка ПО под MajorDoMo не отличается высоким порогом входа, необходимо лишь обладать пониманием языка PHP и некоторых смежных дисциплин (таких, как JS, CSS). С них и следует начинать осваивающим разработку под эту платформу джуниор-кодерам.

Установка

Аппаратная часть

Прежде, чем начать развертывание, следует подобрать оборудование для системы. Под «Мажордомо» допустимо использовать практически любой не очень старый компьютер или ноутбук. Но, как правило, при реализации смарт-дома используют одноплатные миникомпьютеры: они бесшумны, надежны, дешевы и достаточно производительны

Для этой задачи хорошо подходят платы Raspberry Pi 2/3, на примере которых мы далее рассмотрим основные моменты установки и конфигурирования.

плата Raspberry Pi

Развертывание программы

Версии ПО существуют и под Windows, и для Linux. Неискушенному пользователю стоит выбрать Windows-вариант, поскольку он проще в настройке и конфигурации. В рамках данной статьи мы приведем базовые шаги в случае с Linux и RPI.

Развертывание программы

Win-версия устанавливается как обычное приложение. Для RPI разработчики создали и поддерживают специально собранный образ, доступный на странице https://mjdm.ru/skachat-majordomo/:

образ

Существует возможность развертывания и с нуля на «чистый» Raspbian (или другую версию Linux). Для этого необходимо присутствие в ОС:

  • сервера базы данных MySQL (MariaDB);
  • веб-сервера, например, Apache;
  • интерпретатора php с некоторыми модулями и оболочки PhpMyAdmin.

Установка MajorDoMo и его тонкая настройка подробно описаны в официальной документации к Windows- и Linux-вариантам. Энтузиасты также создали скрипт автоматизации, который развертывает весь программный комплекс самостоятельно. Получить его и запустить инсталляцию можно следующими командами:

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

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

в командной строке

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

Иных действий не понадобится. После завершения работы скрипта будет выдано сообщение «Готово».

Готово

На этом этапе следует перезагрузить компьютер, после чего интерфейс умного дома MajorDoMo станет доступен для настройки через браузер по IP-адресу или имени узла md.lan. Имеется также доступ по протоколу SSH и проброс vlc over http.

Пример главной страницы:

Пример главной страницы

Дополнительно потребуется установить PhpMyAdmin:

А также Java и сервер Blynk (нужен для разработки и функционирования приложений на iOS/Android).

./installmd -j
./installmd -b

Для добавления расширенной конфигурации выполняется команда:

Она дополняет базовую поставку некоторыми скриптами, сценами и элементами, а также оптимизирует работу с базой.

После этого можно приступать к тонкой настройке и сопряжению с периферией.

Заключение

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

  • бесплатность;
  • модульность;
  • широкий набор возможностей;
  • нетребовательность к аппаратным ресурсам;
  • простая кастомизация и доработка благодаря языку PHP.

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

Источник

Adblock
detector