Как стать автором
Обновить

Подключаем ESP32/ESP8266 к умному дому Яндекс

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров14K

Я начал автоматизацию умных домов еще до прихода Яндекса и Сбера - паял простые модули управления реле и датчиками сперва на Arduino, затем на ESP8266(NodeMCU). Пытался решить бытовые задачи - удаленное управления котлом, бойлером, печкой в бане. И если для решения управления бойлером можно(хоть и дорого) найти розетку на 32А, то управление контактором для печи 380В в бане - задача точно для самодельщика или за лютый оверпрайс. Но это всё лирика - что там делать? Берёшь микроконтроллер, паяешь выводы до реле/датчиков, заливаешь прошивку, работает. И дальше встаёт вопрос удобства управления.

Как я пробовал управлять ESP8266/ESP32

Конечно, сразу начались попытки как-то упростить управление устройствами. Мой абсолют выглядел так - дать возможность управлять и контролировать устройства жене, добавить возможность открывать калитку с Apple Watch, получить возможность настроить сценарии управления(греть дом, когда нас там нет, только по ночам, в бане иметь возможность устанавливать температуру, при которой печка бы отключалась и включалась). И я начал пробовать решения, начиная с самых дешевых.

Первым был Blynk, который решал далеко не все хотелки, но работал. До 2022 года. Оказалось, что сервис недружественный и стабильность под вопросом.

Далее я пошел по решениям HomeAssistant, Node Red и прочим. Логика их работы понятна и проста - ставишь сервер в доме(raspberry pi/старый компьютер/mini pc) и управляешь с него. Но не покидало ощущение, что это overkill для таких простых задач, ведь для похожей автоматизации дома родителей/друзей/соседей мне пришлось бы поставить такой же компьютер и к ним.

Кроме того, надежно и безопасно прокинуть доступ до такого сервера(в условиях 3G-4G интернета) - отдельная боль, а прокинуть управление в телефон - отдельный челендж. Дорого для одного котла отопления заводить отдельный, пусть и маленький, сервер в каждом доме. Мои попытки завершились успешно используя бот в телеграм, через которого можно было управлять автоматизацией. Но брать сервер для каждого друга/соседа казалось оверхедом, ведь есть простые решения в духе умных розеток яндекса, которым кроме wifi не нужно ничего, с приятным интерфейсом.

Я продолжал попытки упростить схему работы - поднял сперва на ESP HTTP-сервер, делал скрипты для управления ESP по HTTP через роутер, но ощущение, что я делаю что-то сложное, меня не покидало, ведь роутер с минимальным linux тоже удовольствие не дешевое. В какой-то момент я подумал - буду исходить из идеального решения, купил себе Apple TV, чтобы был удобный интерфейс в том числе с часов. И словил проблем "где не ждали" - после привязки ESP к Homekit(в том числе через HomeBridge) яблочная коробка начинала терять коннект к устройствам в виду смены внешнего ip-адреса(3G/4G интернет). Я потратил много времени в issues github, на форумах и reddit, перепробовал все возможные варианты и вернулся к рабочей схеме с HTTP-сервером, но без удобного интерфейса.

Стартап в сфере IOT

Как собственник IT-компании решил собрать команду и дать старт облачному MQTT-сервису, который позволял бы решать поставленную проблему. Мы долго рисовали дизайн идеальной панели управления, искали заводы, которым возможно также было бы интересно автоматизировать производство, провели множество кастдевов. Команда успешно сверстала и реализовала почти все хотелки, но в какой-то момент умный дом от Яндекса захватил рынок, и мы поняли, что нашим тестовым потребителям сложно и неудобно держать несколько экосистем для управления. И мы решились на пивот в сторону гейта - от ESP до умного дома Яндекс. Путь описывать не буду, он был тернист - мы долго ждали модерации в умном доме Яндекса, но теперь понимаем - путь был оправдан. Умный дом Яндекса уже имеет удобный функционал для управления, я легко делюсь устройствами с нужными людьми, а интеграция с Алисой и сценариями позволяет реализовать почти все задумки.

управление состояниями пинов ESP
управление состояниями пинов ESP

При помощи нашего сервиса IOPP.io любой DIY'щик может в несколько кликов привязать ESP-устройство к своему умному дому в Яндекс, настроить сценарии управления. Для удобства использования мы реализовали функции прошивки и компиляции прямо из web-интерфейса, добавили AI для помощи создания прошивки - уметь программировать под ESP необходимость пропала, можете посмотреть как легко справляется ИИ с подключением датчиков(да, для OneWire и DallasTemperature на примере датчика температуры DS18b20 потребуется указать подключение библиотеки в настройках прошивки, но это куда проще, чем в Arduino IDE).

онлайн-IDE для прошивки с возможностью генерации через ИИ
онлайн-IDE для прошивки с возможностью генерации через ИИ
подключение сторонних библиотек к прошивке
подключение сторонних библиотек к прошивке

Кроме того реализовали Over-the-AIR(OTA) функционал, чтобы, если ваше устройство находится где-нибудь в подвале, вам не пришлось лазить туда для деплоя новой прошивки.

На текущий момент можно изменять состояния пинов через умный дом Яндекс, web-интерфейс, API, Telegram и MQTT. Цены на время beta-версии поставили условные, даём бонус всем вступившим 500 руб, за работу одного устройства через гейт взимаем 1руб/сутки.

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

В интерфейсе вы можете просмотреть всю историю изменений состояний пинов, построить графики, например, температуры. Скоро добавим аналогичный функционал в Яндекс(чтобы графики были и там), сейчас из Яндекса можно просто управлять on/off для реле. Затем проведем интеграцию остальных нужных абстракций.

Зачем вы, ведь можно просто поднять свой MQTT-сервер?

Да, можно. И для кого-то это посильная задача. Но ради пары устройств держать свой сервер за несколько долларов - оверхед на мой взгляд. За сервером надо следить и платить за него. В своём проекте предлагаем облачное решение с поддержкой и добавляемым новым функционалом, благодаря которому вы можете, помимо всего прочего, добавить своё DIY-устройство в умный дом Яндекса, управлять им сценарийно, в том числе через Алису. Реализовать свой гейт до Яндекса - отдельная и долгая задача. Мы уже прошли все эти хлопоты и предлагаем попробовать продукт. Теперь умную розетку Яндекс с любым амперажем может сделать и подключить каждый. Наша цель - сделать умный дом доступным, простым и безопасным.

Про планы

После графиков мы займемся подключением новых абстракций, в том числе подключением камер и хранением видеозаписей. Сегодня я плачу около 1000 рублей каждый месяц за 7/10 камер Tapo(TP-Link), что тоже дорого и тоже не в умном доме Яндекс-инфраструктуры. Помимо этого мы рассматриваем возможности интеграции других протоколов - Alexa, Zigbee, чтобы любое устройство можно было подключить к единой экосистеме из коробки или через простой ESPхаб. Буду рад новым идеям, замечаниям и предложениям - для них открыты к общению в комментариях и в группе.

Попробуйте наш сервис и дайте обратную связь. Спасибо!

Теги:
Хабы:
Всего голосов 20: ↑18 и ↓2+18
Комментарии44

Публикации

Ближайшие события