Управляем ESP32 из умного дома СБЕР. | HelpMeChip
Электроника в помощь!

Управляем ESP32 из умного дома СБЕР.

November 15, 2025, 8 минуты

В предыдущих статьях, мы принимали команды от УД СБЕРа на одноплатном компьютере, через приложение NODE-RED. Настало время управлять своим устройством напрямую, без всяких промежуточных звеньев. В этой статье, я покажу, как напрямую подключить устройство на ESP32 к MQTT серверу СБЕРа, и управлять им через приложение Салют или голосом через умную колонку.

Обновление: 16 января 2026 СБЕР опять убрал DIY со своего сайта. Интеграция всё ещё возможна, но некоторые ссылки на документацию не работают.

Итак, берём модуль на ESP32, у меня это nodemcu, три светодиода с резисторами. Светодиоды будут отображать состояние каналов. С помощью макетной платы можно всё быстро собрать, для проверки.

Принципальная схема устройства очень проста:

Вы должны зарегистрироваться в Studio, получить данные для подключения к MQTT и создать модель устройства Relay. Как это сделать, читайте на сайте документации СБЕРа.

Затем заливаем программу, скачиваем тут. Она для Platformio, если вы используете Arduino IDE, то скопируйте всё из файла main.cpp в новый созданный проект, и установите библиотеки, ссылки на которые указаны в тексте программы.

В программе меняем строки:

const char *ssid = "WiFi_name";
const char *pass = "WiFi_pass";
const char *sber_login = "sber_login_studio";
const char *sber_pass = "sber_pass_studio";

Указываем имя и пароль вашей точки доступа, а так-же логин и пароль, полученный в Studio для подключения к MQTT серверу.

const uint8_t u_count = 3; // Количество устройств
const char* sID[2][u_count] {{"red", "yellow", "green"}, // Название ID
{"Красный", "Желтый", "Зелёный"}}; // и имя устройств
bool output_state[3];

тут указаны наши устройства, которые будут отображаться в приложении Салют.

В функции createDevice() создаём описание наших устройств, которые передаются на сервер СБЕРа. 

Функция sendState() отправляет текущее состояние наших устройств.

Фунция parseDevice() принимает данные с сервера, и меняет состояние выходов.

В остальном всё по классике: Подключаемся к WiFi, затем подключаемся к MQTT серверу. Работа с сервером СБЕРа по защищённому протоколу (mqtts), поэтому нам необходим подключить сертификат. 

Подписываемся на необходимые топики, о них подробнее можно почитать тут. Передаём описание своих устройств, и ждём комманд от сервера, анализируем их и отвечаем серверу.

Как видите, всё относительно просто. Однако, не забывайте, что Studio выдаёт нам только три пары логин|пароль, и соответственно, вы не сможете создать десяток устройтсв, которые будут сами по себе, поскольку новые данные об устройствах буду "затирать" предыдущие. Но есть простой выход из этой ситуации. Вы создаёте мастер устройство, которое будет отсылать конфигурацию за всех, например, у меня это всё тот-же одноплатник, а исполнительные устройства, будут просто слушать команды и отвечать на них.

На видео пример работы устройства. Всем удачи!

Social Media
Github
Telegram
Powered by BS5 Simply Blog and Bludit
Отличный хостинг от TimeWEB
Navigation