Уровень сложности
Простой
Время на прочтение
11 мин
Количество просмотров 24K
В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).
В настоящее время умные дома становятся все более популярными среди потребителей. Это связано с быстро развивающейся технологией, которая позволяет создавать устройства и системы, способные управлять различными аспектами жизни в доме, такими как освещение, отопление, кондиционирование воздуха, безопасность и развлечения. Кроме того, умные дома позволяют сократить расходы на энергию и повысить уровень комфорта и удобства жизни.
В данной статье мы поговорим о том, как создать умный дом на платформе Home Assistant. Home Assistant — это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.
Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.
Нам потребуется компьютер или ноутбук с 512+ Мб ОЗУ
Если ваш компьютер или ноутбук имеет 64-битный процессор, установка Home Assistant значительно упрощается, так как подробная инструкция доступна на официальном сайте.
Однако, если у вас есть устройство с 32-битным процессором и архитектурой i386, то установка аддонов для работы с внешними датчиками может быть сложной из-за отсутствия официальной поддержки. Однако, не отчаивайтесь, поскольку в этой статье мы рассмотрим способы установки на такие устройства. (Важно отметить, что эти методы также могут быть применены на 64-битных системах, но они сложнее официальных в реализации).
1. Установка системы
Для сервера умного дома подойдет практически любой дистрибутив Linux, но рекомендуется Debian. В данной статье буду использовать сам Debian.
Начнем с установки. Этот процесс одинаков практически для любой системы.
-
Скачайте последнюю версию ISO.
Я выбрал образ «Small», так как он включает большинство файлов в образ, что требует меньше загрузки в процессе установки. -
Скачайте Balena Etcher, инструмент для записи ISO-образов на USB-накопитель. Если вы работаете в системе linux, вместо этого можно использовать dd.
-
Подключите загруженный USB-накопитель к системе и загрузитесь с USB.
-
Следуйте процессу установки.
Большая часть процесса — это следование настройкам по умолчанию и просто нажатие кнопки Continue.Не забудьте ввести учетные данные для пользователя root и пользователя, не являющегося администратором.
Если вы планируете использовать компьютер только для умного дома, убедитесь, что вы не устанавливаете графический интерфейс пользователя (GUI), и обязательно установите SSH-сервер.
-
После завершения установки войдите в систему по SSH, либо напрямую с пк, используя учетные данные обычного пользователя (не рут).
2. Установка Docker и Docker Compose
Несмотря на то, что Docker и Docker engine официально не поддерживают 32-битные системы, его можно установить, воспользовавшись данным репозиторием на GitLab:
wget https://gitlab.com/docker-32bit/debian/raw/i386/build-image.sh
sudo bash build-image.sh
Docker Compose можно установить командой:
sudo apt install docker-compose
3. (опционально) Установка Portainer
Portainer может пригодиться для более удобного управления будущими Docker-контейнерами.
Для установки Portainer создадим конфигурационный файл docker-compose.yaml:
cd /opt
sudo nano docker-compose.yaml
Не забудьте обновить часовой пояс в конфигурации ниже.
Кроме того, я храню весь свой конфиг Docker и тома в этой папке. Это облегчает резервное копирование. Эти тома будут хранить данные из образа Docker локально, чтобы данные не терялись при пересборке контейнера (например, при обновлении) /opt
Здесь мы передаем файл, содержащий наши локальные настройки времени, чтобы Portainer знал, который сейчас час (для временных меток журнала), а также сокет, управляющий Docker, чтобы Portainer мог выполнять действия в Docker.
version: '3.0'
services:
portainer:
container_name: portainer
image: bigbugcc/portainer-ce
restart: unless-stopped
ports:
- "9000:9000/tcp"
- "9443:9443/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
- /opt/portainer/data:/data
Разрешения
Мы также разрешим нашему пользователю, не являющемуся администратором, изменять этот файл. Опять же, чтобы немного облегчить нам жизнь.
sudo chown root:docker docker-compose.yaml
sudo chmod g+w docker-compose.yaml
Проверьте конфигурацию
Хотите убедиться, что вы не допустили ошибок в конфигурации? Выполните следующую команду, и Docker выведет вам то, что будет запущено, а также все ошибки в вашем конфиге и предупреждения.
docker-compose -f docker-compose.yaml config
Запуск
docker-compose up -d
Запускаем, и Docker загрузит последний образ Portainer и все настроит. После этого мы сможем открыть веб-интерфейс Portainer, перейдя по адресу (вы получите предупреждение о самоподписанном сертификате) или (нешифрованное соединение).
https://<ip компьютера>:9443
http://<ip компьютера>:9000
При первом посещении этого портала он попросит нас создать учетную запись пользователя.
4. Установка Home Assistant
Если вы пропустили предыдущий пункт, то потребуется первоначальная настройка Docker Compose для работы:
cd /opt
sudo nano docker-compose.yaml
Далее записываем конфигурацию контейнера в файл(не забываем указать свой часовой пояс для правильного показа времени в интерфейсе и логах):
version: '3.0'
services:
[...]
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
restart: unless-stopped
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
privileged: true
network_mode: host
Создадим папку для конфигурационных файлов Homeassistant и запустим его:
cd /opt
sudo mkdir -p homeassistant/config
docker-compose up -d
Теперь Docker извлечет образ Home Assistant и все настроит.
Настройка Home Assistant
Теперь, когда контейнер запущен и работает, нам нужно настроить сам экземпляр Home Assistant.
Откройте браузер и перейдите по адресу http://<ip компьютера>:8123
Начальная настройка Home Assistant
Выберите имя пользователя и пароль для вашей учетной записи Home Assistant. Эта учетная запись также будет «администратором».
Далее пройдите через настройку вашей домашней зоны. В процессе настройки Home Assistant даже покажет вам устройства, которые он уже обнаружил и которые вы можете интегрировать с самого начала.
После завершения настройки вы окажетесь на информационной панели Home Assistant. Если вы настроили какие-либо устройства на предыдущем этапе, они будут отображаться на главном экране.
Управление Portainer из Home Assistant
Как только мы начнем добавлять дополнения, нам захочется довольно часто иметь возможность быстро просматривать их без необходимости открывать дополнительные окна браузера.
Для этого мы воспользуемся панелью iframe. Эта интеграция добавит Portainer в боковую панель Home Assistant.
cd /opt/homeassistant/config
sudo nano configuration.yaml
Чтобы добавить iframe для Portainer, добавьте следующий код в файл configuration.yaml
:
panel_iframe:
portainer:
title: Portainer
url: "https://192.168.10.106:9443"
icon: mdi:docker
require_admin: true
5. Установка брокера Mosquitto для работы MQTT и Zigbee устройств
В этой части мы добавим наше первое дополнение. Брокер Mosquitto MQTT позволит нам соединяться с широким спектром устройств, и я настоятельно рекомендую его к установке.
Обновим конфигурацию docker-compose.yaml
:
services:
[...]
homeassistant:
[...]
depends_on:
- mosquitto
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
restart: unless-stopped
ports:
- "1883:1883/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/mosquitto/config:/mosquitto/config
- /opt/mosquitto/data:/mosquitto/data
- /opt/mosquitto/log:/mosquitto/log
stdin_open: true
tty: true
Мы добавили строки stdin_open
и tty
, чтобы впоследствии мы могли подключиться к терминалу контейнера для выполнения некоторых команд.
Обратите внимание, что мы также добавили зависимость от контейнера mosquitto для нашего контейнера Home Assistant. Таким образом, наш брокер будет в сети до запуска Home Assistant, и мы можем быть уверены, что наше соединение не прервется.
Файл конфигурации mosquitto.conf
Когда мы запустим контейнер Mosquitto с помощью docker-compose up -d
, в журналах появятся ошибки о невозможности открыть файл конфигурации /mosquitto/config/mosquitto.conf
. Чтобы исправить это, мы можем загрузить файл конфигурации по умолчанию и сохранить его во вновь созданном каталоге config
:
cd /opt/mosquitto/config/
sudo wget https://raw.githubusercontent.com/eclipse/mosquitto/master/mosquitto.conf
Однако мы сделаем несколько изменений. Вы можете добавить следующие строки в конец конфигурационного файла, так как по умолчанию все настройки закомментированы (настройки по умолчанию).
sudo nano mosquitto.conf
# Добавьте следующие строки в конец
# Listen on port 1883 on all IPv4 interfaces
listener 1883
socket_domain ipv4
# save the in-memory database to disk
persistence true
persistence_location /mosquitto/data/
# Log to stderr and logfile
log_dest stderr
log_dest file /mosquitto/log/mosquitto.log
# Require authentication
allow_anonymous false
password_file /mosquitto/config/mqttuser
Пользователи Mosquitto
Далее мы создадим пользователя в Home Assistant для соединения с брокером.
В идеале мы позже создадим нового пользователя для каждого устройства (семейства). Например, одна учетная запись для устройств Shelly, одна для Zigbee2MQTT и т.д.
Выполните следующую команду для создания пользователя с именем homeassistant. Обратите внимание, что параметр -c создаст новый файл паролей и перезапишет все существующие файлы. Поэтому отбросьте этот параметр, если вы хотите создать вторую учетную запись.
docker exec -it mosquitto mosquitto_passwd -c /mosquitto/config/mqttuser homeassistant
Если теперь вы проверите содержимое только что созданного файла mqttuser
, вы найдете свое имя пользователя и хэшированный пароль:
cat /opt/mosquitto/config/mqttuser
homeassistant:$7$101$q7VtJJ/E*******7$1I******************************************b/G**************************************A==
Теперь мы можем перезапустить контейнер Mosquitto, чтобы он загрузил наши изменения:
sudo docker-compose restart mosquitto
Логи должны показать, что контейнер Mosquitto запущен:
sudo cat /opt/mosquitto/log/mosquitto.log
1662413136: mosquitto version 2.0.15 starting
1662413136: Config loaded from /mosquitto/config/mosquitto.conf.
1662413136: Opening ipv4 listen socket on port 1883.
1662413136: mosquitto version 2.0.15 running
Настройка MQTT в Home Assistant
Теперь мы можем подключить Home Assistant к нашему брокеру MQTT, чтобы он мог начать подписываться на темы и отправлять сообщения. Поскольку пока нет других подключенных MQTT клиентов, Home Assistant пока не будет добавлять новые устройства.
Мы добавляем новую интеграцию MQTT в Home Assistant и вводим учетные данные, которые мы установили минуту назад для аутентификации.
Логи контейнера MQTT подтверждают успешное подключение Home Assistant:
sudo cat /opt/mosquitto/log/mosquitto.log
1662413136: mosquitto version 2.0.15 running
1662414198: New connection from 192.168.10.106:43153 on port 1883.
1662414198: New client connected from 192.168.10.106:43153 as 4atvQWWEyf2XpG3yy0kgOW (p1, c1, k60, u'homeassistant').
1662414198: Client 4atvQWWEyf2XpG3yy0kgOW disconnected.
1662414198: New connection from 192.168.10.106:39605 on port 1883.
1662414198: New client connected from 192.168.10.106:39605 as 5gNbahjfE5DulEufquYcaa (p2, c1, k60, u'homeassistant').
6. Установка Zigbee2MQTT для подключения датчиков и других устройств умного дома по протоколу Zigbee
Для этого потребуется приобрести отдельный Zigbee-координатор, который подключается к компьютеру по USB. Я использовал этот в своей системе.
Найти координатор Zigbee
В конфигурации Docker compose нам нужно будет назначить координатор Zigbee, который будет подключен через USB, к контейнеру Docker.
Подключите ваш координатор Zigbee (например, Conbee II, Sonof Zigbee 3.0 Plus, …) к вашей машине. Затем выполните следующую команду, чтобы получить уникальный путь к устройству.
ls -l /dev/serial/by-id/
usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_eexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx52-if00-port0 -> ../../ttyUSB0
Позже мы будем использовать этот уникальный путь by-id в нашей конфигурации вместо типичного /dev/ttyUSB0, потому что всегда есть риск, что устройство получит новый TTY после перезагрузки, особенно при подключении других устройств.
Docker-compose
Мы расширяем наш docker-compose.yaml конфигурацией для контейнера Zigbee2MQTT.
services:
[...]
zigbee2mqtt:
container_name: zigbee2mqtt
image: koenkk/zigbee2mqtt
restart: unless-stopped
ports:
- "8099:8099/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/zigbee2mqtt/data:/app/data
- /run/udev:/run/udev:ro
devices:
- /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_eexxxxxxxxxxxxxxxxxxxxxxxxxxxx52-if00-port0:/dev/ttyACM0
Обратите внимание, что я изменил отображение портов для этого контейнера. Порт 8080 уже используется администратором, поэтому я изменил порт внешнего интерфейса Zigbee2MQTT на 8099 (см. ниже) и указал его в конфигурации Docker.
Мы не будем пока запускать наш контейнер, так как сначала нам нужно настроить нашу конфигурацию.
Создаем пользователя MQTT
Когда мы настраивали MQTT-брокер Mosquitto, я говорил, что предпочитаю создавать MQTT-пользователя для каждого сервиса. Поэтому давайте создадим пользователя для нашего контейнера Z2M.
docker exec -it mosquitto mosquitto_passwd /mosquitto/config/mqttuser z2m_mqtt
Password: # Enter a password
Reenter password: # Repeat the password
cat mosquitto/config/mqttuser
[...]
z2m_mqtt:$7$101$1xcB1yrF********$O$XR******************2/N************************************************************g==
Конфиг Zigbee2MQTT
Чтобы получить копию стандартного конфига, запустите sudo wget https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/data/configuration.yaml
в папке, где будет храниться конфиг (/opt/zigbee2mqtt/data
). Затем откройте и отредактируйте его с помощью sudo nano /opt/zigbee2mqtt/data/configuration.yaml.
Мы укажем Z2M подключиться к нашему MQTT-брокеру, использовать синтаксис, который понимает Home Assistant для обнаружения устройств, настроить веб-сервер и позволить Z2M сгенерировать некоторые ключи, используемые для настройки сети Zigbee.
# Adapter settings
serial:
port: /dev/ttyACM0
# MQTT
mqtt:
base_topic: zigbee2mqtt
server: '!secret server'
user: '!secret user'
password: '!secret password'
client_id: zigbee
# Zigbee network
permit_join: false # Do not allow random devices to connect automatically
# Webserver
frontend:
port: 8099 # Custom port
url: 'http://<ip.of.our.box>:8099' # Update IP here
# Devices and groups
# Extract config to separate files
devices: devices.yaml
groups: groups.yaml
# Home Assistant integration
homeassistant: true
Если вы проверите журналы через Portainer или docker-compose logs zigbee2mqtt
, вы увидите, что наш контейнер прекрасно запустился:
Using '/app/data' as data directory
Zigbee2MQTT:info 2022-10-04 12:09:47: Logging to console and directory: '/app/data/log/2022-10-04.12-09-47' filename: log.txt
Zigbee2MQTT:info 2022-10-04 12:09:47: Starting Zigbee2MQTT version 1.28.0 (commit #03ba647)
Zigbee2MQTT:info 2022-10-04 12:09:47: Starting zigbee-herdsman (0.14.62)
Zigbee2MQTT:info 2022-10-04 12:09:48: zigbee-herdsman started (resumed)
Zigbee2MQTT:info 2022-10-04 12:09:48: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20220219,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info 2022-10-04 12:09:48: Currently 0 devices are joined:
Zigbee2MQTT:info 2022-10-04 12:09:48: Zigbee: disabling joining new devices.
Zigbee2MQTT:info 2022-10-04 12:09:48: Connecting to MQTT server at mqtt://<ip.of.our.box>:1883
Zigbee2MQTT:info 2022-10-04 12:09:48: Connected to MQTT server
Zigbee2MQTT:info 2022-10-04 12:09:48: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
Zigbee2MQTT:info 2022-10-04 12:09:48: Started frontend on port 0.0.0.0:8099
Zigbee2MQTT:info 2022-10-04 12:09:48: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
Добавим Z2M на боковую панель Home Assistant:
Процесс аналогичен с добавлением Portainer:
panel_iframe:
portainer:
[...]
zigbee2mqtt:
title: Zigbee2MQTT
icon: mdi:zigbee
url: http://192.168.10.106:8099
require_admin: true
После перезапуска Home Assistant (docker-compose restart homeassistant
) получим примерно следующее:
В данном видеоролике подробно и наглядно показано как пользоваться Zigbee2MQTT. Если вы в первый раз работаете с ним, рекомендую к просмотру.
Конец
Спасибо за внимание, есть еще немало дополнений, которые можно добавить, поэтому статья будет дополняться.
Если возникнут вопросы или предложения — пишите в комментарии, рад любой активности.
by Ivan Jenic
Passionate about all elements related to Windows and combined with his innate curiosity, Ivan has delved deep into understanding this operating system, with a specialization in drivers and… read more
Updated on
Looking for the best smart home apps for Windows 10 PC? We got you covered. Read this guide to learn what are the best smart home programs to use in 2018.
Due to technological advances, several smart homes and smart home software have sprung up over the years. However, these smart devices in the home don’t just control themselves. A software is needed to automate all these processes.
This post gives you some of the best smart home programs that can be used to automate your home devices. The software reviewed in this article differ from each other in terms of some features — though they all provide general services which ensure convenient automation of devices.
What are the best smart home programs for Windows 10?
OpenHAB
OpenHAB has a large following among smart home users, as it has an active community of users. The software uses a stable open source Javascript which allows multiple support of devices and ensures you can easily integrate different devices on the software. This tool uses a powerful software engine which enables users flexibility as there are several plugins which can be installed to ensure user preference is achieved.
Your devices can easily be controlled using specific apps and users can customize the software with the inbuilt design tools. So therefore, OpenHAB is an excellent home software app to use due to its flexibility and compatibility to hundreds of devices.
⇒ Download OpenHAB
- RELATED: Asus’ Zenbo robot brings the sci-fi world closer to home
Castle OS
Castle OS is a popular smart home software that has integration with over a hundred different smart devices. Users are able to use the various features to conveniently automate their homes. Castle OS supports several popular home apps such as UPB, WeMo, LightwaveRF, Sonos, Ecobee and Nest,
Users can access the unique voice control system by connecting a Microsoft Kinect, this allows ease in controlling several devices by saying command prompts.
How we test, review and rate?
We have worked for the past 6 months on building a new review system on how we produce content. Using it, we have subsequently redone most of our articles to provide actual hands-on expertise on the guides we made.
For more details you can read how we test, review, and rate at WindowsReport.
Meanwhile, Castle OS helps keep track of your home energy consumption which allows you to know the devices consuming much power in your home.
The scheduling feature is also effective as you can easily create time scheduled events and receive notifications of events via Email or SMS. Also, Castle OS is an excellent Home software to employ for your Windows O.S and is compatible with Windows 10.
⇒ Download Castle OS
- READ ALSO: Cortana now lets you control your smart home devices
Creston
When it comes to a home apps that features state of the art technology and features, Creston is up there. The software may be of a premium price to other home app software but it gives good value for the price.
Creston specifically develops devices which can be purchased in addition to the software. The user interface allows for customization by users and it can be ideal for setting up a conference center.
The voice control is also automated to allow ease and convenience in controlling smart home devices. Overall Creston is a good solution for smart home users as they get extensive features from the software.
⇒ Download Creston
- RELATED: Bitdefender Box 2 aims to be the best IoT antivirus device
Iobroker
Iobroker is a budding smart home apps software which has a thriving community and offers quality services. The software can be used to control devices in all areas of your home from the garage, kitchen to individual rooms in your home.
It is compatible to multiple devices which makes it ideal home app software. iobroker uses an open Javascript and supports Windows,Linux, OSX and Raspberry devices.
The user interface is clean and easy to use for beginners with all menu arranged precisely for scalability. You can easily set voice controls and use the command prompts to control various devices in your home or office.
Lastly, iobroker is an efficient home app software as it performs the basic needs of a smart home owner and supports numerous operating systems.
⇒ Download Iobroker
- RELATED: Best artificial intelligence antivirus programs for Windows 10
EventGhost
EventGhost is a simple automation software that allows users to access different input devices to trigger control of connected devices. It does not provide extensive features like the other software on the list but it lightweight and can perform the majority of the tasks needed by a smart home user on a small scale.
In addition, EventGhost allows the use of input devices like wireless remote to control home devices. The interface as to be expected is simple with different task icons in the menu which have specific functions.
To enjoy more features, you would need to download several plugins which could be the downside of the app. Infrared motions work exquisitely and can be easily setup by following the tutorials on the software website. You can always try EventGhost since it is free to download and check out the features.
⇒ Download EventGhost
Conclusion
These are the best smart home software for smart home owners. They have been tested and found to possess features needed. In addition, they are all compatible with Windows 10.
Meanwhile, EventGhost is lightweight to use but with limited features while Creston is the most expensive of the apps listed above. Our recommended smart home software to utilize in your home is OpenHAB, as it gives all the necessary features and compatibility needed for a smart home software.
RELATED STORIES TO CHECK OUT:
- This AI system from Microsoft increases your work productivity
- 7 best homeschooling software for Windows PC
- What’s the best Windows 10 antivirus software for home users?
Если вы читаете эту статью, то есть вероятность того, что вы «наигрались» с готовыми решениями от вендоров и они перестали вас удовлетворять по тем или иным причинам. Но возможно вы попали сюда по каким-то иным соображениям, поэтому советую вам ознакомиться с предыдущей статьей цикла, описывающей возможные варианты построения своего умного дома. Вдруг вам понравятся другие пути.
А если вы все-таки решили погрузиться в мир Open Source решений, то мы постараемся раскрыть для вас некоторые важные аспекты этого направления.
Open Sourcе — в буквальном переводе означает «открытый код». Это означает, что разработчики не скрывают свой программный код, и его может модернизировать или использовать для своих целей абсолютно любой желающий. Естественно, эти программы являются бесплатными. Их разработкой обычно занимаются программисты-энтузиасты, которые, чаще всего группами, занимаются реализацией идей и превращают их в работоспособный продукт.
Конечно, эти программы можно использовать как для личного использования, так и в коммерческих целях. Обычно, его распространяют, базируясь на идеологии GNU GPL.
Плюсы и минусы
Ввиду того, что опенсорс продукты разрабатываются энтузиастами, у них есть свои плюсы и минусы:
ПлюсыМинусыБесплатноОткрытый код, который можно дорабатывать и изменятьЕго можно просто скачать и установить
Нерегулярность либо отсутствие обновленийОчень частые проблемы при обновлении (вылетают модули и система перестает работать)Проблемы с поддержкой
Отсутствие единого ответственного за продуктДовольно сложная установкаНастройка и внедрение занимают значительное времяТребуются навыки программирования и знание машинной логикиТребуется очень много дополнительной информации для настройки даже тех модулей, для которых существует подробная документация (форумы, чаты и общение со специалистами)
Плюс ко всему, у OpenSource проектов есть один огромнейший минус. Если основная группа разработчиков потеряла интерес к продукту, то он очень быстро «умирает», так как перестает развиваться. Такая же ситуация возможна, если лидер команды решает коммерциализировать продукт, или приходит инвестор, который вообще может закрыть проект или интегрировать его в свой. То есть конечный пользователь останется с тыквой и без туфелек.
Выбор системы
Как мы упоминали в более ранних статьях, у нас уже сформировался некий рейтинг используемых нашими пользователями бесплатных систем управления. Мы не будем рассказывать обо всех, но кратко опишем лидеров нашего рейтинга, чтобы вы понимали особенности каждого из них.
Home Assistant
Home Assistant — open source система автоматизации, написанная на языке Python3. Она очень активно развивается, выходят постоянные обновления и появляется поддержка очень большого количества новых устройств. Также она довольно простыми способами интегрируется с большинством популярных экосистем и в ней осуществляется поддержка популярных онлайн-сервисов. В рейтинге сообщества Sprut.ai она занимает первое место.
Данную систему можно установить как на практически любой, достаточно производительный одноплатный ПК, так и на любой полноценный компьютер.
Что касается инструкций по установке, то помимо официальных мануалов от разработчиков, у нас есть целый цикл по установке и настройке системы от Александра Жабунина. Система поддерживает различные способы, в том числе и установку в виде распаковки образа на флешку (у нас на портале есть готовый образ для наших пользователей), но существуют и альтернативные способы установки.
Что касается особенностей системы, то одна из самых главных заключается в том, что система имеет два варианта — простой Home Assistant и Hass.io. Разница между ними в том, что в Hass.io есть раздел с аддонами, которые можно установить прямо из веб интерфейса. В простом Home Assistant такой возможности нет. Плюс к этому, есть еще один нюанс. Официальный образ от разработчика отличается от образов и вариантов установки на нашем портале тем, что у официального варианта нет полноценного доступа до хост-системы. В наших вариантах — доступ есть и он полноценный. Иногда это важно. Но некоторым может быть нет, поэтому они могут воспользоваться обычным вариантом установки, предлагаемым разработчиками. А что касается дополнительных настроек, то на нашем портале есть огромное количество информации на эту тему, которую вы можете с легкостью найти по тегу Home Assistant.
Пример внешнего вида интерфейса.Немного статей по данной системе, с которыми рекомендую ознакомиться.
Home Assistant, статья 1 (установка)
Home Assistant, статья 2 (базовая настройка).
Home Assistant, статья 3 (добавляем устройства)
Homebridge
Homebridge — сервер, написанный на Nodejs с использованием API Apple, который позволяет добавить устройства в ваш Дом, которые не имеют сертификацию и изначально не поддерживают интеграцию в Apple HomeKit.
Благодаря слаженной работе разработчиков, на сегодняшний день, в систему интегрировано очень большое количество устройств. На нашем портале вы можете найти очень много статей на тему Raspberry Pi, которые могут вам помочь в настройке и изучении этой системы.
Homebridge является кросс-платформенным решением, которое можно установить на Windows, Linux и Mac OS X.
Также участниками общества были сделаны образы для Raspberry Pi уже с установленными Homebridge Вариант 1 и Вариант 2.
MajorDoMo
MajorDoMo — система автоматизации, написанная на языке PHP. Система быстро развивается и так же, как и все системы, является OpenSource проектом. Имеет свою армию фанатов. Но чтобы настроить данную систему идеально под себя, потребуются немалые знания языка PHP. Хотя есть поддержка модульной структуры и большое количество готовых модулей. К тому же, в отличии от большинства продуктов, Мажордомо имеет очень мощную Российскую команду разработчиков.
Если вы хотите почитать больше материалов на эту тему, воспользуйтесь поиском по тегу MajorDomo на нашем портале.
ioBroker
ioBroker — еще одна система для построения умного дома, написанная на NodeJS как и Homebridge.
Система тоже очень хорошо развивается и имеет большое количество интегрируемых устройств. Имеет армию своих фанатов, но интерфейс программы оставляет желать лучшего — дизайн остался еще в 2000х годах. Но, как говорится, «на вкус и цвет».
Хотя некоторые участники нашего сообщества утверждают, что для высоконагруженных систем с большим количеством устройств, ioBroker — это единственное подходящее решение. Это, конечно, может относиться к промышленным автоматизациям, но факт наличия подобного мнения означает, что систему используют даже в таких целях.
Что касается обычного использования системы для классического умного дома, то у нас на портале есть несколько интересных статей на эту тематику:
А если вы хотите почитать побольше, то можете воспользоваться тегом ioBroker на нашем портале.
Node RED
Node RED — визуальная среда программирования, использующая API и онлайн сервисы, соединяющая между собой исполнительные устройства. NodeRED можно установить на любую систему, главное, чтобы можно было установить NodeJS.
Так как данная система является визуальной, то тут Минимум кода и максимум визуальности. Система на нашем портале пользуется большой популярностью и имеет много статей.
Хотя малое количество кода — это не совсем правда. Чтобы создать нечто сложное, вам придется все равно писать и писать код. Для каждого блока в вашей блок-схеме.
Но система обладает значительным преимуществом перед остальными. Она может быть интегрирована с чем угодно.
Например, мы можем использовать Home Assistant только в качестве визуального интерфейса управления и сервера для подключения устройств, а все автоматизации можно выполнять в Node-Red. Он и сам является полноценной системой автоматизации. Есть огромное количество модулей для интеграции тех или иных устройств и систем. Поэтому он и является одним из самых универсальных решений, которое можно водрузить поверх уже существующей системы как дополнение, или создавать на его базе новую, полноценную систему управления вашим умным домом.
Статьи по данной теме можно найти на нашем портале по тегу Node Red.
Domoticz
Domoticz — еще одна система управления умными домами. На данный момент тоже активно развивается и можно установить на любую ОС, но система, на сегодняшний день, не является идеальной. Начиная со страшненького дизайна и заканчивая довольно медленным развитием, относительно конкурентов. Именно поэтому в нашем сообществе она не сильно пользуется популярностью.
OpenHab
openHAB — это специальный сервер, который может работать на любом компьютере под управлением любой ОС (вы даже можете использовать RaspberryPi). Вся установка заключается в распаковывании дистрибутива сервера и установке Java машины. Далее начинается процесс настройки и созидания.
OpenHAB, по сравнению с предыдущим участником нашего рейтинга — ioBroker, имеет более современный интерфейс и насчитывает поддержку более 50 протоколов и типов устройств.
У системы есть свои плюсы и минусы, для описания которых понадобилось написать отдельную статью.
Но в целом — это довольно популярная система, которой многие с удовольствием пользуются.
Выбор железа
Эта тема достойна отдельной статьи, так как вариантов, куда установить систему для вашего умного дома, существует огромное множество. И мы ее таки напишем. Но в контексте данной статьи, было бы кощунственно не упомянуть самые популярные варианты, которые используют наши участники в качестве ядра для своего умного дома.
Различные модели Raspberry Pi
Дешевые неттопы
NAS от Synology
Выбор железа ограничен только вашей фантазией, но народ руководствуется прагматичными критериями.
Например, Raspberry Pi — это не очень дорого, потребляет мало электричества и обладает миниатюрным размером. Но производительность, для некоторых задач, может быть недостаточна. Да и флешка — достаточно ненадежное устройство для установки системы с постоянно обновляющимися базами данных. А решения с покупкой б/у-шного неттопа, за смешные деньги, имеют место быть. Причем с производительностью не возникает вообще никаких проблем. И хранение на SSD вполне себе оправдывает все. Ну а тем, кто владеет NAS от Synology — вообще повезло. Туда можно поставить все что угодно в Docker.
Но как я раньше и говорил, все это достойно отдельной статьи, ибо вариантов огромное количество, а плюсы и минусы есть у каждого из них.
Выводы
Основной вывод — вам придется подтягивать свои навыки программирования. Придется читать много на английском языке, так как оказывается даже самые «безумные», на первый взгляд, автоматизации для вашего дома, кто-то уже придумывал и задача так или иначе была решена. Но придется продираться через обсуждения различных вариантов решений задачи, и они будут содержать значительные куски кода, которые вам надо будет переписывать под себя. Это не так сложно, как может показаться, но занимает много времени. Хотя это, скорее, полезный навык в сегодняшних реалиях, когда даже для простейших автоматизаций в HomeKit уже необходимо понимание машинной логики. Иначе никак.
Второй основной вывод — бесплатность. С одной стороны — вам не придется покупать программное обеспечение. С другой — вы будете тратить свое время, а оно тоже стоит денег. Поэтому все подобные решения можно считать условно-бесплатными. К тому же, на железо все равно придется тратиться. Просто выбор намного богаче. И это несомненный плюс.
Третий основной вывод — установленная система без датчиков и исполнительных устройств вам ничего не даст. Вам все равно нужно покупать устройства. Плюс в том, что вы теперь не ограничены одним производителем и вольны выбирать любые подходящие вам решения. И подключать устройства вы сможете как через купленные ранее шлюзы (если они поддерживают эту функцию), так и через USB стики для соответствующих протоколов. Полная свобода.
Поэтому если вы все-таки решили остановить свой выбор на OpenSource решениях, то на данный момент, среди нашего сообщества, наибольшей популярностью пользуются 3 системы: Home Assistant, Homebridge и MajorDoMo.
Если вы хотите немного покодить, хотите хорошую поддержку большинства устройств, продаваемых на рынке, большое и дружное сообщество, которое вам всегда поможет, то ваш выбор — это Home Assistant.
Если перед вами стоит задача только сделать доступными ваши устройства в приложении Дом на вашем iPhone или iPad, то ваш выбор очевиден — HomeBridge. Возиться с кодом все равно придется, но намного меньше, чем в других вариантах.
Если вам нравится веб интерфейс, вы придерживаетесь классических подходов к визуализации, немного знаете язык программирования PHP и обладаете временем и терпением, то ваш выбор — MajorDomo.
Если хотите более функциональную систему с красивым дизайном, но с плохой русскоязычной поддержкой, то это openHAB.
Хотите систему функциональную, но более менее поддерживаемую русскоязычным сообществом, но с убогим дизайном, Domoticz — ваше все. Хотя, сомнительный выбор.
Ну и если вы хотите программировать визуально, то для вас подходит NodeRed.
А вот если для вас определяющим выбором является голосовой ассистент, с помощью которого вы хотите управлять своим умным домом, то в принципе Open Source системы как раз являются лучшим выбором для интеграции, так как у них, обычно, есть поддержка нескольких ассистентов одновременно. И это огромный такой плюс для тех, у кого члены семьи пользуются, например, и Android и iPhone.
Home Assistant интегрируется с Яндекс Алисой, Siri и Google Assistant
HomeBridge — только Siri и Яндекс Алиса
OpenHAB — Яндекс Алиса, Google Assistant и Siri
MajorDomo — Яндекс Алиса, Google Assistant и Siri
ioBroker — Яндекс Алиса, Siri и Google Assistant
Domoticz — Siri и Google Assistant
NodeRED — вообще с чем угодно, зависит от того, как вы его ставите и с чем он взаимодействует.
Так что выбор за вами. Удачи!
Управление умным домом с компьютера
Жители квартир и домов тратят много времени на регулирование множества процессов в своем жилье: включение и выключение электроприборов и света, видеонаблюдение. Однако не все знают, что эти и другие процессы можно автоматизировать, управляя соответствующей техникой с обыкновенного настольного компьютера, который есть у каждого.
Управление домом с компьютера — идея логичная. А появилась она даже до начала массовых продаж в магазинах комплексов автоматизации. Таким образом, сконструировать «умный дом» своими руками теперь может каждый владелец жилья – компьютер в этой системе выступает ключевым узлом. Установить его можно непосредственно в комнате или в отдельном шкафу.
Пользовательский компьютер выполнит все «умные» функции, а сигнал с внешних датчиков проходит по стандартным каналам TCP/IP или USB. Удобство создания такого узла объясняется еще и тем, что больше половины производителей выпускают технику на основе проводного подключения, которая снабжена адаптерами (чтобы подключить ее к компьютеру или ноутбуку). Возможный вариант работы с аналоговыми или же цифровыми сигналами — модуль для вывода и ввода, подключающийся посредством USB. Возможности такого устройства недостаточны, а сама автоматика подойдет для сигналов, имеющих уровень 0—5 вольт. Чтобы преобразовать полученный сигнал, в таком комплексе используются формирователи и преобразователи.
Управление домом с компьютера
Преимущества и недостатки
Пользователям компьютеров умный дом на базе ПК кажется перспективной идеей по следующим причинам:
- доступность узла для интеллектуального управления. У владельцев домов дома присутствует хотя бы один компьютер, а при необходимости под эти цели покупается даже бюджетный нетбук;
- доступная стоимость модулей для ввода и вывода (сравнительно с устройствами, которые используются с промышленными контроллерами);
- у него нет ограничений по количеству подключенных приборов (в готовых комплектах обычно присутствует малое количество техники для контроля над светом и безопасностью, а контроллер не рассчитан на множество приборов). Собрав умный дом собственноручно, вы сможете настроить его на выполнение нужных для вас опций, а также удобный способ управления, будь то голосовые команды или смартфон;
- возможность составить сложный комплекс с широким набором функций.
Не стоит забывать о возможных недостатках системы, среди которых выделяют следующие:
- необходимость подбора надежного узла (непосредственно компьютера) с достаточно надежной операционной системой и широким функционалом;
- зависимость составляющих комплекса от ноутбука, который по ходу использования ломается по причине механической поломки, износа или отключения света;
- необходимость собственноручного планирования схем и воплощение их в жизнь.
Технологии управления
Управление домом с компьютера сложно представить без контроля над электропитанием. Для воплощения этой технологии специалисты рекомендуют использовать 1-wire фирмы Maxim/Dallas. Такая технология используется в промышленных и бытовых системах и хорошо там себя зарекомендовала.
Кроме того, с компьютера удобно управлять и контролировать охранный комплекс — в удаленном режиме можно просматривать данные с видеокамер и информацию с датчиков, чтобы узнать, как ведут себя дети или животные, а также увидеть, не было ли несанкционированного проникновения в квартиру. Помимо компьютера, для реализации этой идеи понадобятся видеокамеры с датчиками движения или открытия дверей, которые можно подключить к технике через USB-разъем. Если вас беспокоит стандартное ограничение длины провода в 5 м, купите активный длинный кабель или свяжите провода через специальные хабы, имеющие внешнее питание (возможны другие варианты).
Чтобы научить систему «умного дома» понимать владельца и даже разговаривать с ним, можно воспользоваться самым доступным методом и приспособить под потребности функционал распознавания речи от компании Google. Миллионы людей по всему миру уже оценили его достойный уровень голосового перевода и поиска.
Технологии управления умным домом с компьютера
Для координации и управления системой при помощи компьютера лучше всего написать отдельную программу для всех ее компонентов или воспользоваться готовыми решениями (Ardublock). Эта программная среда для автоматизации техники идет в комплекте с некоторыми наборами электроники. Помимо управления сигнализацией и электричеством, такая программа сможет:
- управлять состоянием электроприборов (подключать и отключать технику через «умную» розетку, программировать время включения и режим работы);
- замерять и контролировать постоянную температуру в доме.
Загрузка…
Для работы проектов iXBT.com нужны файлы cookie и сервисы аналитики.
Продолжая посещать сайты проектов вы соглашаетесь с нашей
Политикой в отношении файлов cookie
В этой статье хочу рассказать про компоненты, из которых лучше всего собрать сервер умного дома. У меня стояла более сложная задача — покрыть участок 15 соток с баней и основным домом, между которыми около 15 метров. Также хотелось организовать медиасервер, а для него нужно что-то более менее производительное. В итоге остановился на такой связке — основной сервер Raspberry Pi4B 8GB в корпусе Argon One с поддержкой M.2 SATA SSD диска + оригинальный блок питания Raspberry на 3A, дополнительный мини-сервер — шлюз Xiaomi EU — прошитый в OpenWRT, который может также работать самостоятельно (децентрализация системы и повышение отказоустойчивости). Ссылки на все товары из этой статьи будут в конце.
Введение
Данная статья будет в основном только про аппаратную часть (серверную) умного дома. На рынке существует много различных вариантов для сервера, но сервер на Raspberry Pi является самым распространенным. До этого времени у сборки на Raspberry был один очень существенный недостаток — основным хранилищем данных и системы была microSD карта, которая под большими нагрузками и огромными количествами циклов чтение\запись очень быстро приходила в негодность (около года жили брендовые карты памяти, более дешевые уже через несколько месяцев вызывали проблемы). Совсем недавно начали появляться платы расширения с поддержкой SSD дисков, которые полностью решают проблему с microSD. А буквально с месяц назад появился проект Argon One M.2 — специальный корпус для Raspberry Pi, даже я бы сказал серверная оболочка, которая имеет пассивное\активное охлаждение, встроенное ПО для управления кулером и настройкой кнопок питания, платой расширения, которая дает 2 полноценных HDMI порта, вместо micro HDMI. Также 3.5mm аудио выход переносится с боковой части на заднюю, где все порты, что намного удобнее. Отдельно докупается плата M.2 для Argon One (либо сразу идет в сборке) — позволяет использовать только SSD NGFF (SATA, ключи B\B+M), диски NVME не поддерживаются.
Сердце сервера умного дома — Raspberry Pi4B 8GB
Raspberry Pi4 была выпущена в 2019 году, позднее уже появилась версия 4B (B считается лучше, чем А, бывает еще символ + в версии, который означает незначительное улучшение). Версия 4B на 8GB вышла совсем недавно. Вернее ее анонсировали сразу, но купить стало возможно только недавно. Я взял сразу на 8GB. Для умного дома вполне хватит и 2GB, но если хотите поставить что-то еще на сервер кроме умного дома, то лучше брать 4Gb, либо 8.
Технические характеристики
- Процессор: Broadcom BCM2711
4 ядра Cortex-A72 (ARMv8)
64-bit SoC @ 1.5 GHz - RAM: 2\4\8GB
- Питание: USB Type-C (5V, минимум 3А).Возможно питание через GPIO (5V, минимум 3А).
- Порты и разъемы: 2 порта Micro-HDMI (одновременная поддержка двух мониторов с разрешением 4K), 2 порта USB 2.0, 2 порта USB 3.0, 1 порт Gigabit Ethernet (RJ45, 1000Base-T), 1 порт microSD (для операционной системы и хранения данных). Рекомендуется использовать карты объемом минимум 8Gb. Протестирована работа с картами до 128Gb., 40 пиновый GPIO, 3.5мм Audio, Display\Camera Connector, Power over Ethernet (PoE)
- Беспроводные интерфейсы: Двухдиапазонный WiFi (2.4 GHz и 5.0 GHz IEEE 802.11ac/n), Bluetooth 5.0, BLE (Bluetooth Low Energy)
- Индикаторы: Встроенные светодиоды: индикация питания, работа с microSD картой, режим работы Ethernet.
Сама плата производится в Великобритании. Поставляется в красной коробке, очень маленького размера. Raspberry не навязывает никаких аксессуаров и в базовой комплектации идет только плата. На официальном сайте, можно найти еще оригинальное зарядное 5V 3A (для 4 версии компьютера нужно минимум 3A).
В комплекте только плата, буклет с базовыми «инструкциями» в картинках — руками не трогать за компоненты, брать за торцы и т.д. Также есть подробная инструкция на многих языках. Размеры платы 8,5см на 5,6см — чуть больше пластиковой банковской карты.
Плата крупным планом. Есть разъем для дисплея, разъем для камеры. 2 micro HDMI разъема, вход Type-C для питания. Вход 3.5mm для наушников. Справа 1 LAN (POE), 2 USB2.0 и 2 USB3.0. Сверху плата GPIO (интерфейс ввода/вывода общего назначения) — компьютер можно запитать от GPIO.
С обратной стороны есть только microSD разъем. Даже если будем использовать SSD, microSD нужен для записи специального образа, который будет по умолчанию грузить плату с SSD (типа как в Windows в BIOS переключается). На плате есть отверстия для прикручивания к чему-нибудь — многие корпуса с Алиэкспресс прикручиваются с помощью этих отверстий.
Компьютер очень компактный. Сложно представить, что к нему можно подключить 2 монитора 4K. Кстати, 4K при одновременно двух мониторах будет по 30fps. Если 1, то будет все 60fps. Компьютер не сверх мощный, но для сервера самое-то, главное энергопотребление и температурный режим.
При поиске на Алиэкспресс платы Raspberry, сразу замечаешь, что каждый продавец хочет вам продать свой «самый лучший» набор: обычно это сама плата, какой-нибудь корпус, ноунэйм блок питания, неизвестная карта памяти и обычно пару проводов (HDMI или другие). Не советую брать такие комплекты, так как качество аксессуаров там на очень низком уровне. Найти же чисто голую плату в продаже сложно, но можно. Там где я покупал, была опция плата + алюминиевые радиаторы. Именно такой вариант я и заказал. Радиаторы мне не пригодились, но это было дешевле, чем покупать ненужные наборы.
Argon One — лучший корпус для Raspberry
С чистой совестью могу назвать Argon One лучшим корпусом для одноплатника Raspberry. Такой корпус обойдется в 20$ за версию без платы расширения M.2, но мы здесь собрались именно ради этой самой платы M.2 — за такой вариант придется выложить около 43$. Цена не сильно высока, по сравнению с безымянными корпусами неизвестных производителей. Плюс здесь мы получаем полноценные HDMI в итоге, управляемое (настраиваемое) активное охлаждение + качественное продуманное пассивное охлаждение (толстый алюминиевый корпус отводящий тепло с процессора и RAM через теплопроводящие силиконовые проставки). Ну и вишенка на торте — плата M.2, которая решает проблему быстро выходящих из строя microSD карт. Поставляется корпус в фирменной коробке, по размеру чуть больше самой платы Raspberry.
В комплекте корпус, аксессуары вложенные в него, инструкция на английском по настройке.
Все разъемы вырезаны идеально. Также очень удобно, что все разъемы выведены в одно место (сама плата имеет выходы на разные стороны). Нижняя часть здесь — плата расширения M.2 с USB3.0 разъемом (есть версии без нее).
Под магнитной крышкой удобно выведена плата GPIO. Очень удобно использовать пины Raspberry — нет нужды разбирать корпус. Кстати питать плату можно и через пины 5V и GND (помните про минимум 3А).
А вот, собственно, и все содержимое корпуса. Слева верх корпуса, в нем есть кулер и плата для управления им. Также тут пины GPIO, которые выходят на саму крышку корпуса. Весь корпус из металла. Обратите внимание на 2 массивных прямоугольных куска металла слева — это для процессора и RAM. Также на плате есть переключатель, который покажу чуть позже. Правая часть — плата расширения M.2. На ней слот M.2 и USB3.0 разъем. Как видно, диски SSD подходят разного размера, вплоть до 2280. Единственное, NVME диски не поддерживаются. USB3.0 перемычка папа-папа по центру фото служит для соединения платы M.2 с самим корпусом Argon (с самой платой Raspberry). Снизу — конвертер HDMI, Audio 3.5mm. В пакетике винты и силиконовые проставки.
Две части корпуса крупным планом. На левой (основной) части есть «джампер» — специальный переключатель пинов. Он имеет 2 положения: 1-2 (ручное включение компьютера по нажатии на кнопку) и 2-3 (всегда включен- при отключении электричества и его восстановления, компьютер сам запускается). Естественно, я поставил его в положение 2-3 (нам важно, чтобы сервер работал нон-стоп 24\7). Вообще я хочу купить самый простой ИБП для роутера и сервера умного дома, чтобы они всегда были онлайн. Также на плате есть IR (инфракрасный) приемник для дистанционного включения\выключения компьютера, но для моих задач, это не нужно.
Плата-конвертер. Выводит все разъемы с Raspberry на одну сторону корпуса. Конвертирует micro HDMI в 2 полноценных HDMI (как показывает практика, полноценные HDMI прилично дешевле и вообще их куда проще найти).
Набор аксессуаров — силиконовые ножки на корпус, винтики, силиконовые теплопроводящие прокладки.
SSD диск формата M.2 2280 от Netac — 240GB
На секунду оставим корпус, так как для сборки сервера нам не хватает последней детали — SSD диска.
Самым дешевым и проверенным сейчас является производитель Netac. Давно пользуюсь их HDD и SSD и ничего плохого про них сказать не могу. Взял на 240GB, хотя для умного дома и 120GB с головой хватило бы на всевозможные расширения (меньше 120 не делают просто уже), так как хочу запустить медиасервер на Raspberry. Приходит диск в коробке полностью на китайском. Есть надпись 3 года гарантии. Диск SATA (6GB\s). Формат M.2 2280 (длины диска).
На передней стороне модуль памяти. Видно, что есть 1 свободный слот — в версии 480GB (максимальная для такого формата диска, NVME может быть и на 2TB, но нам он не подходит) — будет тут еще один модуль памяти. Бумажка с серийником обязательна, при ее удалении обнуляется гарантия (гарантия кстати рабочая, знакомый получил бесплатно замену за нерабочий по приезду диск. Не от магазина, а от производителя). В комплекте есть отвертка и 2 винта (не нужны нам, в корпусе уже есть винт).
К слову, чтобы больше не возвращаться к диску — максимальная его температура — 73.6 градуса при постоянной записи на него. Скорость записи прямо зависит от нагрева диска.
При тестировании диска, первые минут 7 скорость записи была около 250МБ\с, а после разогрева стала постепенно падать с 250 до 180, потом до 130 и в конце до 50МБ\с. Емкость диска проверена, скорость чтения не падала — 250МБ\с. Это скорость чтения\записи не через SATA, а через USB3.0 плату от Argon, то есть реальные показатели, как оно и будет на сервере. Скорость более чем хорошая, такого конкретного разогрева диска на сервере не будет.
SSD диск кстати приходит неразмеченный. Нужно через Disk manager (Менеджер дисков Windows) создать новый том, следуя стандартным настройкам мастера настроек.
Сборка сервера умного дома
Первым этапом плата-конвертер соединяется с Raspberry. Также теплопроводящие силиконовые проставки наклеиваются на процессор и оперативную память.
Далее плата вставляется в пины GPIO и привинчивается к корпусу. В плату расширения M.2 вставляется диск SSD. Обратите внимание, что диск прикручивается черным винтом, а золотой остался внизу как поддержка диска. Не перегибайте SSD диск.
Перед скручиванием корпуса нужно применить небольшое улучшение — нужно поменять приоритет загрузки системы с microSD карты на SSD диск. Для этого в программе Raspberry Pi Imager, которая скачивается здесь, выбирается Misc Utilities Imager -> Bootloader -> USB boot. Записывается это на microSD карту (она становится загрузочной на 200МБ).
Ставите ее в Raspberry и подаете питание, когда зеленый светодиод перестанет мигать — выключаете и достаете карту — запись завершена.
После этого нужно установить операционную систему Raspberry OS (Lite версия без графического интерфейса). Рекомендую ставить именно ее, можно поставить Home Assistant и без нее, но тогда сервер не сможет больше ничего делать, кроме запуска Home Assistant. В том же прошивальщике выбираете Raspberry Pi OS Lite 32bit и пишите образ уже на SSD. Диск ваш станет определяться как и СД карта — 200МБ. Не пугайтесь, это часть диска фрагментируется под загрузочный раздел, так и должно быть (через диспетчер дисков Windows можно вернуть все как было — удалить загрузочные разделы и вернуть реальный размер диска одним разделом, если нужно).
После этого ставим диск в корпус и можно все скручивать. Финальным шагом является установка USB перемычки, соединяющей плату M.2 с корпусом. Не забудьте про нее, а то загрузка OS не пойдет. Сервер готов к использованию (вернее аппаратная часть готова).
Программная настройка Raspberry OS и Home Assistant
На программной части в этой статье останавливаться не буду. Для нетерпеливых, вот видео от уважаемого Alex Kvazis по настройке системы (кстати тоже на SSD диск). Просто спокойно делаете все по шагам — проще простого.
Важно. Если у вас не идет загрузка «зависимостей» через интернет на Raspberry (нет внешнего выхода в сеть), то посмотрите урок 1.1, который решает эту проблему (нужно WiFi сети дать больший приоритет).
По настройке только отмечу 1 этап — настройка локализации Raspberry. Здесь нужно выбрать ru-RU-UTF-8 и делается это пробелом на клавиатуре. Alex пропустил этот момент, пришлось потупить, пока не нашел.
Питание сервера умного дома
Raspberry Pi4B требует минимум 3А для бесперебойной работы сервера. Блоки 5В, выдающие полноценные 3А, можно посчитать на пальцах. Я изначально использовал блок QC3.0 с Fasttech (типа их фирменный), потом все же раскошелился на оригинальную Raspberry зарядку. Стоит кстати недорого, по цене обычных зарядок из китая.
Параметры: вход 100-240V 50\60Hz, выход 5.1В 3А, кабель 1.5 метра 18AWG, коннектор Type-C, вилка EU.
Блок сделан по заказу UK в Камбоджии, даже не Китай. Сделан конечно очень качественно, ничего не скажешь. Есть в 2 цветах: черный и белый. Крайне не рекомендую использовать паленые китайские блоки, тем более, те, что идут в универсальных наборах — от блока питания зависит очень много, при недостатке мощности сервер может тупить + надежность блока очень важна.
Zigbee координатор
Zigbee считается самым распространенным беспроводным протоколом на данный момент. Все ввиду низкого потребления и ячеистости сети — то есть некоторые устройства могут быть репитерами (повторителями сигнала), которые расширяют сеть и снижают нагрузку на координатор (головное Zigbee устройство).
Для умного дома Home Assistant требуется универсальный Zigbee «стик» (специальный Zigbee USB модуль в виде флешки). Данный модуль позволяет подключать к умному дому любые Zigbee устройства, не важно какого бренда.
Это не заводские устройства. Их паяют энтузиасты и продаются они здесь: тыц.
Самым первым был стик CC2531 (заводской кстати), у него была очень маленькая дальность покрытия и минимальное число устройств в сети. На смену ему пришел стик V3 на модуле CC2538. Недавно вышел новый V4 на модуле CC2652P (разницы между CC2538 и CC2652 огромной нет, а вот разница по сравнению с CC2531 колоссальная). У меня модуль CC2562P с модулем Ebyte E72 (есть также RFstar, но это совсем не принципиально). Есть также менее и более мощные антенны — у меня например на 12dBi (стоит в частном доме в котельной).
Zigbee стик рекомендуется подключать на некотором удалении от самого сервера, чтобы не создавать помехи. Для этих целей подойдет любой usb 2.0 — 3.0 удлинитель, который часто идет в комплекте с мышкой\флешкой и т.д.
Вот кстати некоторые другие самоделки, купленные через ZigБЕРУ группу. Слева вверху — шлюз Xiaomi EU версии, прошитый в OpenWRT и установленным Home Assistant — у него 250МБ памяти, есть динамик и подсветка. Можно включать радио или звуковые оповещения через Google TTS. Вся система запускается в оперативной памяти и обнуляется каждый перезапуск (нет проблем с картами памяти). Это самое дешевое устройство для умного дома Home Assistant — в нем есть Zigbee модуль, BT Mesh модуль, что позволяет через разные интеграции подключать любые устройства умного дома. Минус — очень слабое устройство с технической точки зрения, которое по факту работает на пределе (но работает и ничего не тормозит — просто тяжелые интеграции вы не поставите). Данный шлюз — идеальное решение для небольшой дачи, дома или же для новичков в умном доме.
Далее слева внизу — 8 канальное реле с сухими контактами — может выступать как обычное реле с беспроводным управлением, либо как контроллер любых внешних датчиков\сенсоров.
Справа вверху — сенсор Co2 на модуле SenseAir S8 (довольно дорогой модуль), но славится своей точностью.
Снизу справа — тот же Zigbee стик, просто с другой стороны.
Архитектура умного дома для больших площадей покрытия
Возвращаемся к покрытию основного дома и гостевого, между которыми около 15 метров. Понятное дело, что требуется в первую очередь сеть WiFi. Xiaomi EU шлюз имеет не очень мощный WiFi модуль, поэтому лучше, чтобы WiFi роутер\репитер был как можно ближе (опять же интернет нужен только для дистанционного управления, а так, все устройства общаются со шлюзом по Zigbee и все работает шустро).
Основной сервер. Raspberry Pi4B 8GB + Argon One корпус + SSD диск + Zigbee стик 2652P. Я сервер разместил в котельной, так как там есть и питание и WiFi роутер с LAN портом и куча свободного места, где можно все это добро удобно расположить и в тоже время ограничить доступ посторонним. Далее Zigbee устройства наполняют сеть. Те, что питаются от сети 220V, обычно являются еще и репитерами — расширяют сеть. Понятно, что не все работает по Zigbee, есть еще WiFi устройства (обычно самодостаточные продукты, типа умного пылесоса, лампочек, увлажнителей, обогревателей и т.д.), Bluetooth датчики или устройства. Я стараюсь избегать Bluetooth протокола из-за небольшой дальности работы и необходимости еще одного шлюза.
Дополнительный сервер. Xiaomi EU шлюз. Гостевой дом у меня небольшой, всего около 30 кв. метров. Для его покрытия с лихвой хватает шлюза сяоми с Home Assistant. В гостевом доме устройств и датчиков не сильно много, поэтому разворачивать еще один сервер на Raspberry было бы расточительно. Также настроено общение между основным сервером и дополнительным по MQTT (протокол общения по типу подписчик-издатель, то есть кто-то публикует сообщения, а кто-то их слушает).
Таким образом, в основном сервере можно управлять сразу всем, что есть и в основном доме и в гостевом, а в случае аварии на основном сервере, дополнительный продолжает работать. Вообще, в идеале, делить сеть на как можно большее число серверов, но это очень дорого и сложно.
Вывод
В данной статье рассмотрели из каких компонентов лучше собрать умный дом на Home Assistant. По соотношению цена-качество-удобство использования, это считается лучшей сборкой на данный момент. Знаю, что некоторые сидят на Intel NUC, но NUC сервер прилично дороже сборки на Raspberry. NUC обычно продается как голая материнская плата и если посчитать все затраты на накопитель, RAM память, блок питания, то получается уже кругленькая сумма. Можно также использовать старый компьютер или ноутбук, но тут вопрос уже сколько он проживет и плюс потребление ноутбука и Raspberry несравнимо.
Ссылки
Полезные ссылки на товары из этой статьи, кроме самоделок, которые можно купить в специализированной группе.
Raspberry Pi4B 8GB (и другой объем)
Argon One M.2 корпус
Оригинальный блок питания Raspberry
SSD Netac 240GB (и другие объемы)