Заводим релейный модуль ESP8266 от LC TECHNOLOGY для ESP-01S

27 марта 2019, 10:45

Заводим релейный модуль ESP8266 от LC TECHN с микроконтроллером STC15F104W для ESP-01S

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

Мои разочарования начались сразу после первого включения! Моргала лампочка и ничего более...

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

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

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

В непонимании всего происходящего, я начал изучать характеристики данного модуля и обнаружил, что модуль питается от 5В, но так как на нем стоит регулятор напряжения AMS1117, то фактически он поддерживает напряжение до 12В. Изучив плату, было обнаружено, что модуль GPIO-0 никуда не подключается!

Ну и наконец наткнувшийся на схему платы этого модуля, было выяснено, что реле управляется микроконтроллером STC15F104W с помощью TX/RX, а не GPIO-0, как ранее предполагалось. Собственно это и есть наша основная проблема.

Но кроме основной проблемы у меня еще и не щелкало реле. Изучив схему выше, оказалось, что проблема в том, что резистор R3 слишком большой. Ну что поделать... Мы же хотим заставить эту штуку работать, так что берем паяльник в руки, отпаиваем резистор на 10K и вместо него припаиваем на 4.7K. После этих манипуляции реле должна щелкать как в видео!

На всякий случай оставляю таблицу кодов и значений smd резисторов

Код Знач. Код Знач.
332 3.3kΩ 682 6.8kΩ
362 3.6kΩ 752 7.5kΩ
392 3.9kΩ 822 8.2kΩ
432 4.3kΩ 912 9.1kΩ
472 4.7kΩ 103 10kΩ
512 5.1kΩ 113 11kΩ
562 5.6kΩ 123 12kΩ
622 6.2kΩ 133 13kΩ

Собственно, почему так происходит и почему у всех по разному может быть? Я ответ и на эти вопросы нашел!

На сайте производителя www.chinalctech.com есть предупреждения, где говорится, что у этого релейного модуля есть некоторые подделки. Также говорится, что, если постоянно моргает светодиод на плате (D2), то это означает, что этот модуль не их производства. 


Вроде уже более-менее все ясно, НО все-таки, как же заставить его работать?

Не буду томить, вся проблема в том, что микроконтроллер STC15F104W не запрограммирован!

Итак, читаем ПРЕДУПРЕЖДЕНИЕ! И поехали...

Всегда есть вероятность сделать какую-то ошибку и тем самым вывести из строя сам микроконтроллер, поэтому программирование/изменение кода будет делаться под вашу ответственность, на свой страх и риск!

Прошиваем микроконтроллер STC15F104W

  1. Качаем программу STC ISP для программирования микроконтроллера STC15F104W. Я брал последнюю 6.86
  2. Скачиваем прошивку микроконтроллера.
  3. Ставим драйвера вашего TTL контролера, если еще не установлены.
  4. Подключаем TTL контролер к ПК
  5. Запускаем скачанную программу STC-ISP
  6. Указываем в MCU Type микроконтроллер STC15F104W
  7. Выбираем порт вашего TTL контролера в COM Port 
  8. Нажимаем на кнопку Open Code File и выбираем файл ранее скачанной прошивки под названием ESP8266_Relay_9600_11mhz.hex.
  9. Снизу в разделе H/W Option устанавливаем тактовую частоту (Input IRC frequency11,0592 MHz
  10. Ну и в конце нажимаем на кнопку Download/Program

   11. Теперь ОБЯЗЯТЕЛЬНО!
Отключаем Wi-Fi модуль ESP-01S от релейного модуля! Она не должна быть подключена во время прошивки!
Только после этого Подключаем TTL контролер к пинам GND, TX, RX, 5V на плате релейного модуля и ждем, пока передача данных не будет завершена.

Теперь протестируем прошивку и работоспособность релейного модуля.

  1. Для этого переходим на вкладку COM Helper, выбираем порт нашего TTL контролера и жмем на Open COM.
  2. Вводим в TX Buffer по очереди команды A0 01 01 A2 и A0 01 00 A1 в режиме HEX-Mode и жмем на кнопку Send Data.

Если все было сделано правильно, то загорится светодиод, а вместе с ним еще и защелкнет реле. Но если этого не произошло, то придется опять колдовать паяльником с резисторами R3 и R4. Ну а если все работает, как надо, то переходим к прошивке уже самого Wi-Fi модуля ESP-01S для работы с нашим модулем.


Прошиваем Wi-Fi модуль ESP-01S специальной прошивкой

Думал отдельную статью сделаю..., но ладно так уж и быть... распишу все тут.

Казалось бы столько манипуляции сделано, но неужели этот релейный модуль еще не готов к работе.

Ответ я думаю уже понятен - НЕТРелейный модуль управляется последовательной связью через микроконтроллер, то есть ESP передает команды Включить/Выключить через контакты RX/TX микроконтроллеру, а дальше уже микроконтроллер выполняет реальную работу. Чтобы оправить те самые команды для управления, нужен специальный плагин «Serial MCU controlled switch».

Как подключать TTL контролер к Wi-Fi модулю ESP-01S я рассказывать не буду, ибо много статей про это, а вот как прошить его, сейчас подробно разложу!

Скачаем архив с программатором ESPEasyFlasher последней версии и разархивируем его куда-нибудь в удобное место, после чего скачаем специальную версию прошивки и поместим в папку BIN.

Этой прошивкой можно управлять следующими устройствами:

  • Tuya Wifi Touch wall switch
  • Tuya Wifi Dimmer Switch
  • Sonoff Dual (Поддерживается только V1) 
  • Релейные модули от LC TECH (Поддерживаются вплоть до 4 релейных модулей.) 
Именно поэтому я и хотел вывести это в отдельную статью!

Чтобы путаницы не было, распишу все поочередно:
  1. Подключаем Wi-Fi модуль ESP-01S к вашему ПК.
  2. Запускаем ESP.Easy.Flasher.exe и выбираем COM port
  3. В пункте Firmware выбираем blank_1MB.bin и жмем на кнопку Flash ESP Easy FW, тем самым прошиваемся на нулевую прошивку.
  4. После успешной прошивки, переподключаем ESP-01S модуль к ПК.
  5. Теперь в пункте Firmware выбираем прошивку ESPEasy_Mega_P165_1M_128kS_lwip20_PUYA.bin и опять жмем на кнопку Flash ESP Easy FW.
  6. Ждем, когда прошивка закончится, и переходим к следующему пункту.

Осталось самое малое...

Отключаем ESP-01S модуль от ПК, подключаем к релейному модулю и подаем питание.

Находим точку доступа ESP_Easy_0 и подключаемся.

Открываем адрес в браузере 192.168.4.1выбираем вашу домашнюю сеть Wi-Fiвводим пароль и жмем Connect.

После обратного отсчета должен высветиться IP адрес нашего ESPЖмем на кнопку Proceed to main config и переподключаемся к домашней точке доступа. Так же IP адрес нашего ESP можно узнать такими способом найти IP адрес.

Переходим по IP адресу нашего ESP (Способы определения IP адреса) и настраиваем как указано ниже. Откроем раздел Devices, жмем на кнопку Edit, выбираем из списка пункт Serial MCU controlled swich.

В открывшихся пунктах вводим следующее.

  • В поле Name вводим ESP01Relay
  • Ставим галочку Enabled
  • В поле Switch Type выбираем производителя нашего релейного модуля, то есть LC TECH

Жмем на кнопку Submit, после чего опять же появятся новые подпункты.

  • Number of relays: здесь вводим количество реле на плате, в данном случае у нас 1.
  • Serial speed: старые версии модуля работают со скоростью 9600, а новые на 115200

Теперь покажу как это все будет работать.

Все элементарно просто - заходи в браузер и набираем HTTP команды:

Включаем реле №1: http://ESP_IP/control?cmd=relay,0,1
Выключаем реле №1: http://ESP_IP/control?cmd=relay,0,0
Включаем реле №2: http://ESP_IP/control?cmd=relay,1,1
Выключаем реле №2: http://ESP_IP/control?cmd=relay,1,0
Включаем реле №3: http://ESP_IP/control?cmd=relay,2,1
Выключаем реле №3: http://ESP_IP/control?cmd=relay,2,0
Включаем реле №4: http://ESP_IP/control?cmd=relay,3,1
Выключаем реле №4: http://ESP_IP/control?cmd=relay,3,0

И напоследок.....

Всем этим можно управлять как через OpenHAB MQTT, долгое время пытался решить этот вопрос, но пока безрезультатно. Как удастся решить этот вопрос, сразу обновлю статью... Ну, а если у кого-то получится сделать это раньше, обязательно отпишитесь в комментариях.

А на этом все, всем спасибо, ставьте лайки, пишите комментарии.


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

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

  1. Владимир Карпенко (Reliable_bob)

    Спасибо за статью.

    Сам попал в такую же ситуацию, только реле на моей плате 2 и контроллер другой...

    До сих пор не решил что с этой поделкой делать...

    Интересно Ваше мнение, есть ли для моей проблемы подобные решения?

    1000x_image.jpg?1553684368Контроллер NUVOTON N76E003AT20
    • Карен  Закарян (Karen)
      Карен Закарян (Karen) отредактировано 2 месяца назад

      2-канальный релейный модуль от  LC Tech, на борту с микроконтроллером N76E003 / STM8S003, то-есть управление осуществляется через последовательный порт (MCU)

      Теперь о самой плате

      • IN+\IN  :  подключение питания 5 В
      • TX\RX : связь UART SWIM
      • NRST  :  Программный интерфейс MCU
      • S1  :  клавиша выбора режима, по умолчанию это режим 1
      • S2  :  ключ восстановления
      • Cветодиод D2 и D4 (красный): индикатор реле
      • Светодиод D7 (красный): индикатор режима 1
      • Светодиод D5 (синий): индикатор режима 2
      • Светодиод D6 (зеленый): индикатор рабочего состояния

      Ну и самое главное, команда управления реле:

      • Включаем первое реле: A0 01 01 A2
      • Выключаем первое реле: A0 01 00 A1
      • Включаем второе реле: A0 02 01 A3
      • Выключаем второе реле: A0 02 00 A2

      найдите в статье раздел "Теперь протестируем прошивку и работоспособность релейного модуля." и протестируйте эти команды, потом отпишитесь..

  2. . . (Bonefolder)
    . . (Bonefolder) 2 месяца назад

    Не совсем понятно, почему пытаетесь управлять из ОН по MQTT? 

    Чем вас не устраивает HTTP binding? Этот баиндинг прекрасно умеет посылать запросы приведённые Вами

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

    Я в прошлом году столкнулся, но терпения не хватило все сделать по правилам))), тупо резистор выпал гпо подпаял и норм! Но у меня есть ещё парочка не модернизированных)). Спасибо большое за статью.

  4. Геннадий Куракин (Onag)
    Геннадий Куракин (Onag) 2 месяца назад

    Посоветуйте пожалуйста TTL контроллер нормальный на али.  Лежит такой модуль уже больше года!

    И еще, может кто поможет информацией, есть сервопривод и надо чтобы он совершал поворот (с возвратом назад) на 45 градусов по wi-fi.

  5. (maikl)
    (maikl) 2 месяца назад

    Не совсем понимаю суть такого модуля. Зачем вообще там микроконтроллер?

    Esp и сам может управлять этими реле. Той же прошивкой espeasy.

    просто подключить свободные gpio на входы реле и всё.





  6. (michal02)
    (michal02) 2 месяца назад

    Как прошить этот (nuvoton n76e003at20 833hdfa)

  7. Алексей Таянов (tayanov)

    Если поставить тасмоту то MQTT работает. На   гитхабе Тасмоты обсуждались эти китайские подделки.

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

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

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