Аппаратная основа – китайский модуль для управления жалюзи/ролетами от LoraTap.
Мозг модуля – TYWE2S, основывающийся на ESP8285.
Прелесть данного модуля в том что он имеет полный и независимый контроль над релешками и портами ввода. Т.е. изменив прошивку можно превратить его в двухканальный выключатель света. Отсюда же вытекает опасность – если в коде допустить ошибку в логике управления релешками, то можно сжечь мотор жалюзи одновременно подав напряжение на оба канала. Поэтому будем аккуратны 😉
В официальном магазине модуль представлен в двух версиях: V1 и V2. Я заказал оба и после инспекции могу отметить следующую разницу: качество производства и пайки в V2 выше. Тем не менее, с точки зрения схемотехники и компонентов – обе версии идентичны. Основное различие – в прошивке. V2 поддерживает переключатели с фиксацией положения, а V1 возвратные. Учитывая эту разницу и нижеследующее – смысла в переплате за V2 я особо не вижу.
Оригинальная прошивка нас не интересует. Она работает через облако tuya. Во-первых это зависимость от доступа в интернет. Во-вторых возможные лаги. В-третьих доступ к управлению из своего софта затруднен (хоть энтузиасты и активно реверсят). Ну и в-четверых внутренний параноик не доверяет свой уют для доступа из наружи. Поэтому будем “ломать”. 🙂
Для прошивки необходим rs232 интерфейс с 3.3v. Я использовал FTDI.

Для подключения нам нужны 5 контактов.

| TYWE2S | FTDI |
| VCC | VCC |
| GND | GND |
| RX | TX |
| TX | RX |
| IO0 | GND |
Подключение тривиально. Но не забываем выставить 3.3v на FTDI модуле. Для загрузки модуля в режиме прошивки, необходимо при подаче питания замкнуть IO0 на землю.
В модуле используются следующие GPIO:
| GPIO | Режим | Описание |
| 3 | out | LED (1 – off, 0 – on) |
| 4 | in | switch S1 (1 – released, 0 – pressed) |
| 5 | in | switch S2 (1 – released, 0 – pressed) |
| 12 | out | relay L1 (0 – open, 1 – close) |
| 13 | in | pairing button (1 – released, 0 – pressed) |
| 14 | out | relay L2 (0 – open, 1 – close) |
Подпаиваться весьма удобно. Во время разработки/тестирования я собрал следующий макет (во время подачи питания 220v, не забывайте отключать FTDI от комьютера! На фото он отключен.)

В Arduino Studio необходимо выставить следующие параметры:
Generic ESP8285 Module, CPU 80MHz, Crystal 26MHz, Flash Size 1MB

Шить будем два варианта:











