Статья

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

В последнее время, очень часто появляются пользователи, которые сталкиваются с трудностями при попытке перепрошить устройства 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 чтобы было понятно куда нам нужно подключаться

Ниже показана плата 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 устройства)

Вот в общем то и все.


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


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

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

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

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

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

В указанной ссылке на на прошивку в папке Sonoff отсутсвует файл с именем user_config.h



Долго не мог подобрать драйвера для этого контроллера на pl2303. Нашел http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=229&pcid=41">здесь.

1000x_image.png?1553403696

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

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

Статья большая, картинок много......но почти бесполезная если шьешь не через конвертер. Просто зайди на github tasmota и прошить в устройство tasmota.bin, а все остальное без атомов и прочего настраивается через веб интерфейс

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

Добрый день.

Замечательная инструкция. Но не могли бы вы ее обновить в новых реалиях? Например, user_config отсутствует и его необходимо создать на базе USER_CONFIG_OVERRIDE. Также нет папки sonoff, а теперь она tasmota.

В общем для совсем новичков нужны обновленные инструкции :)


вот нашелся бы человек, который бы написал апдейт а я бы добавил с указанием авторства :)) а то у меня тасмот не осталось, даже скрины сделать не на чем :)

Скажите а для roborock S6 maxv аналогично?

что именно ? 

простите, окном ошибся, для другой статьи коммент должен был быть


Вернуться назад
Вернуться назад