MQTT-шлюз для Redmond своими руками
Материал носит информационный характер, и не является прямым указанием к действию!
Телефон вызова экстренных служб - 112.
Введение
техника дерьмонд работает по протоколу bluetooth, и для удаленного управления требует активного соединения или со смартфоном владельца, или использовать шлюз. (все прелести работы блютупа, особенно на больших расстояниях или за кучей стен, например в 2-х этажном доме обсуждать не будем) шлюзом может выступать, как конечный готовый продукт компании дерьмонд, так и любое android устройство.
Приобретать шлюз за 3000+ т.р. для одного чайника экономически невыгодно (сюда добавим стоимость чайника), а android в качестве шлюза (по сообщениям чата) работает не стабильно. К тому же, не всегда есть лишний смартфон или приставка. Поэтому, предлагаю собрать свой шлюз, размером со спичечный коробок, а его стоимость будет 300+- рублей.
Так же, для его работы необходим MQTT сервер. Каждый для себя выбирает, где его крутить. Я, по традиции, использую систему iobroker со своим MQTT сервером, который уже работает в паре с Алисой.
Требования и ресурсы
для реализации нам понадобятся:
- плата esp32 с поддержкой wi-fi и bluetooth (ссылка на алик, продавец не проплатил, можете найти аналоги )
- прошивка (ссылка на гит)
- mqtt сервер
- прямые руки, чайник, винда
если перечисленное устраивает, погнали
Прошивка и настройка платы
В интернете полно статей и видео о том, как прошить плату esp32. Приведу пример с сайта амперки
На всякий случай сделайте бекап родной прошивки платы.
на гите подробно описано, что нужно сделать. я просто перечислю в двух словах:
- подключить плату к ПК и прошить прошивку fr4sGate.bin с гита, перезагрузить;
- создать wi-fi сеть (на ноуте/мобильном) с именем r4s и паролем 12345678;
- найти в списке подключенных устройств плату, открыть ее по ip адресу в браузере;
- перейти на вкладку settings, внести настройки вашего wi-fi, название и модель чайника, а так же параметры вашего MQTT сервера;

после этого, плата перезагрузиться и подключиться на ваш домашний wi-fi. находим плату и переходим в веб-интерфейс.
у меня, с последней версией прошивки, чайник самостоятельно зацепился на плату. автор прошивки говорит слеюущий порядок подключения:
- зажать кнопку на чайнике
- отправить в перезагрузку плату (есть кнопка reboot в вебе)
- сколько держать не уточняется. можно экспериментировать с подключением в родном приложении: оценить, сколько там жать и с какой интенсивностью. да прибудет с вами
автообнаружение и подключение.
в вебе на вкладке main можно увидеть, как плата обнаруживает чайник.
так же, на вкладке main можно увидеть:

- версия прошивки;
- аптайм платы;
- статус устройства (подключён или нет);
- сетевой адрес платы;
- статус подключения к mqtt серверу;
обнаружение в iobroker MQTT
После того, как чайник определился в веб-интерфейсе, и вы указали параметры своего mqtt сервера, в iobroker/mqtt отобразятся стейты.

Из документации к прошивке:
Mqtt топики для чайника: r4s/devaddr/cmd/state <-- 0/off/false - выключение, 1/on/true - кипячение, 2...100 - кипячение и подогрев;
r4s/devaddr/cmd/heat_temp <-- 0 - выключение, 1...100 подогрев;
r4s/devaddr/cmd/nightlight <-- 0/off/false - выключение ночника, 1/on/true - включение ночника;
r4s/devaddr/cmd/nightlight_red <- 0..255 Уровень красного в ночнике;
r4s/devaddr/cmd/nightlight_green <- 0..255 Уровень зеленого в ночнике;
r4s/devaddr/cmd/nightlight_blue <- 0..255 Уровень синего в ночнике;
r4s/devaddr/rsp/ - текущее состояние, температура, rssi и т.д.;
мне достаточно одного топика, state - on/off для включения или отключения чайника