• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Автоматизации
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Прошивка выключателя Sonoff T2/T2/T3

4 мая, 2021

Приобрести можно тут: http://alii.pub/5rfmj4

Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.

 

Ситуация следующая. У меня был ремонт в квартире. Я заказал данный выключатель на 2 клавиши и сразу его подключил. Квартира новая и wi-fi там небыло. Пользовался выключателем, как обычным. Далее не знаю когда именно случилось ( может быть даже сразу но не обратил внимание). Сенсор стал плохо реагировать на касания. Иногда приходилось раз 10-15 прислонить палец, чтоб выключить свет. А после того как появился wi-fi и интернет я не смог вообще подключить выключатель к аккаунту ewelink. Чтоб управлять со смартфона.

 

Я решил купить другой выключатель с подпружиненными кнопками (всетаки пришел к выводу, что в эти маленькие сенсорные квадратики нужно прицеливаться чтоб попасть.). А данный выключатель sonoff T2 у меня просто лежал без дела в итоге. И вот наконец дошли руки всетаки реанимировать его.

Итак, прошивать будем прошивкой на основе ESPHome. Разбираем выключатель и там нужна только основная плата. На ней расположен микроконтроллер esp8266. Собственно он и выступает мозгом данного выключателя. Также на плане есть не распаянные контакты VCC/GND/RX/TX. Для прошивки к ним и будем подключать программатор. Только пин RX программатора подключаем к пину  TX выключателя. И соответственно пин TX программатора к пину RX выключателя. Чтоб удобнее было подключаться к контактам для программирования, Плату с контроллером можно отсоединить от платы силовой части. Две платы подключены вот этими контактами и просто разъединяются:

Но подключения к программатору для прошивки будет не достаточно. Нам еще нужно будет ввести плату в режим программирования. Для этого нам нужно пин GPIO0 замкнуть с землей.

Как видно из снимка выше, gpio0 находится на правом контакте резистора R10. Я взял контактный провод, один конец закрепил на GND а вторым при включении просто подключился к правому контакту резистора R10:

Если центральный светодиод D3 при загрузке не начал гореть или мигать, а горят только сенсерные кнопки, то плата вошла в режим программирования. Если же светодиод мигает, то что-то сделали не так и повторите попытку.

Ну а теперь что касается прошивки.

Ниже предоставлю 3 прошивки для 3 видов выключателей. Это одноклавишный, двухклавишный и трехклавишный соответственно.

Так как прошивка на ESPHome и вы не знаете как с ним работать. То вот статья в которой я описал первые шаги и там же есть видео:

Знакомство с ESPHome. Настройка ds18b20 на esp8266. Интеграция ESPHome в Home Assistant.

Вот собственно сам код для 1 клавишного Sonoff T1:

====================================================

esphome:
  name: my_t1
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: xxx.xxx.xxx.xxx

logger:

api:

ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    id: button_1
    on_press:
      then:
        - light.toggle: light_1

  - platform: status
    name: "T1 Status"

output:
  - platform: gpio
    pin: GPIO12
    id: relay_1

light:
  - platform: binary
    name: "T1"
    id: light_1
    output: relay_1

status_led:
  pin:
    number: GPIO13
    inverted: yes


========================================================================

Собственно при создании нового устройства в ESPHome у Вас модули до binary_sensor создадутся сами. Вам нужно будет копировать код только от binary_sensor.

Код для выключателя Sonoff T2:

===============================================================

esphome:
  name: my_t2
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: xxx.xxx.xxx.xxx

logger:

api:

ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    id: button_1
    on_press:
      then:
        - light.toggle: light_1

  - platform: gpio
    pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    id: button_2
    on_press:
      then:
        - light.toggle: light_2

  - platform: status
    name: "T2 Status"

output:
  - platform: gpio
    pin: GPIO12
    id: relay_1

  - platform: gpio
    pin: GPIO5
    id: relay_2

light:
  - platform: binary
    name: "T2 L1"
    id: light_1
    output: relay_1

  - platform: binary
    name: "T2 L2"
    id: light_2
    output: relay_2

status_led:
  pin:
    number: GPIO13
    inverted: yes


==============================================================================

Код для выключателя Sonoff T3:

==============================================================================

esphome:
  name: my_t3
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  use_address: xxx.xxx.xxx.xxx

logger:

api:

ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    id: button_1
    on_press:
      then:
        - light.toggle: light_1

  - platform: gpio
    pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    id: button_2
    on_press:
      then:
        - light.toggle: light_2

  - platform: gpio
    pin:
      number: GPIO10
      mode: INPUT_PULLUP
      inverted: True
    id: button_3
    on_press:
      then:
        - light.toggle: light_3

  - platform: status
    name: "T3 Status"

output:
  - platform: gpio
    pin: GPIO12
    id: relay_1

  - platform: gpio
    pin: GPIO5
    id: relay_2

  - platform: gpio
    pin: GPIO4
    id: relay_3

light:
  - platform: binary
    name: "T3 L1"
    id: light_1
    output: relay_1

  - platform: binary
    name: "T3 L2"
    id: light_2
    output: relay_2

  - platform: binary
    name: "T3 L3"
    id: light_3
    output: relay_3

status_led:
  pin:
    number: GPIO13
    inverted: yes

======================================================================================

На этом в принципе все. После заливки прошивки. Мы это легко все можем добавить в Home Assistant. И уже из него управлять выключателями.

Демонстрация прошивки в видео:

Primary Sidebar

Поиск

Новые записи

  • Автоматизация перезагрузки устройства по команде Ping.
  • Разблокирование и добавление шлюза Xiaomi gateway 3 в Home Assistant для управления Bluetooth устройствами из экосистемы Xiaomi Home (mihome)
  • Интеграция для локального управления (без интернета) ик пультом Tuya работающим по wifi из Home Assistant
  • Транслируем показания с Уличного Bluetooth Датчика температуры по BTHome на дисплей датчика температуры XIaomi LYWSD03MMC
  • Заставляем Bluetooth датчики температуры tuya и xiaomi отправлять данные по Zigbee в Home Assistant.

Официальный YouTube Канал M5Stack:

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Подписаться на YouTube!

Secondary Sidebar




Подписывайтесь на Telegram Канал!

У Павла!

Footer

Copyright_У Павла! © 2025 ·