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

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Вс май 27, 2018 10:53 pm


ОБРАТИТЕ ВНИМАНИЕ НА ПРОШИВКУ ОТ 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 КБ) 10933 просмотра
Вложения
R4SKettle.txt
(5.66 КБ) 585 скачиваний
Последний раз редактировалось olehs Сб ноя 14, 2020 7:49 pm, всего редактировалось 9 раз.
За это сообщение автора olehs поблагодарили (всего 10):
skysilver (Пн май 28, 2018 11:32 am) • AeroS (Ср май 30, 2018 8:17 pm) • ypiter2006 (Ср май 30, 2018 9:31 pm) • Igor.P (Чт июн 14, 2018 2:18 pm) • srvsrvsrv (Сб июн 30, 2018 10:53 am) • VooDooN (Пт сен 14, 2018 11:33 pm) • tarasfrompir (Чт сен 05, 2019 8:06 am) • Divan (Пт окт 18, 2019 1:54 pm) • kurs (Чт ноя 07, 2019 2:23 am) • Gelezako (Вт ноя 03, 2020 11:05 pm)
Рейтинг: 11.63%
AeroS
Сообщения: 37
Зарегистрирован: Чт апр 13, 2017 9:27 am
Благодарил (а): 21 раз
Поблагодарили: 2 раза

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

Сообщение AeroS » Ср май 30, 2018 8:19 pm

Спасибо за разработку!

Подскажите, есть вот такой чайник SkyKettle G200S-
СпойлерПоказать
Подцепит его Ваш шлюз?
И можно ссылочку какую esp32 покупать?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Ср май 30, 2018 8:28 pm

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

Подскажите, есть вот такой чайник SkyKettle G200S-
СпойлерПоказать
Подцепит его Ваш шлюз?
И можно ссылочку какую esp32 покупать?
Да, с Redmond должно всеми работать. Единственное, у меня нет описания команд управления цветом, потому оно работать не будет.
А ссылочки вот тут коллега выкладывал https://majordomo.smartliving.ru/forum/ ... =40#p81340
У меня первая.
За это сообщение автора olehs поблагодарил:
AeroS (Ср май 30, 2018 9:50 pm)
Рейтинг: 1.16%
AeroS
Сообщения: 37
Зарегистрирован: Чт апр 13, 2017 9:27 am
Благодарил (а): 21 раз
Поблагодарили: 2 раза

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

Сообщение AeroS » Ср май 30, 2018 9:52 pm

Ага, отлично, буду заказывать.
p.s. управление цветом и не принципиально, рядом стоит шлюз xiaomi который выполняет роль ночника.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт май 31, 2018 7:18 pm

Извините, что тяну с инструкцией, но я все еще никак не могу до конца отловить и побороть зависания в либе BLE. Оно может пару часов работать нормально, а потом взять и зависнуть. Усложняется все тем, что в режиме отладки либа валит в порт по странице отладочной информации в секунду :(
Igor.P
Сообщения: 79
Зарегистрирован: Вт ноя 14, 2017 7:11 pm
Откуда: Минск
Благодарил (а): 74 раза
Поблагодарили: 10 раз
Контактная информация:

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

Сообщение Igor.P » Чт июн 14, 2018 2:32 pm

может нужна помощь упаковкой в модуль для majorDoMo?
потому что спрашивают про Redmond часто и много. и думаю многим будем актуально

что скажете?
Директор по развитию, MajorDoMo
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Чт июн 14, 2018 10:32 pm

А модуль чем поможет? Тут отдельное устройство, уже как ему с МД общаться, тут вариантов много. Сам жду есп32, в планах весы и чайник сяоми.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт июн 14, 2018 11:36 pm

Для модуля еще рано.
С той библиотекой BLE, что есть сейчас, не получится подцепить к одному шлюзу несколько устройств, хотя либы нижнего уровня (esp32 gattc) вроде как позволяют делать что-угодно.
Если поборю зависания (скорее всего, если соберусь с духом и найду время переписать библиотеку для Ардуино), то можно будет и взяться за доработку по уму API. А вот тогда уже можно будет и модуль ваять.
directman66
Сообщения: 2801
Зарегистрирован: Пн дек 26, 2016 9:51 am
Откуда: Екатеринбург
Благодарил (а): 380 раз
Поблагодарили: 693 раза
Контактная информация:

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

Сообщение directman66 » Чт июл 19, 2018 12:37 pm

Включать/выключать чайник протокол позволяет?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

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

Сообщение olehs » Чт июл 19, 2018 12:42 pm

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