Как 2Smart Cloud работает с ESPHome
Платформа 2Smart Cloud дает возможность взять главное от ESPHome – простоту создания прошивки. Описать логику работы устройства можно по документации к ESPHome или опираясь на готовые примеры. Сделать это можно без знания основ программирования.
Использовать сборщики прошивки на компьютере не нужно – код вставляется в специальное окно в кабинете разработчика. Готовая прошивка собирается на серверах платформы, разработчик получает архив с инструкцией по установке прошивки на устройство.

Благодаря такому решению все, что нужно для интеграции устройства в платформу, встраивается в код автоматически.
Если вернуться к параметрам Wi-Fi, то они указываются только в прошивке тестового устройства – прототипа, с которым работает разработчик. Это продуманное решение – прототип должен подключаться к интернету сразу после прошивки, чтобы как можно быстрее продолжить работу над устройством.
После тестирования прототипа формируется серийная прошивка устройства, без параметров Wi-Fi. Она устанавливается на всю партию готовых устройств. Параметры Wi-Fi передаются конечным пользователем на этапе сопряжения устройства с мобильным приложением.
Сопряжение устройства с прошивкой на базе ESPHome с мобильным приложением
Процедура сопряжения в 2Smart Cloud – стандартная для “умных” устройств в любой экосистеме:
- пользователь указывает параметры своей Wi-Fi сети в мобильном приложении;


- мобильное устройство подключается к точке доступа Wi-Fi, которую открывает само устройство при первом запуске;


- происходит обмен данными между устройством и мобильным приложением, в том числе передаются параметры Wi-Fi.




Аналогичная процедура используется, если прошивка для IoT устройства написана с помощью других инструментов – например, SDK 2Smart Cloud. Таким образом, удается поставить ESPHome в один ряд с профессиональными инструментами разработчика и использовать эту систему в том числе для создания коммерческих продуктов.
Сброс настроек без перепрошивки
Дополнительное преимущество адаптированной прошивки ESPHome, которая собирается средствами платформы 2Smart Cloud – возможность сбросить устройство до первоначальных “заводских настроек” без перепрошивки. Сброс настроек означает, что устройство вновь запускает точку доступа Wi-Fi и готово к сопряжению с мобильным приложением.
Такая возможность предусмотрена для таких случаев:
- устройство передано новому владельцу;
- владелец прежний, но параметры Wi-Fi изменились (например, был куплен новый роутер);
- владелец по ошибке передал параметры Wi-Fi сети с частотным диапазоном 5 ГГц, который не поддерживается ESP32, ему нужно указать сеть с диапазоном 2,4 ГГц.
Технически сброс настроек реализован расширением возможностей стандартного компонента gpio platform. Чтобы вернуть устройство к первоначальным настройкам, пользователю нужно нажать физическую кнопку Reset на устройстве и удерживать ее в таком состоянии в течение трёх секунд.

Пример ESPHome кода простейшего устройства (блинкера) с кнопкой Reset:
binary_sensor:
- platform: reset_sensor
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: true
name: Reset button
filters:
- delayed_on: 1s
switch:
- platform: gpio
id: l2
name: GPIO2
pin:
number: GPIO2
sensor:
- platform: wifi_signal
name: WiFi1 Signal
update_interval: 30s
id: wifi_config
Подробно об использовании ESPHome в 2Smart Cloud – в документации для ESPHome на гитхабе.