SetoKaiba
Управление климатом
Климат - это важная часть умного дома, удобство взаимодействия с которой чувствуешь сразу. Мы решили заняться этим, и начать с умного термостата для тёплых полов.
Немного истории
В начале был вовсе не термостат для теплых полов. Все начиналось с желания снизить расходы на электричество, но нормальный терморегулятор для сауны был вне располагаемого бюджета для заказчика. Изначально, стояла простая задача - подружить старый пульт с новой электрокаменной сауной, что было сделано довольно быстро. В процессе монтажа, я узнал у заказчика желания по управлению сауной, и понял, что можно воплотить это в жизнь за гораздо меньшие деньги. Глаза заказчика загорелись после того, как я рассказал о возможностях. Позже я узнал, что терминал для управления каменкой с подобными функциями стоил более 700 евро. После согласования бюджета и сроков, я на коленке собрал прототип из Arduino Mega 2560 и Ethernet Shield 2. Все это дело поставлено на боевое дежурство и начались наблюдения с периодическим посещением места для обновления ПО или устранения ошибок. Устройство работало стабильно, выполняло поставленные задачи, управляло электрокаменной сауной, в том числе и удаленно.
После завершения истории с сауной, заказчик обратился с новой просьбой. Сделать тоже самое, но с теплым полом. С этого и начался наш путь создателей продукта, а не единичных устройств. Было принято решение делать устройство на основе ESP. Это должен был быть просто термостат для теплого пола, с возможностью просмотра всех данных на одной веб странице. Опубликовав первые результаты работы, увидел много критики. Хотелось бросить и забыть о развитии проекта. Принял решение не унывать, а воспринять конструктивную критику и продолжить улучшать устройство. Первая версия - на фото.
Устройство становилось лучше, и более продуманным, а в определенный момент пришло время заняться корпусом. Так появилась вторая версия устройства
Продумывались разные варианты корпуса:
Первые прототипы были сделаны на ЗD принтере - это хорошая вещь для прототипа, но не для производства. Долго, дорого, а качество неудовлетворительное. Печать фотополимером решает вопрос качества, но вот все остальное - только усугубляет. Можно лить пластик в силикон, это выходит средний вариант по качеству между обычной 3D печатью и фотополимерной, но мы решили использовать технологию литья под давлением, что позволило снизить цену на производство одного корпуса практически в 5 раз. Возможно, он кому-то не понравится, будем благодарны за комментарии, а также уже думаем над вариантами его улучшения. Так термостат выглядит сейчас:
Что умеет наш термостат уже сейчас?
Это умный термостат для любого электрического теплого пола до 3 кВт. С пусковым током до 16А, может быть установлен в стандартный круглый подрозетник, может работать с различными датчиками температуры, в том числе и установленными ранее. Термостат имеет сенсорный TFT экран 2,4 дюйма, размер внешней части 8х8см. Управляется через приложение, веб-страницу, MQTT, поэтому легко интегрируется во все системы умного дома. Для самых популярных - мы разработаем плагины. Можно управлять не электрическим теплым полом, а термоголовкой водяного теплого пола. Казалось бы, что ещё можно хотеть от умного термостата? Нам показалось мало обычных, скучных функций, поэтому мы решили превратить термостат в маленький хаб для умного дома, с возможностью подключения различных датчиков.
В разработке сейчас практически все датчики, которые связаны с климатом, начиная от банальной температуры и заканчивая датчиками СО2. Показания с датчиков будут доступны онлайн и через MQTT. После увеличения количества информации, доступной термостату, мы решили расширить его возможности. Зная температуру в комнате, а также уличную, из интернета, термостат может довольно эффективно управлять любым котлом, поддерживающим управление сухим контактом.
Что будет дальше?
В ближайшее время первая партия разойдется по тестерам. Когда мы будем уверены в продукте, он станет доступен всем желающим, конечно же, со скидками для сообщества.
Мы не считаем, что стоит останавливаться на том функционале, к которому мы пришли. Уже есть наработки, чтобы добавить поддержку Zigbee и перейти с ESP8266 на ESP32. Также планируем реализовать прямую интеграцию в HomeKit. Параллельно идет разработка и тестирование алгоритма самообучения, адаптирующегося под конкретные условия с учетом погоды, расположения помещения относительно солнца и других факторов, влияющих на климат в помещении.
Мы не собираемся останавливаться на одном продукте и будем создавать всё больше устройств для управления климатом. В разработке - управление кондиционерами, термоголовки для батарей. Будем благодарны за комментарии, рекомендации, советы, мнения!
Оригинальная статья тут: https://sprut.ai/client/article/1804
Обратную связь будем рады получить в группе Телеграмм LytkoG
Управление умным домом от компании Lytko
Комфорт взаимодействия с умным домом - ключевая часть системы.
В предыдущей статье мы рассказали о нашем термостате. Остановимся подробнее на управлении.
Мы предусмотрели 2 варианта управления устройством:
1. удаленно через web-интерфейс или PWA-приложение;
2. локально через сенсорный экран.
Первый вариант управления позволяет:
• регулировать температуру каждого термостата (отображается в виде отдельного блока);
• настраивать расписание работы термостата (утро, день, вечер, ночь);
• выбирать Wi-Fi сети и подключать к ним устройства;
• обновлять устройства “по воздуху”;
• настраивать MQTT;
• настраивать сеть, к которой подключено устройство.
Кроме управления термостатом посредством web-интерфейса, предусмотрели классическое - нажатиями по дисплею. На борту стоит монитор Nextion NX3224T024 2.4 дюйма. Выбор пал на него, ввиду простоты работы с девайсом. Но в разработке находится собственный монитор на основе STM32. Его функционал ничуть не хуже, чем у Nextion, но стоить будет он дешевле, что положительно скажется на конечной цене устройства.
Как и любой уважающий себя экран термостата, наш Nextion умеет:
• выставлять необходимую пользователю температуру (кнопками справа);
• включать и выключать режим работы по расписанию (кнопка Н);
• отображать работу реле (стрелка слева);
• имеет защиту от детей (блокируются физические нажатия, пока замок не снят);
• отображать уровень сигнала WiFi.
Кроме того, с помощью монитора можно:
• выбрать тип установленного у пользователя датчика*;
• управлять функцией защиты от детей;
• обновить прошивку.
*Система рассчитана на поддержку большинства аналоговых датчиков температуры, применяемых в обычных термостатах.
По клику на логотип WiFi, пользователь узнает информацию о подключенной сети. QR код используется для сопряжения устройства в прошивке HomeKit.
Демо работы с дисплеем:
Вы спросите: “В чём особенность вашего термостата?” Сейчас на рынке существует множество термостатов с функцией Wi-Fi, работой по расписанию, сенсорным управлением. А энтузиасты написали модули для взаимодействия с большинством популярных систем умный дом (Majordomo, HomeAssistant и т.п.).
Наш термостат совместим с такими системами и обладает всеми вышеперечисленными характеристиками. Но отличительная особенность в том, что термостат постоянно дорабатывается, благодаря гибкости системы. С каждым обновлением функционал будет расширяться. К стандартному способу управления системой (по расписанию), мы добавим адаптивный. Приложение позволяет получать геолокацию пользователя. Благодаря этому, система будет динамически менять режимы работы в зависимости от его местоположения. А модуль погоды позволит подстраиваться к погодным условиям.
И расширяемость. Любой желающий сможет заменить установленный у него обычный термостат на наш. С минимальными усилиями. Мы выбрали 5 самых популярных датчиков, представленных на рынке, и добавили их поддержку. Но даже в случае эксклюзивных характеристик датчика, пользователь сможет подключить его к нашему термостату. Для этого понадобится произвести калибровку термостата для работы с конкретным сенсором. Инструкции мы предоставим.
Подключая термостат или любое другое устройство, оно одновременно появляется везде: и в web-интерфейсе, и в PWA-приложении. Добавление устройства происходит автоматически: достаточно лишь подключить его к Wi-Fi сети.
Про систему
Термостат - только отправная точка целостной системы управления. Наша система призвана стать местом, в котором можно объединить различные устройства. Существуют разные способы сделать это. При использовании MQTT получить информацию о подключенных устройствах можно только через Сервер или используя статический IP-адрес. Плюс такого способа заключается в том, что для каждого устройства не нужно иметь выделенный ip-адрес. Для работы достаточно прописать ip-адрес сервера и проводить дальнейшую конфигурацию через интерфейс на Сервере. Но огромным минусом такого подхода является зависимость от Сервера. При любых неполадках, устройства превращаются в “болванчиков” и система крашится.
Нас такой подход не устраивал, и мы пошли по другому пути. Прописывать вручную ip-адреса под каждое устройство слишком трудозатратно и неудобно для пользователя. Ведь каждая инженерная система стремится к упрощению. И мы решили использовать протокол SSDP для обнаружения устройств. К его стандартному ответу мы добавили id устройства, ip адрес устройства в сети и тип устройства. Этих данных достаточно, чтобы сформировать блоки и вывести их в интерфейс. Затем SSDP-лист создаётся каждым устройством в системе. Таким образом формируется взаимосвязанная сеть. И при обращении к любому из устройств, пользователь получит актуальный список всех устройств в сети. Также, SSDP позволяет отображать устройства в сетевом окружении. При двойном клике на него у пользователя открывается браузер со страницей управления.
Для использования нашего интерфейса достаточно базовых навыков программирования. Любой разработчик собственного умного дома, которому приглянулся наш интерфейс и который не хочет быть завязанным на Сервер, сможет внедрить свои устройства. Для этого достаточно выбрать тип блока, который он хочет использовать, и добавить библиотеку SSDP в его код. Т.е. необходимо будет указать id, ip, тип устройства и отправлять измеренные показания (в случае с сенсорами) или изменённые данные (в случае с лампочками, выключателями, кнопками и т.п.) с устройства. Эта информация отобразится в отведённом для этого блоке в интерфейсе. При необходимости использования внешнего управления достаточно продублировать запрос на наше облако. Приложение автоматически переключается между локальным и внешним управлением, следовательно, это не вызовет никаких неудобств использования. Вдобавок, каждая ESP может выступать шлюзом для 2-3 устройств, датчиков и т.д. Механизм внедрения, форма запроса и примеры будут описаны в API и открыты для всех желающих. Более развёрнутое описание и примеры взаимодействия - в следующей статье.
Проще говоря, пользователю достаточно будет загрузить в ESP нашу прошивку и подключить к ней свой сенсор/устройство. Инструкции мы предоставим.
Кроме этого, мы предусмотрели разделение устройств по комнатам. И для каждой комнаты (переключение - в панели слева) пользователь сможет задавать индивидуальные сценарии, настраивать контроль с учётом особенностей помещения. Детская или угловая комната - температуру побольше. Ванная комната - датчики протечки в каждый угол. В общем виде, макет расширенной системы с различными устройствами будет выглядеть так:
PWA-приложение
web-интерфейс
Наша система не нуждается в Сервере, и в случае его отказа не превращается в тыкву. Даже при отказе одного из компонентов, система не начинает работать по аварийному сценарию. Контроллеры, датчики, устройства - каждый элемент является и Сервером, и клиентом, поэтому полностью автономен.
Мы не призываем отказываться от Сервера. У нас также присутствует поддержка MQTT-сервера и есть собственное облако. Наша цель - вывести стабильность и надёжность системы на качественно новый уровень. Чтобы Сервер не являлся слабым местом, а дополнял функционал и делал систему удобнее.











