Прошивка устройств Sonoff на Tasmota и настройка MQTT

01 ноября 2018, 09:16

В последнее время, очень часто появляются пользователи, которые сталкиваются с трудностями при попытке перепрошить устройства Sonoff для того чтобы они могли работать в системах "Умного дома".

Самой популярной прошивкой для Sonoff является Tasmota

О ней и пойдет речь.

Что нам понадобится ?

Во первых нам понадобится UART контроллер работающий с напряжением 3.3В ЭТО ОЧЕНЬ ВАЖНО!!!

Самые распространенные модели, которые можно найти даже на Avito это FT232 и CH340

Мне на просторах попался FT232 им я и воспользовался (выходы подписаны специально, нам это понадобится для будущего подключения)

Дальше нам понадобятся соединительные провода типа мама-папа. Их можно найти в любом радиомагазине или на том же авито у продавцов Arduino компонентов
Еще нам понадобится программа для компьютера под названием Atom
Ну и собственно сам компьютер под управлением Windows, Mac OS или Linux (неважно в общем то, но ввиду китайского происхождения UART модулей, на Windows могут возникнуть проблемы)

Ну и нужны в общем то сами устройства Sonoff. В моем случае, я шил Sonoff 4CH Pro
Но по факту особых различий нет.

Начинаем

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

Качаем их тут и устанавливаем.

Далее нам нужна собственно прошивка Tasmota. Идем на вот этот сайт и качаем

Разархивируем его и получаем вот такую структуру (я пользуюсь Mac OS)
Где нам по факту понадобятся только отмеченные два файла в которые мы потом будем вносить изменения.
Далее качаем и устанавливаем Atom (там все стандартно и никаких особых инструкций нет)
Открываем его и до устанавливаем необходимый компонент

После этого нам нужно будет внести изменения в файлы прошивки

Программатор (UART контроллер в нашем случае) должен быть подключен к компьютеру
Если у вас Windows, то там просто будет какой-то номер COM порта, его копируем и вставляем
Сохраняем изменения внесенные в файл platformio.ini (в меню File - Save) и переходим к редактированию файла user_config.h который находится в папке sonoff
И вносим в него указанные изменения. По факту от модели Sonoff зависит только две строчки
Например TH16 прописывается как sonoffth и SONOFF_TH соответственно
Или например sonoffpow и SONOFF_POW
в моем случае был sonoff4chpro и SONOFF_4CHPRO

От этого зависит конфигурация, которую вы получите в итоге.
Сохраняем внесенные изменения, и переходим к аппаратной подготовке.

Аппаратная подготовка

Нам понадобится разобрать корпус нашего Sonoff чтобы добраться до контактов, к которым нужно будет подключить наш UART контроллер.

 Я покажу несколько вариантов различных моделей Sonoff чтобы было понятно куда нам нужно подключаться


Контроллер UART должен быть отключен от компьютера !!! Пока мы не подойдем к процессу прошивки !!!!
Ниже показана плата 4CH PRO и по ней мы будем идти дальше.
Нам необходимо соединить выводы UART контроллера с контактами на плате Sonoff в следующем порядке:
UART контроллер
SONOFF
VCC (3,3V)
VCC (3.3V)
GND
GND
RX
TX
TX
RX

ВАЖНО !!! На контроллере есть переключатель напряжения между 5В и 3.3В. ОБЯЗАТЕЛЬНО УСТАНОВИТЕ ЕГО В ПОЛОЖЕНИЕ 3.3 В иначе спалите Sonoff

Ну а дальше надо будет аккуратно подключить контроллер к плате в соответствии с таблицей соединений.

После подключения контроллера к SONOFF нужно будет в варианте с SONOFF 4CH PRO совершить еще одно действие

Замкнуть указанные контакты между собой, и держа это соединение подключить контроллер к USB порту компьютера. (В случае с остальными Sonoff устройствами, нужно просто нажать и держать кнопку на самом Sonoff в момент подключения UART контроллера к компьютеру)

После того как подключите программатор к компьютеру, и увидите что на SONOFF не загорелась лампочка, можете отпускать кнопку или размыкать указанный выше проводок.
Дальше переходим к самой прошивке.

Прошивка

Открываем Atom и следуем инструкциям

Начнется не очень долгий процесс загрузки, при завершении которого вы увидите нечто подобное

Если у вас процесс зависает надолго и вы не получаете SUCCESS на выходе, то возможны несколько вариантов:

  • Вы где-то накосячили в конфигурации
  • вы неправильно подсоединили программатор (например невнимательно отнеслись к тому, что RX разъем программатора подключается к TX разъему SONOFF)
  • Ну или у вас не работают драйвера.

Вариантов может быть множество.

Чтобы проверить работоспособность вашего SONOFF вам нужно будет зайти на ваш роутер, и узнать какой IP адрес он получил. Они обычно по умолчанию называются Sonoff что-то там, вы ни с чем не перепутаете.
Заходите в браузер и идете по ссылке http://IP_Адрес_Свежепрошитого_Sonoff и видите что-то типа этого:

Ну а теперь парочка лайфхаков:

Если у вас например в Home Assistant в настройках MQTT в файле configuration.yaml указаны следующие параметры:

mqtt:
  broker: core-mosquitto
  discovery: true
  discovery_prefix: homeassistant
То у вас появляется замечательная возможность автоматически настроить свеженастроенный Sonoff чтобы он был виден в Home Assistant без дополнительных настроек последнего.

НО !!! Обязательно определитесь с тем, как вы хотите видеть этот Sonoff в вашей системе, потому что настройки которые попадут в Home Assistant автоматически, вы не сможете изменить (название или тип устройства например)

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

Поэтому перед тем как настраивать эти лайфхаки, очень внимательно отнеситесь к настройке названия, топиков MQTT и других параметров в прошивке Sonoff перед тем как совершать эти действия.


Итак лайфхаки:
Заходим в меню Console
И пишем
SetOption30 1
если мы хотим, чтобы этот конкретный Sonoff значился как Лампочка (Light) (по умолчанию они заходят как выключатели/switch)
и наконец
SetOption19 1
чтобы он автоматически добавился в систему Home Assistant (или любую другую, которая умеет сама находить MQTT устройства)
Вот в общем то и все.

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

Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Алексей Новосельцев (novo)
    Алексей Новосельцев (novo) 8 месяцев назад

    Спасибо за статью и особенно за лайфхак!

    А нельзя сразу прописать SetOption в прошивке, чтобы, после прошивки, вообще, не настраивать через вифи. Типа плаг энд плей чтобы получился для Home Assistant?

    Не хватает информации какими ещё устройствами можно через лайфхак прокидывать Sonoff и что ещё можно сделать с помощью консоли в Тасмоте.

  2. Александр Шотиди (Grek)
    Александр Шотиди (Grek) 8 месяцев назад

    Спасибо ! Вчера пол дня учился прошивать Sonoff правда шил через  arduino ide. В следующий раз попробую по этой инструкции!

  3. Евгений Олейник (permadm)
    Евгений Олейник (permadm) 8 месяцев назад

    не знал, что атомом можно шить, всегда шил через программу arduino

  4. Тим Лазу (tim.lazu)
    Тим Лазу (tim.lazu) отредактировано 8 месяцев назад
    Комментарий был удален
  5. (MRudenko)
    (MRudenko) 3 месяца назад

    Долго не мог подобрать драйвера для этого контроллера на pl2303. Нашел здесь.

    1000x_image.png?1553403696
    • (onexdrk)
      (onexdrk) 2 месяца назад

      Большое спасибо, очень помогла ваша ссылка на драйвер!

      Так же стоит заметить что после его установки нужно зайти в Security & Privacy и нажать кнопку для выдачи разрешений

К списку статей

Тематические чаты

Похожие статьи

04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
22 октября 2018, 19:00
Сборка DIY Лабораторного блока питания из китайских модулей
25 ноября 2018, 18:23
Умное зеркало добавляем модули Airplay и Google Calendar