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

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

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 3: Строка 3:
__TOC__
__TOC__


{{Skills}}


{{Hands}}
{{Hands}}
Строка 86: Строка 84:




Из документации к прошивке:
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 и т.д.;
{| class="wikitable" style = "width:100%"
|-
! width="30%"| Стейт (топик)
! width="70%"| Значения, описание
|-
| 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 итд
|}





Версия от 09:52, 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-сервера.

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

Находим адрес платы и снова переходим в веб-интерфейс.

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

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

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

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

  • Версия прошивки;
  • Uptime (время непрерывной работы) платы;
  • Статус устройства (подключён или нет);
  • Сетевой адрес платы;
  • Статус подключения к 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 итд
На практике автору оказалось достаточно одного топика (on/off для включения или отключения чайника).