Сервер умный дом на windows

Уровень сложности
Простой

Время на прочтение
11 мин

Количество просмотров 24K

В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).

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

В данной статье мы поговорим о том, как создать умный дом на платформе Home Assistant. Home Assistant — это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.

Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.

Пример интерфейса Homeassistant

Пример интерфейса Homeassistant

Нам потребуется компьютер или ноутбук с 512+ Мб ОЗУ

Если ваш компьютер или ноутбук имеет 64-битный процессор, установка Home Assistant значительно упрощается, так как подробная инструкция доступна на официальном сайте.

Однако, если у вас есть устройство с 32-битным процессором и архитектурой i386, то установка аддонов для работы с внешними датчиками может быть сложной из-за отсутствия официальной поддержки. Однако, не отчаивайтесь, поскольку в этой статье мы рассмотрим способы установки на такие устройства. (Важно отметить, что эти методы также могут быть применены на 64-битных системах, но они сложнее официальных в реализации).

1. Установка системы

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

Начнем с установки. Этот процесс одинаков практически для любой системы.

  1. Скачайте последнюю версию ISO.
    Я выбрал образ «Small», так как он включает большинство файлов в образ, что требует меньше загрузки в процессе установки.

  2. Скачайте Balena Etcher, инструмент для записи ISO-образов на USB-накопитель. Если вы работаете в системе linux, вместо этого можно использовать dd.

  3. Подключите загруженный USB-накопитель к системе и загрузитесь с USB.

  4. Следуйте процессу установки.
    Большая часть процесса — это следование настройкам по умолчанию и просто нажатие кнопки Continue.

    Не забудьте ввести учетные данные для пользователя root и пользователя, не являющегося администратором.

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

  5. После завершения установки войдите в систему по 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

Веб-интерфейс Portainer

Веб-интерфейс Portainer

При первом посещении этого портала он попросит нас создать учетную запись пользователя.

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 и все настроит.

Скачивание и установка Homeassistant

Скачивание и установка Homeassistant

Настройка Home Assistant

Теперь, когда контейнер запущен и работает, нам нужно настроить сам экземпляр Home Assistant.

Откройте браузер и перейдите по адресу http://<ip компьютера>:8123

Начальная настройка Home Assistant

Окно приветствия Home Assistant

Окно приветствия Home Assistant

Выберите имя пользователя и пароль для вашей учетной записи Home Assistant. Эта учетная запись также будет «администратором».

Далее пройдите через настройку вашей домашней зоны. В процессе настройки 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

Добавление интеграции MQTT

Мы добавляем новую интеграцию MQTT в Home Assistant и вводим учетные данные, которые мы установили минуту назад для аутентификации.

Добавление данных пользователя MQTT

Добавление данных пользователя MQTT

Логи контейнера 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').

Интеграция MQTT запущена

Интеграция MQTT запущена

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 без устройств

Главная панель Zigbee2MQTT без устройств

Нажатием на кнопку Permit join можно разрешить сопряжение Zigbee устройств

Нажатием на кнопку Permit join можно разрешить сопряжение Zigbee устройств

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

Конец

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

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

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

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

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

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

Содержание

  1. Особенности сервера для умного дома на Windows
  2. Управление устройствами
  3. Интеграция и расширение

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

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

Одной из главных особенностей сервера для умного дома на Windows является его совместимость со множеством устройств и систем. Он может взаимодействовать с умными термостатами, освещением, розетками, дверными замками, системами видеонаблюдения и другими устройствами. Благодаря этому, пользователь может контролировать и управлять всеми аспектами своего дома из одного места.

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

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

Еще одной важной особенностью сервера для умного дома на Windows является его простота использования. Веб-интерфейс обычно дружественный и интуитивно понятный. Он позволяет пользователям легко настраивать и управлять устройствами и сценариями. Даже неопытные пользователи без труда освоят основные функции сервера для умного дома на Windows.

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

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

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

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

Программное обеспечение для управления устройствами обычно предоставляет возможности для:

  • Включения и выключения устройств
  • Регулировки яркости, громкости и других параметров устройств
  • Установки таймеров для автоматического включения или выключения устройств
  • Изменения режимов работы устройств
  • Настройки сценариев и группового управления несколькими устройствами одновременно

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

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

Интеграция и расширение

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

Для интеграции сервера с устройствами умного дома обычно используются протоколы связи, такие как Zigbee, Z-Wave или Wi-Fi. Подключение этих устройств позволяет управлять различными аспектами домашней автоматизации, такими как освещение, отопление, безопасность и другие.

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

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

В целом, интеграция и расширение сервера для умного дома на Windows позволяет создать мощную и гибкую систему автоматизации, которая удовлетворит все ваше потребности и предпочтения.

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

А если вы все-таки решили погрузиться в мир 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 — вообще с чем угодно, зависит от того, как вы его ставите и с чем он взаимодействует.

Так что выбор за вами. Удачи!

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

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

Еще одним вариантом сервера для умного дома на Windows является программное обеспечение Domoticz. С помощью Domoticz вы сможете управлять и контролировать различные умные устройства, например, систему видеонаблюдения, датчики движения, термостаты и многое другое. Domoticz также поддерживает множество различных протоколов, таких как Z-Wave, Zigbee, Wi-Fi и другие, что делает его универсальным решением для вашего умного дома.

Содержание

  1. Сервер для умного дома на Windows — лучшие решения и настройка
  2. Почему Windows — идеальное решение для сервера умного дома?
  3. Основные функции сервера для умного дома на Windows

Сервер для умного дома на Windows — лучшие решения и настройка

Лучшими решениями для установки сервера умного дома на Windows являются:

  1. Home Assistant — полнофункциональная и мощная платформа с открытым исходным кодом. Она поддерживает большое количество устройств и имеет гибкий интерфейс для настройки. Установка Home Assistant на Windows может быть выполнена с использованием Docker или виртуальной машины.
  2. OpenHAB — еще один популярный выбор для сервера умного дома. Эта платформа также является открытой и поддерживает большое количество устройств. OpenHAB имеет гибкий и настраиваемый интерфейс пользователя.
  3. Domoticz — простая в использовании и надежная платформа. Она поддерживает различные протоколы связи и имеет широкие возможности настройки правил автоматизации. Domoticz можно установить на Windows в виде службы.

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

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

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

Почему Windows — идеальное решение для сервера умного дома?

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

Во-вторых, Windows предоставляет широкий спектр возможностей для работы с различными устройствами умного дома. Она имеет поддержку множества протоколов и стандартов, таких как Wi-Fi, Bluetooth, Zigbee, Z-Wave и других, что позволяет легко интегрировать разнообразные устройства.

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

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

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

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

Основные функции сервера для умного дома на Windows

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

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

Сервер для умного дома на Windows также обеспечивает возможность удаленного доступа к системе. Вы можете управлять своим умным домом из любого места, используя веб-интерфейс или мобильное приложение. Это позволяет вам проверять статус устройств, регулировать настройки и контролировать работу системы даже при отсутствии дома.

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

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

Для работы проектов 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 (и другие объемы)

  • Сервер терминалов на windows server 2008 r2
  • Сервер терминалов на windows server 2003
  • Сервер терминалов на windows server 2019 для 1с
  • Сервис пак 1 для windows 7 установка
  • Сервер сертификации windows 2012 r2