Найти в Дзене
Подписаться

Прошивка дешевых WiFi-реле (mini smart switch)

Оглавление

Очередной раз закупал всякую мелочевку на AliExpress и обратил внимание на маленькие wifi-реле.

При своей цене в 150-200р они имели завершенный вид. Корпус, клеммники, приложение и коммутация хорошего тока (до 16 А). Стало интересно посмотреть, что это и как удалось реализовать такое чудо.

Купил у трех разных продавцов для сравнения.

Разные или одинаковые?

Как видно, они как братья-близнецы. Назначение выводов один в один.

По типу корпуса можно выделить два вида. На защелках и на штифтах.

Начинка тоже различается. В тех, что на защелках, платы черные и построены на модуле LN-02 (LN882H).

На штифтах платы зеленые и построены на SM-028_v1.3 (BL602), а еще имеют приятный бонус в виде реле на 20А при заявленных 16А:

Еще пара фото модуля отдельно:

Схемотехника в обоих случаях простейшая. Модуль, к нему кнопка, светодиод, транзистор с диодом для управления реле и клеммники.

Из интересного можно отметить импульсный понижающий преобразователь. Что в нем такого? Да просто обычно используют схему на гасящем конденсаторе, а здесь на дросселе, достаточно редкая схемотехника. Прогресс, однако!

Но есть и то, о чем стоит предупредить: вход S2 не имеет гальванической развязки и выведет модуль из строя, если на S2 относительно S1 окажется больше 3.3В!

А все из-за того, что S2 идет напрямую в модуль. Без оптопары, без супрессора, да даже без конденсатора. Потому, если провод до выключателя длинный или с плохой изоляцией, то не удивляйтесь, что реле периодически само по себе включается или щелкает, а комната превращается в танцпол со стробоскопическим эффектом :).

Прошивка

Посмотрели, потыкали. Работает. Круто. Но на смартфоне появилось сразу два приложения: CozyLive и eWeLink.

Управлять зоопарком тоже можно, но хочется однообразия. Решил поискать прошивки от энтузиастов и нашел!

Для черных плат с LN882 и зеленых с BL602. По ссылкам есть и материалы и инструкции. Постараюсь сильно не повторять, а описать моменты, которые были слабо освещены в материалах выше.

Для питания модулей требуется 3.3В с хорошим током. При питании от USB-UART переходника, который требуется для перепрошивки, могут быть сбои или вовсе не получится запустить процесс.

В статье для LN882 модуль выпаивают и подключают через внешний стабилизатор на 3.3В. Но это не обязательно! Ведь на плате уже есть стабилизатор AMS1117-3.3.

-5

Просто подаем на конденсатор БП пяти вольтовой линии 5В с USB. RX, TX тоже не заняты. После прошивки можем даже реле пощелкать без подключения к сети 220В для проверки.

Ножку boot нужно подключить к GND для перехода в режим программирования. После прошивки перемычку нужно будет удалить и перезагрузить по питанию.

К BL602 подпаяться сложнее. Чтобы рассмотреть куда подпаиваться пришлось его выпаять.

-7

Питание 3.3В, а не 5. И BT (boot) нужно подключать к 3.3В через резистор 10 кОм.

Для проверки необходимо ли выпаивать запаял модуль обратно и прошивал на плате. Оказалось, можно не выпаивать. Разве что сложнее подпаяться.

-8

USB-UART подойдет буквально любой. Я использовал CH340. Даже если есть только arduino nano, то и через нее можно.

-9

С ссылки выше (черных плат с LN882) нужно найти и скачать архив с LN882H_CMD_Tool. А с другой (зеленых с BL602) скачать прошивку с соответствующим именем LN882H_*.bin.

Прошиваем:

  1. Подключаем переходник
  2. Смотрим в диспетчере устройств назначенный номер порта, пусть будет COM25
  3. Закидываем файлы из архива в папку на диске и в нее же кладем OpenLN882H_*.bin, пусть будет OpenLN882H_1.17.425.bin
  4. Открываем командную строку и выполняем: LN882H_CMD_Tool.exe COM25 download flash 2000000 0x0 OpenLN882H_1.17.425.bin
  5. После прошивки отключаем переходник, отпаиваем перемычку на boot.

Для BL602 немного иначе. Прошивка выполняется программой BLDevCube из папки OpenBL602\tools\flash_tool.

-10

В принципе это все. Остается только выбрать профиль устройства в его настройках. А для этого:

Подключаемся к точке доступа wifi-реле:

-11

Откроется web-интерфейс настройки устройства:

-12

Переходим в config:

-13

Начинаем с настройки сети:

-14

Указываем название и пароль домашнего wifi:

-15

Сохраняем:

-16

Теперь переходим к настройке пинов:

-17

Смотрим на плату и сопоставляем пины, нашли профиль, копируем таблицу и сохраняем конфиг:

-18

Не нашли подходящего профиля? Тогда составляем сами!

Под зеленую плату я не нашел подходящего профиля и составил свой конфиг. Чтобы применить его скопируйте мой скрипт и примените его на своей BL602.

-19

Скрипт настройки BL602:

ClearIO // clear old GPIO/channels
StartupCommand "" // clear STARTUP
stopDriver * // kill drivers
backlog setPinRole 3 TglChanOnTgl; setPinChannel 3 0
backlog setPinRole 14 LED_n; setPinChannel 14 0
backlog setPinRole 20 Btn; setPinChannel 20 0
backlog setPinRole 21 Rel; setPinChannel 21 0
Flags 1024

Имейте ввиду, что если плата на BL602 отличается от той, что на фото, то скрипт может выставить неверный конфиг. Придется смотреть по плате куда какой идет пин и составлять собственный конфиг.

И, если не жалко, поделитесь своим полученным конфигом в комментариях или свяжитесь со мной, и я добавлю его в статью, чтобы другие тоже смогли им воспользоваться!

Маленькая заметка о плате с BL602

После прошивки прикосновение к S2 стало приводить к ложному срабатыванию реле. Недолго думая, добавил конденсатор между S1 и S2. Ложные срабатывания исчезли. Возможно где-то можно настроить гистерезис выключателя для подавления дребезга, и проблема ушла бы, но припаять оказалось быстрее, чем найти как это решить через ПО.

-20

Заключение

После перепрошивки остается функциональность управления реле с помощью переключателя (S1-S2) и кнопкой на корпусе.

Утратили возможность управлять из любой точки мира из приложения, но это поправимо. На крайний случай можно управлять, подключаясь к домашней сети через vpn.

Получили возможность управлять через web-интерфейс, или url-командами вида:

http://192.168.5.77/cm?cmnd=Power0%20On
http://192.168.5.77/cm?cmnd=Power0%20Off

а также через MQTT, например, организовав независимый от интернета и с быстрым откликом умный дом с Home Assistant.

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