Хаб для умного дома на основе 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.

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (5 оценок, среднее: 5,00 из 5)
Загрузка...
Понравилась статья? Поделиться с друзьями:
Комментарии: 1
  1. Павел

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

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