Хаб для умного дома на основе Z-Wave и Raspberry Pi

Как сделать Хаб для умного дома на основе Z-Wave и Raspberry Pi

В этой статье мы расскажем, как сделать надежную систему умного дома своими руками. Для этого подойдет радиопротокол Z-Wave и серверное ПО Z-Way. Хаб же создадим на основе легкодоступного одноплатника Raspberry Pi, модуля RaZberry и бесплатного софта.

Почему своими руками, когда есть универсальные софтверные хабы, которые поддерживают множество устройств с разными протоколами ( например, openHUB, Home Assistant, Domoticz, ioBrocker, где поддержка Modbus, ZigBee, Z-Wave, 1-Wire и других протоколов обеспечивается с помощью открытых модулей сторонних разработчиков)?

РЕКОМЕНДУЕМ:
Дешевый хаб для устройств Z-Wave и ZigBee

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

Z-Way — ПО для умного дома
Z-Way — ПО для умного дома

Контроллер Z-Way поддерживает любые устройства с Z-Wave и может работать как на мощном сервере, так и на встраиваемой системе. Преимущество Z-Way в возможности добавлять  новые протоколы с помощью модулей, написанных на C/C++, или приложений на JavaScript. Уже готовый софт для разных платформ, например, сборку для роутеров Zyxel и накопителей WD, вы найдете на сайте проекта.

Установка Z-Way на Raspberry Pi

Raspberry Pi
Raspberry Pi

Для работы Z-Way установим плату RaZberry в колодку GPIO Raspberry Pi. Плата занимает первые десять пинов, хотя использует только: 3,3 В, GND, RX, TX. Серверное программное обеспечение Z-Way можно установить на любое поколение Raspberry Pi.

Рассмотрим различные способы установки.

Минимальная установка. На последнем Raspbian скачиваем и ставим в систему пакет deb. При этом будет установлен только сервер Z-Wave без удаленного доступа.

Обычная установка. На последнем Raspbian запускаем установочный скрипт. Будет установлен сервер Z-Wave и активирован удаленный доступ.

Максимальная установка. Есть готовый образ системы c уже установленным сервером Z-Wave, активированным удаленным доступом и настроенным Wi-Fi в режиме точки доступа. Это самый простой и быстрый способ поднять полноценный хаб умного дома на Raspberry Pi.

Вот как записать образ на карточку, если у тебя Mac.

В Linux различается разве что команда монтирования. Но если возникнут сложности или у тебя Windows, то можешь воспользоваться сторонним софтом — например, Etcher.

На свежеустановленном Z-Way нужно найти IP-адрес контроллера RaZberry в локальной сети. Можно посмотреть на роутере список подключенных устройств, а можно зайти на сайт удаленного доступа https://find.z-wave.me и увидеть подключенный контроллер. При первом старте предлагается установить пароль администратора.

Вверху отображается ID удаленного доступа
Вверху отображается ID удаленного доступа

Добавление беспроводных датчиков Z-Wave

После успешного запуска системы домашней автоматизации можно добавить пару датчиков Z-Wave и посмотреть, на что они способны. В моем распоряжении оказался датчик движения Philio PSP05, работающий от батарейки CR123A, и лампа RGBW Z-Wave.Me ZMR_LBA60 с цоколем E27.

Минимальный комплект для автоматизации освещения
Минимальный комплект для автоматизации освещения

Переходим на страницу добавления устройств Z-Wave: «Меню → Устройства → Z-Wave Добавить новое → Автоматически обнаружить Z-Wave-устройство». Нажимаем «Старт». На датчике движения в этот момент нужно нажать кнопку три раза подряд. При добавлении лампы нужно трижды выключить-включить выключатель.

Добавляем устройства
Добавляем устройства

После успешного добавления датчика и лампы на главной странице появится несколько виджетов устройств, можно использовать их при создании сценариев или просто управлять техникой с телефона. Лампа позволяет настроить любой цвет, цветовую температуру от теплого (2600 К) до холодного (6500 К) и плавно менять яркость. Датчик движения выполнен в форме и размере глаза, годится для скрытой установки и при каждом движении отправляет команду на контроллер.

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

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

Лог показывает в реальном времени все данные радиообмена
Лог показывает в реальном времени все данные радиообмена

Добавление проводных датчиков температуры DS18B20

Хаб для умного дома на Z-Wave и Raspberry Pi

Z-Wave-плата RaZberry занимает только первые десять пинов GPIO. Оставшиеся тридцать можно использовать для подключения проводной периферии, такой как реле, светодиоды и датчики температуры.

Подключение датчиков стоит производить на выключенной Raspberry Pi, чтобы случайно что-нибудь не спалить.

Датчик температуры DS18B20 дешев и удобен в подключении, работает по шине 1-Wire на расстоянии до 300 м. К одному пину Raspberry Pi можно подключить несколько десятков датчиков, чего должно хватить для большинства бытовых нужд. По умолчанию для 1-Wire используется пин 4, но его перекрывает плата RaZberry, поэтому в конфиге нужно выбрать другой пин, например 24, и активировать работу с 1-Wire.

Линию данных 1-Wire нужно подтянуть к питанию 5 В с помощью резистора на 4,7 Ом и далее можно подключить несколько датчиков температуры. Пины питания перекрыты платой RaZberry, но на самой плате есть дублирующие разъемы, поэтому с подключением не будет проблем.

Подключение датчика температуры DS18B20 к Raspberry Pi
Подключение датчика температуры DS18B20 к Raspberry Pi

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

Если все в порядке, отобразится список из двух датчиков, у каждого из которых можно запросить текущую температуру:

Смотрим текущую температуру в терминале
Смотрим текущую температуру в терминале

Осталось отобразить показания датчиков в панели домашней автоматизации Z-Way. Для этого создадим виртуальное устройство, которое раз в минуту будет считывать показания температуры.

Меню → Приложения → Локальные приложения → JavaScript-устройство
Меню → Приложения → Локальные приложения → JavaScript-устройство

Код опроса одного из датчиков:

Чтобы разрешить из системы автоматизации выполнять системные команды, нужно в файл /opt/z-way-server/automation/.syscommands добавить разрешенную команду cat.

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

Виджеты датчиков температуры
Виджеты датчиков температуры

Добавление проводных реле Arduino

Реле
Реле

Для Arduino и не только продаются недорогие модули с одним, двумя, пятью и более реле на борту. Модули управляются от 5 В и коммутируют 220 В, их можно использовать для управления освещением и бытовыми приборами типа насосов, проветривателей, вентиляторов. Подключив реле к Raspberry Pi, можно настроить сценарий, где беспроводной датчик включает свет. Схема подключения проста: модуль подключается к питанию 5 В и управляется с любого свободного пина. Для примера я выбрал 25-й пин.

Схема подключения
Схема подключения

Проверить работу реле можно из терминала следующими командами:

Чтобы добавить реле в систему автоматизации Z-Way, нужно создать виртуальное устройство: «Меню → Приложения → Локальные приложения → JavaScript-устройство».

Создание устройства
Создание устройства

Команда включить:

Команда выключить:

Чтобы разрешить выполнять системные команды, нужно в файл /opt/z-way-server/automation/.syscommands добавить разрешенную команду echo.

Теперь можно управлять реле из веб-панели Z-Way
Теперь можно управлять реле из веб-панели Z-Way

При каждой перезагрузке потребуется инициализировать 25-й пин на выход, поэтому создадим загрузочный скрипт инициализации: «Меню → Приложения → Локальные приложения → Пользовательский код JavaScript».

Хаб для умного дома на Z-Wave и Raspberry Pi

Команды инициализации 25-го пина на выход:

Настройка автоматизации

В Z-Way встроено более пятидесяти приложений автоматизации, и еще более ста можно загрузить из бесплатного онлайнового магазина.

Приложения автоматизации
Приложения автоматизации

Есть приложение «Умное освещение», в настройках которого нужно только выбрать датчик движения и светодиодную лампу. Предположим, алгоритм работы будет следующий: с 7:00 до 00:00 лампа будет включаться на максимум, с 00:00 до 7:00 — только на 20%.

Так выглядит настройка приложения
Так выглядит настройка приложения

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

Виртуальный термостат
Виртуальный термостат

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

Понравилась статья? Поделиться с друзьями:
Комментарии: 2
  1. Павел

    Там где про датчик Даллас , сопротивление не правильно указали

  2. Катя

    Как получить

Добавить комментарий