MQTT-шлюз для Redmond своими руками: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 3: | Строка 3: | ||
__TOC__ | __TOC__ | ||
{{Hands}} | {{Hands}} | ||
| Строка 86: | Строка 84: | ||
Из документации к прошивке | Mqtt топики для чайника (Из документации к прошивке) | ||
r4s/devaddr/rsp/ | {| 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-репозитории из предыдущего пункта подробно описано, что нужно сделать. Если коротко:
- Подключить плату к ПК и прошить файл fr4sGate.bin с git, перезагрузить плату;
- Создать Wi-Fi сеть (на ноуте/смартфоне) с именем r4s и паролем 12345678;
- Найти в списке подключенных устройств плату, открыть её в браузере по IP-адресу;
- Перейти на вкладку settings, внести:
- Настройки вашего Wi-Fi,
- Название и модель чайника,
- Параметры вашего MQTT-сервера.
-
Вкладка 'Settings'
После этого плата перезагрузится и подключится на ваш стандартный домашний Wi-Fi.
Находим адрес платы и снова переходим в веб-интерфейс.
У автора на последней версии прошивки чайник подключился к плате сам.
Порядок действий по инструкции:
- Зажать кнопку на чайнике
- Отправить плату в перезагрузку (есть кнопка 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 для включения или отключения чайника).