Страница 1 из 27

Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Вс май 27, 2018 10:53 pm
olehs

ОБРАТИТЕ ВНИМАНИЕ НА ПРОШИВКУ ОТ alutov в этом комментарии https://mjdm.ru/forum/viewtopic.php?p=121098#p121098
Github: https://github.com/alutov/ESP32-R4sGate-for-Redmond



У ДАННОЙ ПРОШИВКИ (ОПИСАНИЕ ПОД СПОЙЛЕРОМ) ЕСТЬ ПРОБЛЕМЫ С ЗАВИСАНИЕМ ЧЕРЕЗ НЕКОТОРОЕ ВРЕМЯ.
СпойлерПоказать
Шлюз работает по протоколам HTTP и MQTT.

Проверен с Arduino IDE версии 1.8.10
Из библиотек нужна только PubSubClient (устанавливается через Library Manager)

Скачать архив скетча можно с GitHub https://github.com/olehs/r4sGate/archive/master.zip
Его нужно распаковать в папку sketchbook

Открываем скетч r4sGate.ino и правим на вкладке r4scfg.h настройки:
ssid - ваша точка доступа
password - пароль к точке доступа

настроить параметры подключения к MQTT-брокеру
mqtt_server - адрес
mqtt_port - порт

Для подключения к чайнику нужно привязать его к нашему гейту.
Первым делом можно поменять пару байт в параметре

Код: Выделить всё

static uint8_t r4sAuth[8] = { 0xb5, 0x4c, 0x75, 0xb1, 0xb4, 0xac, 0x88, 0xef };
чтобы он не был у всех одинаковый. Можете не переживать, привязки к другим устройствам не слетают: видимо чайник рассчитан на запоминание нескольких кодов авторизации.

Здесь же можно переключить поддержку RK-G200S.

Затем после заливки скетча привязку нужно делать следующим образом:
1. Зажать ресет на ESP и кнопку привязки ("+") на чайнике одновременно.
2. Досчитать до 5-ти и отпустить ресет.
3. Держать "+", пока чайник не войдет в режим привязки и не просигнализирует трелью об успешном завершении.

Если все пройдет успешно, в мониторе порта появится информация о версии прошивки.

Управление:
MQTT:
r4s/[devid]/cmnd/off -выключить
r4s/[devid]/cmnd/heat - нагрев с поддержанием температуры. температура передается в payload
r4s/[devid]/cmnd/boil кипячение. если передать в payload температуру, то после кипячения чайник перейдет в режим ее поддержания (кипячение и нагрев).

HTTP:
http://r4sgate.local/r4s/[devid]/off - выкл.
http://r4sgate.local/r4s/[devid]/heat?temp=60 - нагрев
http://r4sgate.local/r4s/[devid]/boil - кипячение
http://r4sgate.local/r4s/[devid]/boil?temp=95 - кипячение и нагрев

Статус:
MQTT:
r4s/[devid]/stat/state - возвращает JSON со всеми параметрами, которые получает от чайника.

HTTP:
http://r4sgate.local/r4s/[devid]/state

Пример статуса:
{"temp": 33,"target": 0,"heat": 0,"state": 0,"hours": 12,"mins": 0,"prog": 0,"error": 0}


Пример класса для Мажордомо (R4SKettle) во вложении.
У объекта нужно связать с mqtt свойства, как на картинке
Annotation 2019-10-18 120329.png
Annotation 2019-10-18 120329.png (100.87 КБ) 10979 просмотров

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Ср май 30, 2018 8:19 pm
AeroS
Спасибо за разработку!

Подскажите, есть вот такой чайник SkyKettle G200S-
СпойлерПоказать
Подцепит его Ваш шлюз?
И можно ссылочку какую esp32 покупать?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Ср май 30, 2018 8:28 pm
olehs
AeroS писал(а):
Ср май 30, 2018 8:19 pm
Спасибо за разработку!

Подскажите, есть вот такой чайник SkyKettle G200S-
СпойлерПоказать
Подцепит его Ваш шлюз?
И можно ссылочку какую esp32 покупать?
Да, с Redmond должно всеми работать. Единственное, у меня нет описания команд управления цветом, потому оно работать не будет.
А ссылочки вот тут коллега выкладывал https://majordomo.smartliving.ru/forum/ ... =40#p81340
У меня первая.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Ср май 30, 2018 9:52 pm
AeroS
Ага, отлично, буду заказывать.
p.s. управление цветом и не принципиально, рядом стоит шлюз xiaomi который выполняет роль ночника.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт май 31, 2018 7:18 pm
olehs
Извините, что тяну с инструкцией, но я все еще никак не могу до конца отловить и побороть зависания в либе BLE. Оно может пару часов работать нормально, а потом взять и зависнуть. Усложняется все тем, что в режиме отладки либа валит в порт по странице отладочной информации в секунду :(

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 14, 2018 2:32 pm
Igor.P
может нужна помощь упаковкой в модуль для majorDoMo?
потому что спрашивают про Redmond часто и много. и думаю многим будем актуально

что скажете?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 14, 2018 10:32 pm
directman66
А модуль чем поможет? Тут отдельное устройство, уже как ему с МД общаться, тут вариантов много. Сам жду есп32, в планах весы и чайник сяоми.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июн 14, 2018 11:36 pm
olehs
Для модуля еще рано.
С той библиотекой BLE, что есть сейчас, не получится подцепить к одному шлюзу несколько устройств, хотя либы нижнего уровня (esp32 gattc) вроде как позволяют делать что-угодно.
Если поборю зависания (скорее всего, если соберусь с духом и найду время переписать библиотеку для Ардуино), то можно будет и взяться за доработку по уму API. А вот тогда уже можно будет и модуль ваять.

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июл 19, 2018 12:37 pm
directman66
Включать/выключать чайник протокол позволяет?

Re: Шлюз на базе ESP32 для R4S-устройств (Ready for Sky/Nordic)

Добавлено: Чт июл 19, 2018 12:42 pm
olehs
directman66 писал(а):
Чт июл 19, 2018 12:37 pm
Включать/выключать чайник протокол позволяет?
В нем реализованы все команды, которые работают в родном приложении (может за исключением обновления прошивки)