Речь пойдет о выключателе с Aliexpress: c Wi-Fi, на 3 сенсорных кнопки и с поддержкой tuya серверов, а так же с подключением с/без нуля.
Вот такой выключатель я восстановил после того как кое кто мне его спалил.
Данный блог не является призывом к действию, все что вы делаете, вы делаете на свой страх и риск, необходимо умение работать с паяльником, USB-UART адаптером, а так же средой разработки Arduino IDE.
По мне так пользы в данных действиях нет, т.к. на выходе получаем устройство с теми же функциями, только уже НЕ совместимым с Китайскими серверами Tuya (актуально для параноиков , которые боятся Китайских серверов :) ) . У меня же выключатель сгорел, после того как кое кто (НЕ разу не электрик) на кухне папутал вход и выход блока питания для света-диодных лент. Я же предпологал, что сгорит всего лишь симмистор, но окозалось все сложнее, сгорело так же самое главное: Wi-Fi модуль ESP8266 с прошивкой, а так же не известный микроконтроллер в корпусе SO-16 так же с прошивкой (позже выяснил, что в этой модели выключателя он использовался лишь для обработки косаний к сенсорным кнопкам). Заменил сгоревший неизвесный микроконтроллер 3-мя модулями сенсорных кнопок с Али. В виду того что выключатель не такой дорогой , закзал другой еще более дешевле и удобней (Aubess - США стандарт, расстояние между кнопками больше и сами кнопки тоже). А восстанавливал выключатель чисто по "фану". Ардуинщики они такие. :) Не всегда выходит метиостанция. :)
И так, прежде необходимо изучить схему подклчений модуля ESP8266, на Али есть куча версий от разных производителей с одинаковым функционалом, но разной схемой подключений, а так же esp8266 может быть распаян не в виде модуля, а сразу микроконтроллер на главной плате устройства.
Прошивать мы будем сектчь Ардуино через USB - UART адаптер, по этому первым делом необходимо определить не мешает ли, что нибудь прошивке. Проверяем куда идут дарожки от Tx0 и Rx0, а так же gpio 0. В моем экземпляре (см схему):
- Tx0 управляет статусными света-диодами 3 кнопки (практика показала, что не мешают света-диоды прошивке по UART).
- Rx0 - вход для кнопки 2, соединение через резистор R40 c пином номер 15 (назначен как выход) не известного микроконтроллера. Здесь будет точно мешать это соединение, т.к. если кнопка 2 не нажата, на пине номер 15 будет низкий уровень, который просаживает сигнал Rx0 на GND, необходимо разъеденить с помощью резистора перемычки R40 (сдвиньте его временно паяльником в сторону одного из контактов).
- gpio 0 подключен света-диод "WiFi LED" относительно +3,3 В, не мешает, если установить перемычку между gpio 0 и gnd (необходимо для перевода ESP8266 в режим прошивки), то будет постоянно светить.
Подпаеваем напрямую к ESP8266 UART:
ESP8266 | UART-USB
RX0 | Tx
TX0 | Rx
GND | GND
VCC JP1 | +5V
**Внимание питание нужно подключать не напрямую к ESP8266,а на межплатный разъем JP1 пин VCC!!!**
так же паяем проводом перемычку между gpio 0 и GND.
Настраиваем Ардуино IDE. все как на фото:
![поддержка для esp8266](поддержка для esp8266);
![настройка Arduino для ESP12F](настройка Arduino для ESP12F);
Скачиваем и устанавливаем библиатеку pubsubclient для MQTT именно эту, если у вас уже имеется другая, удалите ее из папки библиатек.
Прошиваем скетчь в модуль ESP8266, если с первого раза не получилось пробуем еще раз.
Если все отлично прошилось, убераем перемычку между gpio 0 и gnd, подключаем питание, можно через usb-uart. Свето-диод "WiFi Led" должен мигать. И устройство будет вещать точку доступа с именем "Wi-Fi_relay2XXXXXX" - где XXXXXX, уникальный ID устройства основанный из mac адреса (6 символов). Все MQTT топики будут начинаться с этого ID!!!
Подключаемся к точке доступа "Wi-Fi_relay2XXXXXX" используя пароль из счетча "const char *pass_ap = ""; "
После на Андроид появится уведомление, тапнув по которому можно перейти на WEB страницу и заполнить WEB форму. Если уведомление не появилось, перейдите в браузере по адресу http://192.168.4.1 !!!
Заполняем ее, тут все просто, не понятна только нижняя строка "URL OTA PHP SCRIPT check_update_fw.php". Эта для одного из способов обновления прошивки по Wi-Fi (OTA). Об этом ниже.
**Данное устройство обладает 2-мя способами обновления прошивки по воздуху (Wi-FI, OTA):**
1 - ый способ, самый простой. Можно загргузить скомпелированную прошивку (*.bin) в Ардуино IDE перейдя по адресу в браузере http://ip_adres_dev/update где "ip_adres_dev" - IP адрес вашего устройства который назначен вашим Wi-Fi роутером (его можно узнать там же).
Для получения прошивки в Ардуино IDE воспользуйтесь опцией "Скетчь -> Экспорт бинарного файла", прошивка (*.bin) появится в папке со скетчем.
2-ой способ, для продвинутых, рекомендован для разработчиков модулей дополнений MJDM, позволяет в обновлениях модулей так же обновлять и прошивку для ESP8266.
Скачайте и разархивируйте OTA for web server PHP папку "ota", в корень WEB сервера умного дома MJDM. Впапке есть пару PHP скриптов:
Ну и в завершении "как пользоваться".
Для сброса всех настроек WEB формы удерживайте более 5 секунд кнопки 2 + 3, пока не перезагрузится устройство.
Для Soft Reset можно удерживать кнопки 1+2 более 5 секунд. Необходимо для 2-ого способа OTA т.к. устройство проверяет на сервере обновление прошивки только в момент загрузки.
Список топиков:
Минск, Беларусь
На форуме: krepton85