Статья

"Бомж" Умный дом, подбор и установка ПО для центрального хаба. Часть 2

"Бомж" Умный дом, подбор комплектующих. Часть 1

Начнем с настройки самого главного - центра управления нашего умного дома. Для наших целей подойдет малинка апельсинка. Что внутри? Процессор H2 Quad-core Cortex-A7 H.265/HEVC 1080P, Mali400MP2 GPU @600MHz, этого для нас более чем достаточно. 

Установка Armbian

Итак, для начала нам нужно скачать образ операционной системы, мы будем использовать Armbian, я выбрал на базе Debian. Заливать ее будем с помощью утилиты Etcher. После заливки образа подключаем апельсинку к роутеру по LAN, открываем программу "терминал" и логинимся командой  ssh root@<ip апельсинки, который можно найти в настройках роутера> с паролем 1234, проходим первоначальную настройку: смену пароля root, создание нового пользователя, далее вводим команду

sudo armbian-config

Настраиваем точку доступа через меню - тут все просто, процесс до безобразия автоматизирован. Если не планируется использование нашего хаба как точки доступа Wi-Fi, этот шаг можно пропустить. 

Установка Domoticz

В качестве системы управления умным домом я выбрал Domoticz - простой и удобный инструмент для домашней автоматизации. Устанавливаем.

sudo apt update && sudo apt upgrade sudo apt install libusb-dev libpython3-dev sudo curl -L install.domoticz.com | sudo bash

Добавляем Domoticz как системную службу для автоматической загрузки при старте системы. Для этого создаем файл командой:

sudo nano /etc/systemd/system/domoticz.service

Вставляем текст, отредактировав пользователя, от имени которого будет запускаться domoticz сервер, путь к исполняемому файлу и рабочую папку. 

[Unit] Description=domoticz_service [Service] User=smarthomeless Group=1000 ExecStart=/home/smarthomeless/domoticz/domoticz -www 8080 -sslwww 2400 WorkingDirectory=/home/smarthomeless/domoticz CapabilityBoundingSet=CAP_NET_BIND_SERVICE Restart=on-failure RestartSec=1m #StandardOutput=null [Install] WantedBy=multi-user.target

Сохраняем файл, вводим в консоли следующие команды для включения нашей службы:

systemctl daemon-reload systemctl enable domoticz.service systemctl start domoticz.service

Если все прошло успешно, то из нашего браузера на нас с надеждой будет смотреть только что установленный domoticz сервер. Подробно расписывать первичную настройку рассмотрим при добавлении датчиков. 

Что нам еще понадобиться? Умные устройства должны перешептыватся между собой, для этого они используют MQTT брокер, установим его на нашу апельсинку.

Установка MQTT брокера Mosquitto

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ wget http://repo.mosquitto.org/debian/mosquitto-stretch.list sudo apt update sudo apt install mosquitto mosquitto-clients sudo /etc/init.d/mosquitto stop sudo nano /etc/mosquitto/mosquitto.conf

Заменяем содержимое файла на:

# Place your local configuration in /etc/mosquitto/conf.d/ # # A full description of the configuration file is at # /usr/share/doc/mosquitto/examples/mosquitto.conf.example pid_file /var/run/mosquitto.pid persistence true persistence_location /var/lib/mosquitto/ log_dest topic log_type error log_type warning log_type notice log_type information connection_messages true log_timestamp true include_dir /etc/mosquitto/conf.d

сохраняем файл и снова запускаем москитов )

sudo /etc/init.d/mosquitto start

Что нам еще для счастья надо? Апельсинка будет выполнять роль умной колонки как части мультимедиа системы. И кончено же мы хотим использовать ее для потокового вещания музыки с нашего iPhone посредством протокола AirPlay. Для этого будем использовать наработки проекта shairpoint-sync. Приступим к установке. 

cd /home/smarthomeless sudo apt install build-essential git xmltoman autoconf automake libtool libdaemon-dev libpopt-dev libconfig-dev libasound2-dev libpulse-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev git clone https://github.com/mikebrady/shairport-sync.git cd shairport-sync autoreconf -i -f./configure --sysconfdir=/etc --with-alsa --with-pa --with-pipe --with-avahi --with-ssl=openssl --with-metadata --with-soxr --with-systemd make sudo make install sudo systemctl enable shairport-sync.service sudo service shairport-sync start

Все! Теперь наша апельсинка стала представляться устройствам на базе iOS как беспроводная колонка с поддержкой AirPlay, неплохо, да? Файл конфигурации находится здесь -> /etc/shairport-sync.conf Он хороша задокументирован, при необходимости можно изменить отображаемое имя нашей колонки и другие параметры. Что еще нам понадобится? Засыпать и просыпаться под звуки океана? Чтобы наш умный дом встречал нас вечером мягким джазом? Легко! Устанавливаем MPD (music player daemon) - музыкальный проигрыватель с клиент-серверной архитектурой, воспроизводящий музыку. Принцип работы заключается в запуске собственно плеера на сервере и управлении им при помощи консольного клиента. С помощью этой технологии можно организовать дома мультрум, однако для этого понадобится больше, чем одна апельсинка :) 

sudo apt install mpd mpc

Редактируем файл настроек:

sudo nano /etc/mpd.conf

Здесь нужно заменить пути размещения плейлистов и паки музыки. Для загрузки файлов будем использовать FTP сервер:

sudo apt install vsftpd sudo nano /etc/vsftpd.conf

Подправим его немного.

anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES

Для доступа к системе можно использовать утилиту cyberduck. На этом пока все, продолжение следует. 

One more thing...

Прикрепляю уже установленный и настроенный образ системы для Orange Pi Zero. Осторожно, спойлер! Система в образе настроена уже немного дальше, чем в данной статье, содержит материалы, который выйдут на этом ресурсе немного позже. 




отличное продолжение, жду конфигурирования конечных устройств.

Спасибо за инфу и за потраченное время, полезная инфа) Ещё бы всё это на ХА заводить, как на одной из самых развивающейся платформе - вообще было бы огонь)

Присматриваюсь к ХА, останавливает пока только одно - необходимость переписывать кучу тонко настроенных под меня скриптов. 

Интересно, а почему был выбран именно Domoticz. Мне, как начинающему строить нечто похожее на умный дом, он как  то не приглянулся. Был снесен и установлен Home Assistant. с которым сейчас разбираюсь. В принципе мне всего то нужно мониторить температуру и влажность в двух этажном доме, погодозависимое управление  газовым котлом, и как бонус, график колебаний атмосферного давления. В качестве датчиков ESP и Sonoff со сторонней прошивкой. 

Domoticz выбран из-за его простого, но в тоже время гибкого языка скриптов DzVents, заточенного специально под систему управления умным домом. В принципе все изложенные идеи могут быть реализованы и на другой платформе управления УД. 

Подскажите, а как реализовано у Вас погодозависимое управление?

Хорошая статья.
airplay2 интересно поддерживается?
На малину такое можно накатить?

На малину конечно можно, вышеописанная инструкция установки тоже подойдёт. Однако там аудио не очень, лучше поставить внешнюю звуковую usb карту. AirPlay2 к сожалению пока не завезли, видимо из-за шифрования протокола. 

А какой пароль для доступа через ssh для скаченного образа системы?)

Попробуй smarthomeless

попробовал с логином root и pi - не подходит :( посмотри, пожалуйста - может, найдется верный пароль? Буду оч признателен!

Попробуй с логином smarthomeless

Да, получилось зайти под юзером smarthomeless

Спасибо!

Антон, еще вопрос: с чем может быть связано отсутствие сети wi-fi в nmtui твоем дистрибутиве? То есть он видит только LAN-подключение.

Я эту проблему как-то решил весной, там было что-то с модулем – то ли драйвера полетели, то ли что-то другое. И на полгода стал счастливым обладателем air-play колонки. А в этот раз чет тонну инфы перекопал и не нашел решения(((

Задача: подключить orange pi к wi-fi сети. Буду рад любым подсказкам/советам/наводкам.


P.S. На чистом Armbian подключается через nmtui к wi-fi без проблем.

А Orange PI какой? Я этот дистрибутив собирал для Orange PI Zero, поэтому если железо отличается, то вполне могут быть проблемы с драйверами. Если на свежем дистрибутиве все подключается без проблем, тогда проще на него просто поставить https://github.com/mikebrady/shairport-sync">Shairport Sync и настроить все как в описании. 



Вернуться назад

Устройства


Raspberry Pi

Raspberry Pi 4

(16 отзывов)

Вернуться назад