Были куплены ночники по 10$ за штуку на али, специально для переделки под esp8266
Вот такие:
Внутри находится плата со светодиодами RGBWW и батареей 18650, сверху расположен тач сенсор:
Начнем подключать esp8266
Для начала я припаял землю (GND — черный провод) и плюс (VCC — фиолетовый провод). Именно на этой ножке чипа плюс есть всегда — и от сети, и от батареи
Позже подключил питание esp8266 не напрямую, а используя переключатель на плате. Так намного удобнее. Подробнее тут.
Дальше припаял контакты для управления светодиодами. На фото отметил куда именно припаял. Цвет проводов соответствует цветам led:
Теперь подключим это к esp8266. У меня это плата NodeMCU:
Схема подключения:
GND LED > GND ESP8266
VCC LED > Vin (5v) ESP8266
RED LED > D5 ESP8266
GREEN LED > D6 ESP8266
BLUE LED > D7 ESP8266
WHITE LED > D8 ESP8266
Теперь в ESPHome делаем прошивку со следующей конфигурацией:
esphome: name: bedroom_bedside_nightlight1 platform: ESP8266 board: nodemcuv2 esphome_core_version: latest # Wifi wifi: ssid: '*****' password: '*****' reboot_timeout: 60min manual_ip: static_ip: ***.***.***.*** gateway: ***.***.***.*** subnet: ***.***.***.*** # log logger: # Home Assistant API api: password: '*****' ota: password: '*****' # led pins output: - platform: esp8266_pwm id: output_red pin: D5 max_power: 0.75 - platform: esp8266_pwm id: output_green pin: D6 max_power: 0.75 - platform: esp8266_pwm id: output_blue pin: D7 max_power: 0.75 - platform: esp8266_pwm id: output_white pin: D8 max_power: 0.75 # light light: - platform: rgbw name: bedroom_bedside_nightlight1 red: output_red green: output_green blue: output_blue white: output_white effects: - strobe: - flicker: - random: # sensors sensor: # signal wifi - platform: wifi_signal name: bedroom_bedside_nightlight1_wifi update_interval: 15s # nightlight ip text_sensor: - platform: wifi_info ip_address: name: bedroom_bedside_nightlight1_ip
и проверяем:
Клеевым пистолетом я приклеил все провода к плате, чтобы не оторвались, и esp к ножке ночника:
Единственное, что я не сделал, так это не смог разобраться с верхним сенсором, в планах купить ему на замену готовый модуль на али, чтобы управлять ночником не только из Home Assistant, но и физически, тачем.
Update 18.12.2020:
Тач сенсор для esp8266 я встроил уже давно, не находил время написать об этом. Для этого использовал вот такой сенсор ttp223:
В его подключении нет ничего сложного, но про него можно рассказать много интересного. Возможно позже этим займусь.
Я его посадил на клей взамен штатного тача, вот таким образом:
Вывел его в плоскость с крышкой и он отлично работает уже второй год
Принцип управления одним тачем — на прикосновение включение/отключение, на долгое нажатие изменение яркости. Если ночник выключен — он включится и будет увеличивать яркость до максимума, а если включен и держать тач — будет уменьшать, пока не выключится. Итоговый конфиг для ESPHome получился следующий:
esphome: name: bedroom_bedside_nightlight1 platform: ESP8266 board: nodemcuv2 # Wifi wifi: ssid: 'WRLS' password: 'pass' logger: api: password: 'bedroom_bedside_nightlight1' ota: password: 'bedroom_bedside_nightlight1' # Пины светодиодов output: - platform: esp8266_pwm id: output_red pin: D5 max_power: 0.75 - platform: esp8266_pwm id: output_green pin: D6 max_power: 0.75 - platform: esp8266_pwm id: output_blue pin: D7 max_power: 0.75 - platform: esp8266_pwm id: output_white pin: D8 max_power: 0.75 # Ночник light: - platform: rgbw name: bedroom_bedside_nightlight1 id: bedroom_bedside_nightlight1 red: output_red green: output_green blue: output_blue white: output_white effects: - strobe: - flicker: - random: # Датчики binary_sensor: - platform: gpio pin: number: D1 name: bedroom_nightlight1_light_button id: bedroom_nightlight1_light_button on_click: then: - light.toggle: bedroom_bedside_nightlight1 # Автоматизация для изменения яркости on_press: then: - if: condition: light.is_off: bedroom_bedside_nightlight1 then: - delay: 0.5s - while: condition: binary_sensor.is_on: bedroom_nightlight1_light_button then: - light.dim_relative: id: bedroom_bedside_nightlight1 relative_brightness: 5% transition_length: 0.1s - delay: 0.1s else: - delay: 0.5s - while: condition: and: - binary_sensor.is_on: bedroom_nightlight1_light_button - light.is_on: bedroom_bedside_nightlight1 then: - light.dim_relative: id: bedroom_bedside_nightlight1 relative_brightness: -5% transition_length: 0.1s - delay: 0.1s
Как видно по конфигу, для тача я задействовал пин D1:
Для питания 3.3в от NodeMCU:
Также были куплены наклейки на крышку в области тача взамен родных:
В таком виде ночники работают уже второй год, но есть свои нюансы. Во первых, и самое неудобное — я не задействовал родную кнопку включения/выключения питания в нижней части ночника:
В текущем виде этот переключатель управляет питанием светодиодов от батареи. После отключения ночника от сети на продолжительное время батарея садится и есп отключается. И не важно, что батарея потом будет заряжена — есп не стартовала. Мне уже несколько раз приходилось откручивать крышку и отсоединять питание самой есп, чтобы при обратном подключении она запустилась. Понимаете, насколько это неудобно. Исправлено, подробнее тут.
Второй нюанс — тач. А точнее то, что он всего один. Смотря на комментарии к этой записи я стал подумывать о замене esp8266 на esp32 для возможности подключения родной тач-панели. Еще esp32 будет полезна для реализации присутствия в комнате через BLE, что тоже для меня интересно. Поэтому в ближайшее время планирую ставить ESP32 + родной тач и покажу как задействовать родной переключатель питания для отключения есп.
Для штатного тача стоит заменить nodemcu на esp32. Там есть поддержка из коробки тачевых кнопок. А дальше дело техники и правил.
Здравствуйте! Помогите пожалуйста. Никак не получается создать прошивку в ESPHome для платы esp32doit-devkit-v1. Какую платформу указать? И какие пины? Платформы esp8266_pwr в ESP32 нет.
Здравствуйте! На esp32 вместо pwm используется ledc
Пины, работающие с этим компонентом, указаны на странице по ссылке выше. Для esp 32 Doit я использовал platform: esp32 и board: esp32doit-devkit-v1
Спасибо! Может прошивку выложите, пожалуйста.
Правильно?
# led pins
output:
# output_red
— platform: ledc
id: gpio_5
pin: GPIO5
max_power: 0.75
# output_green
— platform: ledc
id: gpio_18
pin: GPIO18
max_power: 0.75
# output_blue
— platform: ledc
id: gpio_19
pin: GPIO19
max_power: 0.75
# output_white
— platform: ledc
id: gpio_21
pin: GPIO21
max_power: 0.75
# light
light:
— platform: rgbw
name: bedroom_bedside_nightlight1
red: gpio_5
green: gpio_18
blue: gpio_19
white: gpio_21
effects:
— strobe:
— flicker:
— random:
# sensors
sensor:
# signal wifi
— platform: wifi_signal
name: bedroom_bedside_nightlight1_wifi
update_interval: 15s
# nightlight ip
text_sensor:
— platform: wifi_info
ip_address:
name: bedroom_bedside_nightlight1_ip
Я правильно понимаю, что ‘из коробки’ этот ночник тачем плавно цвет менять не умеет и дает только 7 цветов?
Даже не помню что они могли из коробки, я то их приобретал для опытов) цветов мало, это помню. А насчет плавности включения точно не скажу. Меня интересовала возможность удаленного управления из Home Assistant и локального с помощью тача, что я и реализовал.
Судя по статье управление цветом с тача сделать не получилось?
Получилось, просто позже написания статьи. Где-то в комментариях я писал об этом
А вы можете дописать статью или сделать вторую часть (про ESP8266 + верхний тач)?
Да, дополню. Только я там использовал другой тач, вот такой модуль:
Т.е. вы поставили 7 тачевых кнопок с Али?
Нет, одну вместо штатного модуля. Нажатие включает/выключает, долгое нажатие меняет яркость. Цвет меняется из HA. Мы привыкли, обычно они у нас светят теплым белым, поэтому сменой цвета пользуемся редко
Понял. Буду ждать дополнения статьи. Спасибо.
Приехал мне вчера такой ночник. По регулировке цвета. Сенсоров цвета там 6. И, похоже, он умеет делать полутона между ними когда срабатывают два соседних сенсора. Хочется сохранить регулировку цвета с тача. Даташит на МС сенсора я не нашел, но судя по схеме включения она видимо выдает готовые управляющие сигналы на ключи светодиодов. Т.е. использовать ее не получится. Но есть такая микруха TTP226. Старшая сестра TTP223, но с 8 кнопками. Умеет: мультитач; работать в режиме 8*1, 4*2, 3*3; и по последовательному интерфейсу. Китайцы на Али продают и саму МС, и модули на ее основе. Т.е. можно от модуля сенсорные площадки отрезать… Подробнее »
Будет очень круто, если реализуете задуманное, идея интересная. У меня обычный TTP223, посаженный на клей взамен штатного тача и я им пользуюсь только чтобы включить/выключить или изменить яркость. Если найдете время — обязательно покажите свою реализацию.
Добрый день.
Подскажите можно где-то прочитать про настройку ESPHome на русском?
Здравствуйте! Я обычно пользуюсь автопереводом их вики страниц в chrome, вроде все понятно. Если что-то не ясно, тогда уже через гугл искать на других ресурсах, опять же с переводчиком
подскажите, каким образом выяснили куда именно припаяться для управления светодиодами? есть одна игрушка, ещё не вскрывал, не хочется сходу взять и всё сломать)
Мультиметром искал. Разбирать в любом случае придется, если хотите попробовать добавить управление по wifi. Главное несколько раз все перепроверить, перед тем, как что-то паять)
Привет.Подскажите как подключить сенсорную кнопку к есп8266? На какие пины и что прописать?
Добрый день. Использовал ttp223 тач сенсор без каких-либо изменений. Просто посадил его на клей клеевым пистолетом. Вот часть моего конфига: # Пины светодиодов output: - platform: esp8266_pwm id: output_red pin: D5 max_power: 0.75 - platform: esp8266_pwm id: output_green pin: D6 max_power: 0.75 - platform: esp8266_pwm id: output_blue pin: D7 max_power: 0.75 - platform: esp8266_pwm id: output_white pin: D8 max_power: 0.75 # Ночник light: - platform: rgbw name:… Подробнее »
Спасибо огромное буду пробовать
Здравствуйте. У меня опять вопрос. Сверху прочитал,что если использовать есп32,то можно оставить и родной тач? Жене и ребенку понравилась лампа просят оставить. Можно ли как то это сделать?
Здравствуйте, тоже в планах попробовать подцепить родной тач сенсор, нужно время выделить на изучение. Для родных оставьте один, а для опытов приобретите другой, я так делал)
Да похоже придется еще заказывать))
Ждём с нетерпением продолжение про ESP32
Классно придумали!
Я очень хочу световой будильник, который можно легко брать в поездки.
Я полный новичок в этом деле и есть пара вопросов:
Благодарю за такую крутую статью. Интересно будет посмотреть с esp32.
С наступающим Новым годом! 🙂
Спасибо) Я думаю можно будет попробовать средствами esphome реализовать режим рассвета. Тоже нравится, нужно будет заняться.
Второй пункт реализовать просто, если будет реализован первый)
Насчёт того, чтобы брать его с собой — нужно будет посмотреть что там у esp32 в плане энергосбережения. Из коробки ночник держал от батареи прилично дольше, чем с esp8266.
Интересную идею подкинули, спасибо)
И вас с наступающим!?
Спасибо за подробный ответ!
Посмотрела пару видео у Гайвера, поняла, что все можно сделать, но боюсь, что реализация этого займет много времени.
Буду следить за вашими проектами!)
а esp32 будет интереснее, т.к. достаточно будет телефона с подключением bluetooth, не нужно будет постоянно подключаться к wi-fi