Перейти к содержанию

MQTT-шлюз для Redmond своими руками: различия между версиями

Материал из Wiki yaboard
Нет описания правки
м Ark rusinov-9121383 переименовал страницу "Шлюз для чайника redmond своими руками" в "MQTT-шлюз для Redmond своими руками" без о…
(нет различий)

Версия от 10:01, 21 октября 2020

Требуются прямые руки И вдумчивое отношение к инструкции
Мы не несём никакой ответственности за правильное или неправильное применение, или неприменение, и/или неспособность применить данное руководство.
Телефон вызова экстренных служб - 112.

Описание проблемы

Как известно, техника Redmond работает по протоколу bluetooth и поэтому требует наличия отдельного устройства (аппаратный гейтвей, или выделенный Android телефон\планшет с установленным ПО Redmond; некоторые используют в качестве базы ТВ-приставки на базе Андроид). Такое решение имеет ряд минусов:

  • Все "прелести" работы bluetooth, особенно на больших расстояниях или за несколькими стенами и/или перекрытиями;
  • Дополнительные затраты на шлюз (3000+р, что ради чайника экономически невыгодно, учитывая и стоимость чайника);
  • Программный android-шлюз часто работает нестабильно. Да и не всегда есть лишний смартфон или приставка;
  • Периодически отваливается и само облако Редмонд.
Инструкция описывает самодельный шлюз размером со спичечный коробок со стоимостью около 300 рублей. 
При этом отпадает необходимость как в стандартных гейтвей-устройствах и программах, так и в самом облаке Redmond!

Требования и ресурсы

Нам понадобятся:

  • Плата ESP32 с поддержкой Wi-Fi и Bluetooth (например, такая; продавец не проплатил, можете найти аналоги )
  • Прошивка (ссылка на гит)
  • MQTT-сервер. Я, по традиции, использую ioBroker со своим MQTT, который уже работает в паре с Алисой. Можете выбрать любой удобный вариант.
  • Прямые руки, чайник Редмонд, немного Windows

Прошивка и настройка платы

В интернете достаточно много статей и видео о порядке прошивки ESP32 (например, на Амперке), чтобы не повторять эти инструкции здесь.

На всякий случай сделайте бэкап родной прошивки платы.

В git-репозитории из предыдущего пункта подробно описано, что нужно сделать. Если коротко:

  1. Подключить плату к ПК и прошить файл fr4sGate.bin с git, перезагрузить плату;
  2. Создать Wi-Fi сеть (на ноуте/смартфоне) с именем r4s и паролем 12345678;
  3. Найти в списке подключенных устройств плату, открыть её в браузере по IP-адресу;
  4. Перейти на вкладку settings, внести:
    • Настройки вашего Wi-Fi,
    • Название и модель чайника,
    • Параметры вашего MQTT-сервера.

Вкладка 'Settings'


После этого плата перезагрузится и подключится на ваш стандартный домашний Wi-Fi. Находим адрес платы, и снова переходим в веб-интерфейс.

У автора на последней версии прошивки чайник подключился к плате сам. 

Порядок действий по инструкции:

  1. Зажать кнопку на чайнике
  2. Отправить плату в перезагрузку (есть кнопка reboot в веб-интерфейсе).
Сколько держать - не уточняется. Можно поэкспериментировать с подключением в родном приложении (оценить, сколько жать и с какой интенсивностью).

В веб-интерфейсе на вкладке main можно увидеть, как плата обнаруживает чайник. На этой же вкладке расположены:

  • Версия прошивки;
  • Uptime (время непрерывной работы) платы;
  • Статус устройства (подключён или нет);
  • Сетевой адрес платы;
  • Статус подключения к MQTT-серверу;


Вкладка 'main'

обнаружение в iobroker MQTT

После того, как чайник определился и вы указали параметры MQTT, в iobroker/mqtt отобразятся стейты:


Iob_mqtt_r4s


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 итд
На практике автору оказалось достаточно одного топика (on/off для включения или отключения чайника).