Русский
Русский
English
Статистика
Реклама

Homekit

Автоматизируем работу системы отопления в квартире без переделки интерьера умный дом z-wave

10.09.2020 18:21:56 | Автор: admin
Давно у меня стояла задача по автоматизации работы системы отопления в доме. Дано классические термостаты теплого пола ballu с крутилкой покупались в leroymerlin в далеком 2017 году для управления электрическим полом.


Сейчас мне необходимо автоматически включать теплые полы в ванной и на балконе по геолокации, семидневному расписанию или событию. Для своей цели я долго выбирал смарт термостаты и остановился на Heatit Z-TRM3 термостат с Z-Wave чипом 5го поколения на частоте 869mhz.

В комплекте все что нужно инструкция на русском языке, ntc type температурный датчик теплого пола и сам термостат со съемной монтажной рамкой для удобства.

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


Сам термостат есть в черном и белом цвете, он позволяет устанавливать температуру теплого пола не только с телефона или контроллера Z-Wave, но и с дисплея на термостате.


Heatit совместим с apple homekit и яндекс алисой, как и практически любые Z-Wave устройства, сейчас постараюсь рассказать как настраивал управление.

Нужен нам Z-Wave контроллер, я выбирал хаб исходя из некоторых соображений: цена, функционал, стабильность, интеграция с голосовыми помощниками и остановился на контроллере RaZberry. Это хаб с ПО Z-Way с неплохим базовым набором функций, так выглядит web интерфейс /smarthome


Поскольку Z-Wave это радио протокол управления, в хабе можно выбрать нужную частоту контроллера через expert ui интерфейс:


Ну тогда по порядку, снимаем старый термостат, устанавливаем наш Heatit по схеме. Для добавления устройства переводим контроллер в режим добавления, для простоты выберем добавление без шифрования, хотя устройство с чипом Z-Wave 500 серии имеет возможность надежно шифроваться алгоритмом AES-128 для параноиков :) термостат можно и так подключить.


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

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

А вот так выглядит настроенный термостат в стандартном бесплатном мобильном приложении, оно называется Z-Wave.Me, можно скачать с AppStore / PlayMarket.


Ну мне этот интерфейс не слишком нравится, хотя вроде все есть темная тема, смена иконок, комнаты, правила, пуш уведомления.

Почему-то нравится HomeKit. И настройка очень простая заходим в интерфейсе в раздел приложения онлайн приложения ищем HomeKit, жмем добавить, называем наш мост умного дома и готово! вводим полученный HomeKit pin в приложении Дом на iPhone/iPad.


В Homekit я настроил новые виджеты, добавил в комнату Ванная и в избранное, получилось вот так:


Управлять в приложении Дом можно как локально так и удаленно если у тебя есть iPad/homepod/apple tv.

Настроил автоматизацию по геолокации я прямо в приложении дом за пару минут:


(Валентина это остановка по пути к дому, после этой локации обычно через 15-20 минут я дома)

И все отлично работает, тут-же можно настроить семидневное расписание, ну или быстрее даже будет в интерфейсе z-way smarthome, заходим в локальные приложения, выбираем расписание, задаем нужный график работы на 7 дней и жмем сохранить:


Также я настроил правило если тогда при открытии входной двери после 19.00 по будням включается термостат на обогрев, это на случай а вдруг у меня геолокация была отключена и не сработала.

По голосовому управлению Siri не совсем адаптирована под русский язык, тем более у меня есть Яндекс станция, решил и это настроить чтоб можно было сказать Алисе теплый пол 30 градусов не вставая с дивана. Это всегда удобно. Для этого нам надо в приложении Яндекс на iOS/Android зайти в раздел Устройства, добавить устройство другое устройство и ищем в списке производителей Z-Wave.Me. В моем случае надо нажать обновить список устройств, так как хаб уже добавлен в Алису. В конце выйдет окно с настройкой устройства.


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


Кстати, сам термостат Heatit поддерживает достаточно много классов команд, можно посмотреть в интерфейсе контроллера:


Например, класс команд Association позволяет при включении режима обогрева на термостате в ванной автоматически включать этот режим на термостате на балконе, иногда это удобно и я этим пользуюсь.

А еще в этом термостате есть интересная функция SmartStart, я могу отсканировать QR-коды всех устройств мобильным приложением, подсоединить контроллер к интернету и включить питание каждого гаджета, дальше произойдет магия QR-код содержит информацию о так называемом уникальном ключе устройства (Device Specific Key, DSK), который производители присваивают каждому компоненту умного дома контроллерам, датчикам и актуаторам. После сканирования QR-кода информация об устройствах сохраняется не в мобильном приложении, а в специальном облачном сервисе. Из него контроллер по DSK-ключам получает сведения о конфигурации всех гаджетов, которые нужно зарегистрировать в сети.

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

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

Схема моего умного дома на основе ESP8266

21.02.2021 18:04:28 | Автор: admin

Захотелось мне сделать свой дом умным. И чтобы он был дешевым, простым и надежным. Как оказалось, это сделать возможно. Но... готовых умных домов я не смог найти. Те, что имелись на рынке, либо дорогие, либо нефункциональные, либо невнятные и т.д. и т.п. Вспомнил я про Arduino. И оказалось на нем можно это сделать (точнее не на нем, а на очень похожем на него контроллере ESP8266). Правда это уже будет целым хобби. Просто взять купить и поставить не получится. Нужно искать, собирать, паять, соединять и конечно же программировать. Ок, поехали!

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

Требования

Итак, требования к умному дому, как хобби, такие:

  1. Обойтись по возможности без пайки.

  2. Не вдаваться глубоко в радиоэлектронику.

  3. Все задачи решать в основном программированием.

  4. Языки программирования C++ и JavaScript.

  5. В качестве связи устройств использовать Wi-Fi, 1-Wire, I2C.

  6. Устройства должны быть дешевле чем Xiaomi.

В общем, если заметили, требования как у программиста. Если можно, то все решать программированием. Автор все-таки программист, а не писатель и тем более не радиоэлектронщик.

Устройства

После поисков был найден микроконтроллер ESP8266. Он программируется легко как Arduino. У него есть Wi-Fi на борту. Цена начинается от 80 рублей за штуку. В общем соответствует требованиям полностью. Я бы взял Arduino, но у него, к сожалению, нет на борту Wi-Fi. Единственное что смущает это энергопотребление. Но такого требования как батарейки у меня нет. Пока нет.

Контроллер ESP8266 оказался таким дешевым, что можно на каждый датчик или исполнительное устройство ставить по такому контроллеру. Можно ли так делать или нет я пока не знаю. Это я буду проверять уже на практике. Физических препятствий этому нету.

Самый дешевый вариант ESP8266, называется ESP01Самый дешевый вариант ESP8266, называется ESP01

Так как ESP8266 является весьма мощным контроллером, то к нему можно подсоединять несколько датчиков и исполнительных устройств. Поэтому можно сделать гибридную сеть (Wi-Fi + провода). Несколько ESP8266 соединяются с сервером по Wi-Fi. А на каждой ESP8266 могут быть несколько устройств, подсоединенными по 1-Wire или I2C. Например, сеть температурных датчиков.

ESP8266 можно программировать самостоятельно. Как Arduino. Я так и хотел сначала сделать, но нашел такое явление как готовые и универсальные прошивки для ESP8266. Их довольно много. Я выбрал под свои требования ESP Easy. Ее возможностей хватает для всего что мне нужно.

Сервер

Кроме ESP8266 в схеме умного дома будет сервер. Ну куда ж без него. Его можно написать полностью самому. Но ознакомившись с темой умного дома я нашел такие универсальные средства как: MQTT-брокер, средство визуального программирования Low Code Node Red и мост Homebridge. Последнее я припас для соединения своего умного дома с Apple HomeKit + Siri. Эти средства оказались настолько популярными, универсальными, простыми, надежными, что я решил на их основе и строить сервер.

Куда же размещать эти программные сервера? Можно просто на ноут кинуть или на что-то более специализированное. Можно также в облако. Особых требований у меня пока нет для выбора физического сервера, потому остановился на том, что больше все понравилось, а именно Малина. Итак, для сервера выбрал Raspberry Pi Zero W, который отвечает всем требованиям: цена 1500 рублей, wi-fi на борту, простота в программировании. И еще можно его запихнуть в DIN-корпус для установки в электрощиток.

Резюме

В итоге получилась такая схема. В электрощитке будет находиться Raspberry Pi Zero W для хранения логики работы моего дома. Без него умный дом работать не будет. Поэтому запитываться он будет от сети и от резервной аккумуляторной батареи.

Каждое устройство создается на основе ESP8266. Запитываться будет либо от сети либо от батарейки. Если батарейки не будет хватать хотя бы на полгода, то придется подумать как это решить (тут мне подсказывают, что ZigBee позволяет создавать более экономные устройства, чем Wi-Fi, но ZigBee более сложный, чем Wi-Fi).

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

Что дальше?

Дальше я расскажу как собрал первое тестовое устройство. Имитация лампы освещения и кнопки. В качестве лампы будет обычный светодиод. Кнопка просто кнопка. И еще в устройстве будут два датчика DHT11 (влажность) и BMP085 (давление и температура). Все это будет подключено к Homekit и Алисе.

Подробнее..

Сетевой интерфейс для программируемого реле с поддержкой Telegram Bot и HomeKit

07.05.2021 14:19:42 | Автор: admin

Как я реализовал удаленное управление и мониторинг, для программируемого реле ПР200, используя разные сервисы (Telegram Bot, HomeKit) и протоколы (Modbus RTU, Modbus TCP, mqtt) и ESP32.

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

Долгое время я использовал сетевой интерфейс на основе модуля esp8266, на сегодня более перспективным вижу использование модуля esp32, долгое время я не рассматривал его из-за размеров, но впоследствии, проработав разные варианты, удалось не только вместить все на одной плате, но и сделать решение более универсальным и удобным.

Первая версия платы на основе ESP32

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

В обновленном варианте добавил ещё и кнопки сброса и загрузки при прошивке, а так же добавил поддержку модулей ESP32-WROVER с PSRAM, это позволит использовать больше памяти и расширит возможности.

В общем, структура взаимодействия сетевой платы с программируемым реле основана на протоколе modbus rtu, а с внешним миром варианты могут быть самые разнообразные от bluetooth до TelegramBot.

TelegramBot

Именно с поддержки бота я и начал опыты, на раннем этапе получилось вот такая реализация:

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

Для универсальности взаимодействие бота с алгоритмом в приборе, использован режим чтения/записи сетевых регистров Modbus а разных форматах представления:

/R- целое 16 битное значение

/I-целое число занимающее 2 регистра

/F- число в формате float тоже 2 регистра.

После символа адрес в диапазоне 512-576, эти регистры можно читать и записывать, формат для записи /Xzzz=nnnn, для чтения достаточно отправить номер регистра в требуемом формате.

Для представления состояний регистра в битовых полях, можно отправить адрес в формате /Bzzz, ответ будет в виде 16 значения в булевом формате.

Apple HomeKit

Следующим этапом был сервис Apple HomeKit и приложение дом, как раз для управления освещением и другими точечными нагрузками он подходит лучше всего, я начал с 16 каналов, по количеству бит в регистре модбас.

После выхода обзора по такому применению,

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

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

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

Так же протестировал mqtt, идея задания топиков взята из версии платы для esp8266. Проверил поддержку датчиков 1-wire ds18b20, для их подключения к плате предусмотрены посадочные места под разъем, и сигнальные линии с резисторами, такой-же использовался в плате prsd на esp8266.

4 пина, два из которых +3.3v и gnd, позволяют задействовать 2 порта в качестве интерфейса 1-wire или i2c. I2C позволяет подключать всякую экзотику, которую практически невозможно состыковать в базовой поставке прибора. Например, датчик влажности/давления с I2C или RFID ридер.

Для быстрого просмотра значений регистров используется протокол Modbus TCP, запустив Modbus Poll на ПК или Virtuino/Kascada и другие приложения на Android, можно быстро организовать доступ и управление устройством с помощью телефона или планшета.

Остальные настройки WEB интерфейса представлены ниже:

WEB настройки

Для смены прошивки платы, когда она уже установлена в устройство, предусмотрен режим обновления по воздуху (OTA), для этого достаточно выбрать bin файл, после загрузки прошивки устройство перезагрузится и запустится обновленная версия. Так же можно перезагрузить плату в ручном режиме через web кнопку.

При первом старте, когда устройство не имеет настроек точки доступа и пароля и не может подключиться к сети wi-fi, плата включает режим точки доступа для подключения и ввода ssid и pass, после сохранения значений и перезагрузки если подключение к сети успешно, точка доступа выключается. Если токен Telegram bot введен, то после подключения и выхода в интернет, узнать IP адрес платы можно введя команду. Через бот можно получить и другую информацию.

Основные моменты по работе представлены в видео.

На данный момент прошивка находится в режиме доработки, демонстрационные версии будут доступны позже.

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

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

В меню бота есть возможность смотреть время бесперебойной работы в секундах, текущий и минимальный объем доступной Heap памяти, используя один и тот же токен для TelegramBot, можно читать параметры сразу с нескольких устройств, аналогично и на запись параметров. Т.е. любая команда, отправленная с телефона боту, отправляется всем устройствам с токеном, это происходит не всегда, иногда отвечает только часть устройств, и приходится делать запросы повторно. Сейчас все они не имеют привязки к имени, думаю сделать уникальные имена для отличия при запросах/ответах.

Используя несложный сетевой интерфейс с чипом ESP32, можно значительно расширить функционал программируемого реле ПР200 и в перспективе ПР103, куда можно установить сетевой интерфейс, другие модели ПР100/ПР102 потребуют внешний драйвер RS-485 для подключения снаружи, так как сетевые интерфейсы в них не съемные.

Наличие программатора на борту платы, позволяет создать собственные алгоритмы с быстрой загрузкой в устройство, необходимо лишь обеспечить обмен по протоколу Modbus на стандартных выводах UART esp32.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru