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

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

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
 
(не показано 7 промежуточных версий 2 участников)
Строка 1: Строка 1:
{{metadesc|{{PAGENAME}} | шлюз своими руками для техники redmond }}
{{metadesc|{{PAGENAME}} | Подключение к умному дому устройств Redmond по MQTT без гейтвея и без облака Редмонд! }}
__NOEDITSECTION__
__NOEDITSECTION__
__TOC__
__TOC__


{{Skills}}


{{Hands}}
{{Hands}}
Строка 10: Строка 8:


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


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


  Инструкция описывает самодельный шлюз размером со спичечный коробок со стоимостью около 300 рублей.
  Инструкция описывает самодельный шлюз размером со спичечный коробок со стоимостью около 300 рублей.  
 
Прошивка поддерживает до трех устройств redmond.
'''Так же, для его работы необходим MQTT сервер. Каждый для себя выбирает, где его крутить. Я, по традиции, использую систему iobroker со своим MQTT сервером, который уже работает в паре с Алисой.'''
'''При этом отпадает необходимость как в стандартных гейтвей-устройствах и программах, так и в самом облаке Redmond!'''




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


для реализации нам понадобятся:


*плата esp32 с поддержкой wi-fi и bluetooth ([https://aliexpress.ru/item/32864722159.html ссылка] на алик, продавец не проплатил, можете найти аналоги )
Нам понадобятся:
*прошивка ([https://github.com/alutov/ESP32-R4sGate-for-Redmond ссылка на гит])
*mqtt сервер
*прямые руки, чайник, винда


если перечисленное устраивает, погнали
* Плата ESP32 с поддержкой Wi-Fi и Bluetooth ([https://aliexpress.ru/item/32864722159.html например, такая]; продавец не проплатил)), можете купить  аналог в любом другом месте);
* Прошивка ([https://github.com/alutov/ESP32-R4sGate-for-Redmond ссылка на гит]);
* MQTT-сервер. Автор с удовольствием использует ioBroker со своим MQTT, который уже работает в паре с Алисой. Можете также выбрать любой удобный вариант;
* Чайник Редмонд (в него вторгаться не нужно, он просто есть);
* Прямые руки, и немного минут в Windows.




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


В интернете полно статей и видео о том, как прошить плату esp32. Приведу пример с сайта [http://wiki.amperka.ru/продукты:esp8266:esptool амперки]


На всякий случай сделайте бекап родной прошивки платы.
В интернете достаточно много статей и видео о порядке прошивки ESP32 (например, [http://wiki.amperka.ru/продукты:esp8266:esptool на Амперке]), чтобы не повторять эти инструкции здесь.


на гите подробно описано, что нужно сделать. я просто перечислю в двух словах:
На этом шаге сделайте бэкап родной прошивки платы.


#подключить плату к ПК и прошить прошивку ''fr4sGate.bin'' с гита, перезагрузить;
В git-репозитории из предыдущего пункта подробно описан порядок действий. Если коротко, то:
#создать wi-fi сеть (на ноуте/мобильном) с именем r4s и паролем 12345678;
# Подключить плату к ПК и прошить файл '''fr4sGate.bin''' с git, перезагрузить плату;
#найти в списке подключенных устройств плату, открыть ее по ip адресу в браузере;
# Создать Wi-Fi сеть (на ноуте/смартфоне) с именем '''r4s''' и паролем '''12345678''';
#перейти на вкладку ''settings'', внести настройки вашего wi-fi, название и модель чайника, а так же параметры вашего MQTT сервера;
# Найти в списке подключенных устройств плату, открыть её в браузере по IP-адресу;
# Перейти на вкладку '''settings''', внести:
#* Настройки вашего Wi-Fi,
#* Название и модель чайника,
#* Параметры вашего MQTT-сервера.


[[Файл:R4s settings.jpg|мини|вкладка settings]]
[[Файл:R4s settings.jpg | 600px | Вкладка 'Settings']]


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


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


#зажать кнопку на чайнике
У автора на последней версии прошивки чайник подключился к плате сам.  
#отправить в перезагрузку плату (есть кнопка reboot в вебе)
#сколько держать не уточняется. можно экспериментировать с подключением в родном приложении: оценить, сколько там жать и с какой интенсивностью. да прибудет с вами
автообнаружение и подключение.


в вебе на вкладке main можно увидеть, как плата обнаруживает чайник.
Порядок действий по инструкции:
# Зажать кнопку на чайнике;
# Отправить плату в перезагрузку кнопкой 'reboot' в веб-интерфейсе.


так же, на вкладке main можно увидеть:
Сколько держать кнопку на чайнике - не уточняется. Можно поэкспериментировать с подключением в родном приложении (оценить, сколько жать и с какой интенсивностью).


[[Файл:R4s main.jpg|мини|вкладка main]]
Теперь в веб-интерфейсе на вкладке main можно увидеть, как плата обнаруживает чайник. На этой же вкладке расположены:
* Версия прошивки;
* Uptime (время непрерывной работы) платы;
* Статус устройства (подключён или нет);
* Сетевой адрес платы;
* Статус подключения к MQTT-серверу;


*версия прошивки;
*аптайм платы;
*статус устройства (подключён или нет);
*сетевой адрес платы;
*статус подключения к mqtt серверу;


[[Файл:R4s main.jpg | 600px | Вкладка 'main']]




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


После того, как чайник определился в веб-интерфейсе, и вы указали параметры своего mqtt сервера, в iobroker/mqtt отобразятся стейты.
[[Файл:Iob mqtt r4s.jpg|мини|Iob_mqtt_r4s]]
Из документации к прошивке:


Mqtt топики для чайника:
После того, как чайник определился и вы указали параметры MQTT, в '''iobroker/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 - включение ночника;
[[Файл:Iob mqtt r4s.jpg | 600px | Iob_mqtt_r4s]]


r4s/devaddr/cmd/nightlight_red <- 0..255 Уровень красного в ночнике;


r4s/devaddr/cmd/nightlight_green <- 0..255 Уровень зеленого в ночнике;
MQTT-топики (они же iobroker-стейты) для чайника (из описания прошивки):


r4s/devaddr/cmd/nightlight_blue <- 0..255 Уровень синего в ночнике;
{| class="wikitable" style = "width:100%"
|-
! width="30%"| Стейт (топик)
! width="70%"| Значения, описание
|-
| r4s/devaddr/'''cmd/state'''
| '''0/off/false''' выключение, <br>'''1/on/true''' кипячение, <br>'''2...100''' - кипячение и подогрев (число в градусах Цельсия)
|-
| r4s/devaddr/'''cmd/heat_temp'''
| '''0''' выключение, <br>'''1...100''' подогрев (число в градусах Цельсия)
|-
| r4s/devaddr/'''cmd/nightlight'''
| '''0/off/false''' выключение ночника, <br>'''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 итд
|}


r4s/devaddr/rsp/ - текущее состояние, температура, rssi и т.д.;


На практике автору оказалось достаточно одного топика (on/off для включения или отключения чайника).


'''мне достаточно одного топика, state - on/off для включения или отключения чайника'''
О связке с Алисой, MQTT и вообще платформе УД описано в статье: https://wiki.yaboard.com/w/Алиса,_IoBroker_и_MQTT




[[Category:Умный дом]]
[[Category:Умный дом]]
[[Category:Своими руками]]

Текущая версия от 06:37, 10 апреля 2021

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