Умная розетка raspberry pi

Опыт построения умного дома на Raspberry Pi и открытой платформе OpenHAB. Часть 1

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

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

Тем не менее вы найдете для себя много полезной информации и ссылок, а главное при минимальных навыках поиска информации в интернете вы сможете сами найти все необходимые пошаговые инструкции. В наш век DIY (Do It Yourself, самоделки), вы все можете получить в виде 5-20 минутных делай-как-я видео инструкций. Нынче никто уже не пишет по-старинке.


Перед началом эпического описания собранной системы несколько наблюдений. Если вы хотите умный дом так как вы хотите, вам придется делать его своими руками. Эта истина все еще свежа как и два года назад. К сожалению, производители с мировым именем выпускают какое-то барахло, непонятно кому и зачем нужное. Вы можете накупить множество различных штук, каждая из которых будет автоматизировать одну определенную задачу, но собрать все воедино в одном приложении — нереально. То одного нет, то другого. Несмотря на весь хайп вокруг IoT, плаг энд плеем это так и не стало.

Для начала расскажу что и как было сделано до начала автоматизации и какие наиболее актуальные задачи стоят.

Читайте также:  Источник бесперебойного питания 650ва 6 розеток 2usb tdm

Итак, характеристики того что есть.

  1. Дом — 2 этажа, 140 кв.м, брус.
  2. В доме 15 КВт электроэнергии
  3. Разводка электрики сделана в щиток на DIN рейку. Щиток правда барахло, надо бы поменять, на что-нибудь получше, но пока довольствуемся тем что есть, уж очень геморройно будет все переделывать…
  4. Водоснабжение — скважина 35м и колодец 15м. В колодце 2 насоса, один — полив участка, дает где-то 2.5бар, и харьковский скважинный на водоснабжение дома (планируется переезд на скважину, если мы поймем, что там вода лучше). В скважине маленький насос из разряда чтобы был и скважина не заиливалась, что-то типа малыша. Сейчас не используется, но думаем все-таки перейти на него. Вода в дом подается через джилексовский «Краб 24». Точно такой же «Краб 24» стоит в колодце для управления насосом на полив.
  5. Так как все новое, все освещение изначально делаем только на светодиодах.
  6. Разводка довольно грамотная, по комнатам. Каждая комната заведена на свой автомат 16А.
  7. Обогрев организован радиаторами с разводкой пластиковыми трубами по всему дому.
  8. Теплоноситель в батареях зимний, что-то типа тосола. Но при падении давления предусмотрен клапан добавить давления в систему.
  9. Обогрев осуществляется электрическим котлом Protherm, 12кВт, достаточно умным, чтобы уметь поддерживать заданную температуру теплоносителя и ограничивать свою мощность двумя-четырьмя-шестью-восемью и двенадцатью киловаттами.
  10. Горячая вода — два электрических водонагревательных котла. Один на ванную комнату, чтобы можно было мыться и принимать ванну (100л) и один в кухне, мыть посуду, литров 15.
  11. Канализация — септик Юнилос, живет своей жизнью. Все что нужно — подача электричества.
  12. Internet Gpon, 70Mb/s. Я когда своим коллегам из Европы рассказываю, что у нас в деревне в 80км от Москвы есть оптика, они делают круглые глаза. Я сам сделал круглые глаза когда уже после покупки дома во второй свой приезд, увидел оптический кабель на столбе напротив моего дома.
  13. Apple TV. Ну не смотрим мы TV, зато нетфликсы и другие стрим сервисы вполне себе.
Читайте также:  Что лучше гипс или алебастр для крепления розеток

Что хотелось иметь:

  1. Управление котлами (2 водонагревательных), один системы отопления.
  2. Управление светом на улице в темное время суток. Включать с закатом, выключать с рассветом.
  3. Управление светом дома из разряда когда-нибудь.
  4. Управление поливом. У нас есть 12 грядок, засаженных горохом и клубникой. Ну и зелень к шашлыкам.
  5. Система видеонаблюдения на будущее, пока дом на пультовой охране Дельта.

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

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

Первое что пришлось делать — выбирать платформу. Вариантов много, кто-то использует Domoticz, мой же выбор пал на OpenHAB. Во многом благодаря вот этому видеоблогу. Видео на YouTube:

Почему выбор пал на нее:

  • Она очень гибкая, можно сделать все что угодно.
  • Есть коннектор в мир автоматизации Apple Home Kit.
  • Работает на Raspberry Pi.
  • Есть свое приложение для телефона и свой Cloud для работы с ним.

Второе — железо. Как работник Broadcom, не могу заставить себя купить какой-нибудь Intel ;))) Есть две вещи, в котором BCM лучше всех в масс-маркет сегменте, это чипы для Raspberry Pi и чипы для роутеров :). Ну а если еще более развернуто, то мне хотелось дополнительно к автоматизации дома на своем собственном проекте посмотреть как обстоят дела в мире embedded-систем, что там с ARM, что там с софтом. Ну и сам по себе комп за 50 баксов (на самом деле дороже из-за корпуса, флэшки и блока питания), это же круто. Очень хотелось попробовать. Это был мой первый RaspPi, поэтому все было интересно.

Кроме этого, для того, чтобы что-то сделать рабочее, нужно чем-то как-то управлять. На связке OpenHAB-RaspPi управлять можно выводами GPIO RaspPi и через WiFi с протоколом MQTT (Mosquito) https://mosquitto.org/man/mqtt-7.html. Если вы еще не знаете, что это, советую почитать про него. Это легковесный message-based протокол, который может работать на самых простых микроконтроллерах. Я честно думал, что буду собирать сам датчики на ардуинках, даже купил две. Но практика показала, что все есть готовое и надо только его правильно подать (перепрошить). Об этом речь пойдет во второй части.

В качестве устройств которыми управлять после недели поисков в интернете и просмотра блогов (видеоблогов, каюсь), выбрал следующие два устройства:

Для того, чтобы запитать такого зверя мне понадобились реле. Паять желания нет, да и кто сейчас такое паяет. Идем в Чип и Дип (не реклама) или любой другой магазин электроники и покупаем. Рублей 300.

Пока писал, подивился, оказывается появились прямо готовые платки с реле для крепления на борду моей малинки. https://www.chipdip.ru/product/rpi-relay-board. Куплю как-нибудь.

Итак, железо собрано. Теперь дело за софтом.

Первый этап — накатываем OpenHABian. Это образ, который надо распаковать на флэшку вашего будущего сервера домашней автоматизации. Качаем отсюда, там же есть подробная инструкция что и как. Потом вставляем флэшку в малинку, подключаем питание и ждем часик. В этот момент установочный скрипт сам все для вас настроит. Далее вы заходите на веб-мордочку и администрируете там. Кроме этого, у системы есть несколько текстовых файлов, которые приходится время от времени править ручками. Sitemap, Items и Rules, предназначенных для различных нужд. Например в Sitemap вы описываете то, что будет в вашем управляющем софте. То есть кнопочки и переключатели-выключатели. В Rules можно писать разные правила, например там я сделал включение-выключение света в темное время суток по астрономическим данным. Items описывает ваши устройства, которыми вы управляете. Прежде чем умело начать всем этим пользоваться, я смотрел пошаговые видео инструкции от уже упомянутого подростка mk-smarthome.

Второй этап — сборка схемы в электрощитке. Установка контактора, блока реле, проводки между ними. С GPIO я подаю сигнал на блок реле, а уже оттуда 220V AC на контактор. Контактор включает 12КВт электропечку.

Ну и третий этап — конфигурируем наше только что собранное в софте OpenHAB.

Я сделал это за первый вечер. Итогом моей работы стало рабочее приложение на айфоне (а также на андроиде или просто в браузере), которое через свое родное облако связывается с моим Raspberry Pi с OpenHAB. Это особо важно при выборе платформы, чтобы самому не заниматься написанием кода для своего телефона, не устанавливать клаужных серваков и.т.д. И все это забесплатно. То есть по цене оборудования. Софт OpenHAB — безвозмезден.

Что омрачило мои занятия — так это борьба Роскомнадзора с Телеграммом. Если помните, они начали банить все IP-подсети подряд. В том числе и github, OpenHAB.org, и.т.д. И если основные ресурсы пришли в себя довольно скоро, то вот OpenHAB, которым в РФ пользуется, видимо, три инвалида включая меня еще год работал с косяками. Нет, не в боевых своих функциях, а в моменты апгрейдов и апдейтов софта. Я год ходил на сайт OpenHAB через анонимайзер-прокси… Это убедило меня, что с IoT в нашей стране все грустно. Еще одно замечание в сторону OpenHAB. Не надо апгрейдить рабочую конфигурацию. Сделайте бэкап всего и вся перед любыми подобными действиями. При переходе на какую-то новую мажорную версию я как-то зимой оставил себя без обогрева… Пришлось сначала подключать все байпассом, чтобы не замерзнуть, а потом полночи чинить сломанную конфигурацию. При переходе на новые версии у них меняются форматы, подходы и.т.д.

Вот так в итоге выглядит мое приложение.

Через пару недель я реализовал программный термостат в OpenHAB, используя беспроводной датчик температуры-влажности на Sonoff TH16 (ардуиноподобный китайский процессор ESP8266 с вайфаем и релюшечки типа уже продемонстрированной сверху). Но обо всем этом во второй части. А пока пишите что вам рассказать поподробней. Во второй части добавлю.

Источник

Умный дом Xiaomi ZigBee на Raspberry Pi + Home Assistant


В этой статье пойдет речь о датчиках, розетках, выключателях Xiaomi Aqara/Mijia. Я расскажу как подключить ZigBee устройства без родного шлюза Xiaomi и избавиться от облачного сервиса. Все устройства не требуют перепрошивки и доработки и будут работать из коробки. Так же, можно подключать большинство устройств с протоколом ZigBee.

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

Скачиваем с официального сайта программу SmartRF от Texas Instruments, flash-programmer-1.12.8, устанавливаем и запускаем.

Нажимаем на три точки напротив Flash image указываем путь к файлу прошивки и нажимаем Perform actions.
Данная прошивка представляет шлюз для конвертирования протокола ZigBee в протокол MQTT который универсален и используется всеми платформами для умного дома.

После чего подключаем ZigBee Sniffer в порт Raspberry PI.
Теперь необходимо узнать на каком порту у нас находится сам сниффер, для этого в панели Hass.io переходим в закладку System и нажимаем на кнопку Hardware.

В моем случае серийный порт сниффера находится по адресу /dev/ttyACM0.

mqtt:
broker: 192.168.1.7
port: 1883
username: имя
password: пароль
discovery: true
discovery_prefix: homeassistant

sensor:
— platform: mqtt
name: Zigbee-Bridge state
state_topic: «zigbee2mqtt/bridge/state»
icon: mdi:router-wireless

# Zigbee2mqtt
input_boolean:
zigbee_permit_join:
name: Allow devices to join
initial: off
icon: mdi:cellphone-wireless

timer:
zigbee_permit_join:
name: Time remaining
duration: 600 # Updated this to the number of seconds you wish


Перезагружаем Home Assistant.
Теперь для поиска новых устройств ZigBee достаточно нажать на переключатель Allow devices to join. Через 10 мин поиск прекратится.
Теперь все готово для подключения новых устройств!

Подключение устройств

Включаем поиск устройств Allow devices to join. Поочередно на каждом устройстве нажимаем на несколько секунд кнопку спаривания, до загорания индикатора.
На датчике температуры и влажности кнопка находится сверху, через несколько секунд мигание прекратится. И устройство появится в разделе Интеграции и разделе Устройства.

Переходим в MQTT: configuration.yaml

И видим наш датчик.

Нажимаем на него и попадаем в меню настройки датчика
Каждому значению необходимо добавить понятное название

Нажимаем на шестеренку и вводим свое название

Тепер можно вывести данные данного сенсора на главный экран, это проще всего сделать из этого меню


В всплывающем окне будет предложена страница главного экрана если их неколько как у меня, после чего появится окно с пунктами, необходимо нажать ADD TO LOVELACE

Переходим на главный экран и видим наш датчик

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

Мониторинг ZigBee сети

Для удобства контроля всех устройств ZigBee добавим монитор сети.

UPD. В новой версии zigbee2mqtt данный функционал уже встроен и дальнейшие действия не требуются.

Скачиваем плагин zigbee2mqtt-networkmap, окрываем конфигуратор и добавляем его в папку www.

В конфигурацию configuration.yaml добавляем следующий код:

Для добавление карточки на главную страницу необходимо переключить внешний вид в Lovelace YAML mode, перейти в редактирование нажав на три точки в верхнем правом углу.

Далее необходимо переключиться в Текстовый редактор

В начале файла добавить следующий код

В конец файла добавляем саму карточку Карты сети

panel: true — разворачивает карту на весь экран. В результате получаем такую карточку

Источник