Становление термостата Lytko 101: что из этого вышло
Ровно год назад на суд общественности был представлен разработанный нами термостат: умный термостат Lytko 101.
Статья, посвященная ему, в то время получила широкий оклик среди аудитории, интересующийся «домашней автоматизацией» и просто неравнодушных; и в данном материале мы хотим актуализировать информацию о нашем продукте, рассказать как он эволюционировал за это время и какой был пройден путь нами. Но обо всём по порядку. Надеемся, вам будет интересно, начнем!
Схемотехника
Термостат по прежнему представляет собой «сендвич» из трех компонентов: нижняя «силовая» плата, «умная» верхняя плата и тач-монитор (старый знакомый — Nextion 2.4). В будущем мы хотим заменить монитор: ведем работы по созданию аналогичного дисплейного модуля, но с емкостным тачскрином. Данная модернизация не повлияет на конечную стоимость: не увеличит ее, но, к сожалению, и затраты на производство также сокращены не будут. Выиграют пользователи — перспективный дисплей более «отзывчив» по сравнению с резистивным Nextion.
Также мы разработали без экранную версию термостата. Отличие лишь в итоговой стоимости и возможности скрытой установки в подрозетник.
Всё это позволяет установить наш термостат вместо большинства термостатов сторонних производителей, которые используют аналоговый датчик представленного номинала (об этом ниже).
Силовая часть — без изменений, всё на своих местах:
БП AC-DC 5В 700 мА, реле TE Connectivity (RT314005) 16А
А вот «мозг» термостата, как аппаратная, так и его программная часть, подверглась куда более основательному пересмотру.
1 — минорное изменение: отказались от встроенного датчика температуры ds18b20, «место» под него осталось, при необходимости установка diy не должна составить труда;
2 — разъем для подключения монитора Nextion.
3 — разъем для будущего монитора (на изображении не установлен) — приверженцы DIY смогут им воспользоваться в полной мере;
4 — посадочное место для радио-модуля сс2530 (е18);
5 — разъем для подключения провода программирования (на изображении ниже).
С его помощью владелец может поменять ПО на любое другое, совместимое с платформой. Ранние версии предусматривали лишь «место» под пайку, сейчас же перепрошивать устройство не составит труда.
Watchdog (аппаратный) — для обеспечения максимальной надежности перезапустит устройство, если «что-то пошло нет так». Прежнюю перемычку — джампер для его активации — сменил аналоговый ключ управления и кнопка.
В целях оптимизации места модуль ESP8266 был перенесен на нижнюю сторону платы. Радио-модуль nRF24L был заменен на модуль cc2530 (e18), что в будущем позволит использовать термостат в сетях ZigBee.
Ранее примененный механизм для соединения верхнего и нижнего яруса в единое целое (изображение 1), к сожалению, показал себя не с лучшей стороны — отмечен его неприемлемо низкий ресурс на эти самые соединения — рассоединения. Мы заменили его на более надежный (изображение 2).
Изображение 1
Изображение 2
Программная составляющая
В прошивку с поддержкой «MQTT» мы добавили экспериментальную функцию в виде нативной поддержки протокола Apple HomeKit. В дальнейшем мы планируем получить сертификат MFI и сделать полноценную поддержку Apple HomeKit.
Опытная прошивка «HomeKit» делает интеграцию термостата в экосистему умного дома под управлением Apple прозрачной и простой. Настраивать и управлять устройством вы сможете, используя как его сенсорный экран или web-интерфейс, так и родное Apple приложение «Дом».
В фирменной версии «MQTT» общение с остальным миром «умных вещей» ведётся по MQTT протоколу через MQTT-брокера, что открывает возможности для интеграции практически с любыми системами, представленными на рынке (MajorDoMo!, Home Assistant и т.п.). В целом характеризуется более гибкими настройками, позволяет настраивать «сценарии».
Переключиться между этими двумя версиями пользователь может в любой момент с помощью web-интерфейса.
Опишем все возможности обстоятельнее
Была переработана механика взаимодействия и дизайн интерфейса для встроенного в термостат тачскрин — монитора. В основу лег опыт эксплуатации пользователей, их запросы. В том числе очень помогли комментарии под статьей (еще раз спасибо!) и предложения по улучшению интерфейса в нашей группе Телеграмм. Web-сайту тоже досталось.
Так выглядела главная страница в старой версии:
Теперь она выглядит так:
Сделаем обзор всех настроек термостата.
Старый интерфейс
Новый интерфейс
Вы можете:
- Выставить гистерезис и настроить корректировку температуры сенсора (сдвиг в большую или меньшую сторону ± 5.0 градусов с шагом 0.5);
- Изменить тип сенсора (цифровой ds18b20 или аналоговый доступного номинала);
- Включить или выключить защиту от детей (блокировка дисплея);
- Обновить прошивку термостата Over-the-air («по воздуху»);
- В разделе «Отладочная информация» выводятся данные для разработчиков: количество свободной оперативной памяти, прошедшее с момента включения время и текущий режим работы контроллера термостата;
- При необходимости задать иную конфигурацию устройства — произвести сброс настроек.
Кроме того, Вы можете настроить пороговые значения температуры: минимально и максимально допустимые значения. На данный момент диапазон регулируется от 7 до 75 градусов, но в дальнейшем мы увеличим верхний порог до 90 градусов. Это позволит использовать термостат для управления котлом отопления. Эти значения задаются только в момент первоначальной конфигурации. В случае необходимости их изменения понадобится сбросить устройство и заново настроить параметры.
Мы постоянно расширяем список поддерживаемых аналоговых датчиков температуры, и на данный момент он выглядит так:
- 3.3 кОм,
- 5 кОм,
- 6.8 кОм,
- 10 кОм,
- 12 кОм,
- 14.8 кОм,
- 15 кОм,
- 20 кОм,
- 33 кОм,
- 47 кОм.
Само собой, поддержка цифрового датчика ds18b20 сохранилась (он выбран по умолчанию).
Web-страница позволяет произвести все вышеперечисленные настройки. Кроме того:
- подключиться к MQTT-брокеру;
- посмотреть описание топиков для управления устройством;
- обновить устройство с Сервера, либо загрузить файл прошивки вручную;
- сменить режим работы с MQTT на HomeKit и обратно;
- переподключить устройство к другой сети Wi-Fi.
Подготовка к работе
Данные для подключения к точке доступа ESP закодированы в qr-code, демонстрируемом на экране при первом включении (на версии с экраном). Просто «отсканируйте» его своим смартфоном и согласитесь с предложением подключится к AP термостата. В версии без экрана понадобится подключиться к точке доступа «Lytko-xxxx» вручную.
После подключения к сети и первоначальной конфигурации на Вашем смартфоне устройство готово к работе. Всё.
Обратная связь
Помимо предложений по улучшению интерфейса термостата, нам также поступают идеи для расширения функционала устройства: что если установить тот же самый термостат для управления бойлером? По просьбе одного из участников нашей группы в Телеграм мы добавили в прошивку поддержку бойлера, увеличив верхний порог температуры, до которого контроллер позволяет нагревать подключенное устройство.
При первом запуске понадобится выставить максимальную температуру до необходимого уровня в момент первоначальной конфигурации.
Коллега подключил термостат к бойлеру ГВС и написал об этом статью.
Достижения
Наш термостат теперь в телевизоре, точнее, в объективе. На YouTube-канале Электроника в объективе вышло видео о нашем продукте. Команда Lytko благодарна автору за обстоятельный обзор устройства и емкое демонстрирование функционала. Мы учли высказанную автором критику и работаем над исправлением всех недочетов.
В обзоре представлено две модели: обычный теплый пол* и сухой контакт.
*хотя термостат этой версии также может использоваться вместе с бойлером, а некоторые из наших пользователей смогли сконфигурировать его для управления клапанами на радиаторах. Пока что только через проводной сенсор, но мы разрабатываем и варианты получения температуры извне: с помощью BLE-датчика, ZigBee-датчика или внешнего датчика MQTT.
P.S.: мы не останавливаемся на достигнутом и подготовили новую версию устройства с ESP32 на борту. Испытания скоро начнутся.