Схемотехника
Термостат по прежнему представляет собой “сендвич” из трех компонентов: нижняя “силовая” плата, “умная” верхняя плата и тач-монитор (старый знакомый — 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.
Ранее примененный механизм для соединения верхнего и нижнего яруса в единое целое, к сожалению, показал себя не с лучшей стороны — отмечен его неприемлемо низкий ресурс на эти самые соединения — рассоединения. Мы заменили его на более надежный .
Программная составляющая
В прошивку с поддержкой “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” вручную.
После подключения к сети и первоначальной конфигурации на Вашем смартфоне устройство готово к работе. Всё.
Обратная связь
Помимо предложений по улучшению интерфейса термостата, нам также поступают идеи для расширения функционала устройства: что если установить тот же самый термостат для управления бойлером? По просьбе одного из участников нашей группы в Телеграм мы добавили в прошивку поддержку бойлера, увеличив верхний порог температуры, до которого контроллер позволяет нагревать подключенное устройство.
При первом запуске понадобится выставить максимальную температуру до необходимого уровня в момент первоначальной конфигурации.
Коллега подключил термостат к бойлеру ГВС и написал об этом статью.