Процесс перепрошивки и конфиг для ESPHome.
Скоро новогодние праздники, поэтому самое время заняться перепрошивкой контроллера SP501E для моей небольшой гирлянды, о которой я писал в прошлом году:
Новогодняя гирлянда с контроллером SP501E и адресной лентой WS2811
Для начала нужно вскрыть контроллер, чтобы подобраться к плате:
На плате есть много контактных площадок, но нужные контакты uart не подписаны.
Судя по содержимому и контактной площадке эта плата создавалась универсальной — и для адресной ленты и для обычной rgb с поддержкой теплого и холодного белого.
На мой взгляд это очень интересный контроллер в довольно компактном исполнении, который можно использовать как и в родном корпусе, так и в каких-либо проектах. Но сейчас не об этом, сейчас о перепрошивке на esphome. Для этого понадобится паяльник и несколько минут свободного времени. С обратной стороны платы расположена контактная площадка, которая не подписана. Вот она нам и нужна:
В прошлый раз я нашел нужный gpio, ведущий на data пин адресной ленты, но не догадался что нужно использовать платформу neopixelbus. Случайно наткнулся на вот этот пост и подумал, как я вообще мог это упустить. Зато появился повод интегрировать sp501e в HomeAssistant.
Теперь нужно припаять провода uart адаптера согласно распиновке на фото выше и можно заливать свою прошивку.
Перед этим обязательно делаем бэкап, чтобы была возможность откатиться. На всякий случай.
И дальше можно экспериментировать. Базовый конфиг для ESPHome следующий:
esphome: name: sp501e platform: ESP8266 board: esp01_1m wifi: ssid: 'WRLS' password: 'pass' api: password: "sp501e" ota: password: "sp501e" logger: # кнопка binary_sensor: - platform: gpio pin: number: 1 inverted: True id: button on_click: min_length: 50ms max_length: 350ms then: - light.toggle: sp501e_light light: - platform: neopixelbus type: RGB pin: GPIO3 num_leds: 50 name: "sp501e_light" id: sp501e_light effects: - addressable_rainbow:
Настраиваем через Настройки > Интеграции и радуемся возможности управления из Home Assistant:
Что касается кнопки, то ее наличие делает управление гирляндой еще проще. На нажатие я повесил включение/выключение:
Можно заморочиться и повесить переключение цветов или эффектов при удерживании или двойном клике. Ну а тема addressable_lambda эффектов ESPHome достойна отдельной записи в блоге.