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

Материал из База знаний
Перейти к навигации Перейти к поиску



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


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

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

  • Все "прелести" работы bluetooth, особенно на больших расстояниях или за несколькими стенами и/или перекрытиями;
  • Дополнительные затраты на шлюз (3000+р, что ради чайника экономически невыгодно, учитывая и стоимость чайника);
  • Программный android-шлюз часто работает нестабильно. Да и не всегда есть лишний смартфон или приставка;
  • Периодически отваливается и само облако Редмонд.
Инструкция описывает самодельный шлюз размером со спичечный коробок со стоимостью около 300 рублей. 
Прошивка поддерживает до трех устройств redmond.
При этом отпадает необходимость как в стандартных гейтвей-устройствах и программах, так и в самом облаке 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-топики (они же iobroker-стейты) для чайника (из описания прошивки):

Стейт (топик) Значения, описание
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 для включения или отключения чайника).
О связке с Алисой, MQTT и вообще платформе УД описано в статье: https://wiki.yaboard.com/w/Алиса,_IoBroker_и_MQTT
Источник — https://wiki.yaboard.com/index.php?title=MQTT-шлюз_для_Redmond_своими_руками&oldid=5444 // MOD ext links // End MOD