Обзор модуля реле для ESP8266-01S
Сегодня расскажу о простом Wi-Fi реле основаны на ESP-01S (ESP8266). С помощью данного реле, можно удаленно отключать свет, электроприборы и многое другое.
Технические параметры
► Модель ESP8266: ESP-01S
► Напряжение питания: DC 5 В
► Рабочий ток: 250 мА
► Вывод управления реле: GPIO0
► Нагрузка переменного тока: 10 А, 250 В
► Нагрузка постоянного тока: 10 А, 30 В
► Габариты пульта: 37 мм х 25 мм
Общие сведения о модуле реле для ESP8266-01S (ESP-01S)
С помощью данного модуля можно управлять любым устройством по сети Wi-Fi,
в качестве передающего устройства используется контроллер ESP8266-01S (ESP-01S). Модуль собран на зеленом стеклотекстолите габаритами 37 см на 25 см, большую часть платы занимает реле SRD-5DVC-SL-C, такое же используется в обычных модулях реле на один и два канала. Рядом с реле небольшая электрическая обвязка, необходимая для нормального переключения этого реле. Так как управление реле осуществляя напряжение 5В, а для ESP01 необходимо напряжение 3.3 В на плате предусмотрен стабилизатор напряжения AMS1117 рядом установлены керамические конденсаторы. На плате предусмотрена кнопка RESET с помощью которой можно перегрузить модуль, рядом установлен светодиод показывающий включение реле.
Внимание! Данное Wi-Fi реле версией V1.0 разработано исключительно для ESP-01S.
С ESP-01 без «S» не работает (в интернете можно найти много доработок по этому поводу), на данный момент существует версия Wi-Fi реле V4.0 которая поддерживает обе версии ESP-01 и ESP-01S.
Назначение разъемов Wi-Fi реле:
► 3-х пиновый разъем подключения управляющей нагрузки.
► 2-х пиновый разъем питания GND и 5В
► 10-ти пиновый разъем ESP-01S
Настройка Wi-Fi реле
Необходимые детали:
► Беспроводной Wi-Fi модуль ESP8266-01S (ESP-01S) x 1 шт.
► Модуль реле для ESP8266-01S x 1 шт.
► Адаптер для ESP-01 (USB, CH340G, ESP8266) x 1 шт.
► Блок питания на 5В
Прошивка ESP-01S:
Первым делом, необходимо прошить модуль ESP-01S (ES8266), для этого берем USB адаптер на CH340G (с небольшой доработкой, которая включаем в себя перемычку между GND и GPIO0). Устанавливаем модуль ESP-01S в USB адаптер CH340G и подключаем его в USB разъем компьютера (в системе должен появится новый последовательный порт (COMx).
Программа написана в среде IDE Arduino, для работы с чипами ESP8266, необходимо установить ESP плату, как это сделать можно посмотреть в этой статье. Теперь осталось загрузить скетч в программу IDE и загрузить в модуль ESP-01S.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
#include <ESP8266WiFi.h> // Подключаем библиотеку ESP8266WiFi const char* ssid = "Название Вашей Сети"; // Название Вашей WiFi сети const char* password = "Пароль от вашей сети";// Пароль от Вашей WiFi сети #define RELAY 0 // Пин к которому подключен датчик WiFiServer server(80); // Указываем порт Web-сервера void setup(){ delay(2200); Serial.begin(115200); // Скорость передачи 115200 pinMode(RELAY,OUTPUT); // Указываем вывод RELAY как выход digitalWrite(RELAY, LOW); // Устанавливаем RELAY в LOW (0В) Serial.println(); // Печать пустой строки Serial.print("Connecting to "); // Печать "Подключение к:" Serial.println(ssid); // Печать "Название Вашей WiFi сети" WiFi.begin(ssid, password); // Подключение к WiFi Сети while (WiFi.status() != WL_CONNECTED) // Проверка подключения к WiFi сети { delay(500); // Пауза 500 мкс Serial.print("."); // Печать "." } Serial.println(""); // Печать пустой строки Serial.println("WiFi connected"); // Печать "WiFi connected" server.begin(); // Запуск сервера Serial.println("Server started"); // Печать "Server starte" Serial.print("Use this URL to connect: "); // Печать "Use this URL to connect:" Serial.print(WiFi.localIP()); // Печать выданого IP адресса } void loop(){ WiFiClient client = server.available(); // Получаем данные, посылаемые клиентом if (!client) { return; } Serial.println("new client"); // Отправка "new client" while(!client.available()) // Пока есть соединение с клиентом { delay(1); // пауза 1 мс } String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); int value = LOW; if (request.indexOf("/RELAY=ON") != -1) { Serial.println("RELAY=ON"); digitalWrite(RELAY,LOW); value = LOW; } if (request.indexOf("/RELAY=OFF") != -1) { Serial.println("RELAY=OFF"); digitalWrite(RELAY,HIGH); value = HIGH; } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.println("<head><title>ESP8266 RELAY Control</title></head>"); client.print("Relay is now: "); if(value == HIGH) { client.print("OFF"); } else { client.print("ON"); } client.println("<br><br>"); client.println("Turn <a href=\"/RELAY=OFF\">OFF</a> RELAY<br>"); client.println("Turn <a href=\"/RELAY=ON\">ON</a> RELAY<br>"); client.println("</html>"); delay(1); Serial.println("Client disonnected"); Serial.println(""); } |
Определение IP (ESP-01S):
Далее, необходимо узнать IP модуля, для этого открываем окно «Мониторинг порта» с выставленной скоростью «115200», в моем случаи сеть выдала «192.168.22.100».
Теперь устанавливаем прошитый модуль ESP-01S в модуль WiF-Fi реле, подключаем питание и открываем любой браузер, вводим IP-адрес (192.168.22.100) и нажимаем Enter.
Вот и все, будут вопросы пишите.
Купить на Aliexpress
Беспроводной Wi-Fi модуль ESP8266-01S (ESP-01S)
Модуль реле для ESP8266-01S V1.0
Модуль реле для ESP8266-01S V4.0
Адаптер USB для ESP-01 (Wi-Fi, CH340G)
Адаптер USB для ESP-01 (Wi-Fi, CH340G) — с переключателем
Купить в Самаре и области
Беспроводной Wi-Fi модуль ESP8266-01 (ESP-01)
Модуль реле для ESP8266-01S V1.0
Адаптер USB для ESP-01 (Wi-Fi, CH340G)
Здравствуйте у меня проблема я зделал как показано здесь но почему-то программа IDE Arduino не загружает скечть на esp8622-01S показывает следующий ошибку:
Скетч использует 275068 байт (55%) памяти устройства. Всего доступно 499696 байт.
Глобальные переменные используют 27228 байт (33%) динамической памяти, оставляя 54692 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v2.6
2.6
esptool.py v2.6
Serial port COM5
Connecting…….._____….._____….._____….._____….._____….._____…..____Traceback (most recent call last):
File «C:\Users\$$$ UTKIR $$$\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2/tools/upload.py», line 25, in
esptool.main(fakeargs)
File «C:/Users/$$$ UTKIR $$$/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py», line 2653, in main
esp.connect(args.before)
File «C:/Users/$$$ UTKIR $$$/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.5.2/tools/esptool\esptool.py», line 468, in connect
raise FatalError(‘Failed to connect to %s: %s’ % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
_
выбранный последовательный порт _
не существует или плата не подключена к нему
Добрый день, через что пытаетесь прошить? Может не выбрали COM порт
нет все я загрузил вашу скетч проста я не вставил перемичку между gpio0 и gnd в юсб програматора ch340g. и еще хотел спросить у вас кое что а есть еще другой способ управление с реле ну например приложения для смартфона ?
Добрый день, на данный момент нету.
как можно сделать esp что бы контактировался только телефон и esp а не через маршуратизатора связивался
Помогут GET запросы и приложение на андроид HTTP ярлыки
Погугли прошивки типа Тасмота или WIFI IoT
Вы использовали программатор?
Здравствуйте. Не работает при подключении к реле. Один раз моргает при подачи питания и не подключается к wifi. Напряжение на плате есть 3.3 В. Срабатывает реле если замкнуть GPIO0 и GPIO2. Хотя если подать питание через адаптер, то все работает. Подключается к wifi и работают команды.
а разве не нужно указывать int RelayPin ?????
Добрый день, Юрин.
Если RelayPin меняется в программе то да, можно указать int, если нет для экономии памяти можно указать #define
Там с (адаптером программатор) на плату esp8266 идёт 5вольт (rst) пин.
У меня тоже так
День добрый!
Все работает согласно описанию, НО, возникает следующая ситуация: esp коннектится с роутером, и у меня, как у добропорядочного гражданина имеется возможность управлять скажем «умной розеткой» хоть из-за ….
Так вот, дело в том, что esp создает незащищенное соединение, к которому любой может подключиться и простым перебором хвостика IP-адреса в браузере перекормить моего кота…
Вы можете организовать доступ к своей внутренней сети через впн. Ваш esp не виден за пределами роутера, обычно так бывает, если вы конечно не выделили для него отдельный адрес или ек прокинули порт. Чтобы было удобно с этим работать, обычно ставят основное устройство, которое защищено паролем или чем пожелает, а вот оно уже управляет всеми уже esp в вашей сети.
Не может подключиться перебором, вы чего.
Если у вас роутер, то у вас по умолчанию NAT. Для того, чтобы у кого-то была возможность управления извне нужны как минимум —
Белый IP
Проброшенный порт на ESP
Если опасаетесь — можете дополнительно ограничить брандмаэуром.
Здравствуйте!можно ли прошить прошивкой от sonooff ?я прошил но решение запускается хотя на sonoof стоит чип esp8266
Здравствуйте Сергей!
Модуль ESP-01s
Реле v4.0 (TB: OITMCU)
Все работает, но с одним неприятным нюансом: при подаче питания на модуль 5 вольт, модуль ESP-01s кратковременно дергает реле (щелкает и загорается диодик на плате реле). Если модуль реле запитывать без ESP-01s, то ничего не щелкает.
Как бы этот момент лишает возможности применения реле для управления розеткой из-за щелчков.
режется дорожка на плате реле, к ней припаивается gpio4, 5 или 14 (если не ошибаюсь). эти gpio — получаются путём припаивания 0.28 провода к ножкам esp. ну и бонусом, получаются дополнительные gpio, если припаяться к нескольким ножкам сразу. ну и в прошивке поменять номер…
Сайт работает 5-10 мин, потом сайт становится не доступным, ping по ip проходит, подскажите что с этим делать?
добрый день.
Как запитать 2 таких модуля от одного БП? Почему-то лабораторник показывает периодическое КЗ если из просто параллельно подключить. Может нужен какой-то фильтр или диодную развязку?
Плата 4.0 ESP-01s
Не нужно никаких развязок. Если по отдельности все нормально, а при подключении второго модуля ЛБП уходит в защиту, значит не хватает тока, добавить ток.
Здравствуйте, спасибо за код. Подскажите как реализовать удаленное включение/отключение ПК на этих железках не важно каким образом можно через телеграм. Интересует именно код, пробовал по всякому у меня не получилось написать код, мало знаний.
Сайт работает 5-10 мин, потом сайт становится не доступным, ping по ip проходит, подскажите что с этим делать?
Ничего не понятно. 10пиновый разъем это для 01S? А для 01 получается 8пиновый? Реле собрал на макетке. По вашей схеме не работает — неправильно указаны номера контактов.
даже на фото видно что GND оказывается на 2, а не 8. И транзистор кверх тормашками.
И транзистортам не простой а мосфет с каналом N
Home Assistant в этом приложении работает этот скеч
Доброго дня!
А не подскажете как изменить скеч, чтобы управлять двумя реле, хочу задействовать GPIO-0 и GPIO-2.
Заранее благодарю!
Все, вопрос решил, разобрался..
Здравствуйте. Помогите пожалуйста… У меня есть esp 8266, реле и mqtt веб сервер.
Я хочу установить esp так чтобы он показывал данные о лампочке( включена или выключена )
Чтоб она отображала данные в топике mqtt веб сервера.
Чтоб она отображала состояние, если выключена 0, если включена 1… На постоянной основе отправляла данные в mqtt веб сервер.
Я никак не могу понять как запрограммировать на сканирование состояния и отправлять на веб сервер.
В ардуино IDE
Мне нужен скетч, для работы моей системы.
Если кто-нибудь имеет информацию, помогите
Доброго дня. Зашейте прошивку Tasmota (есть и на русском языке) Там много чего полезного, в том числе и MQTT
Добрый день.
В скетче можно задавать свой IP для разных ESP?
Здравствуйте.
В этом скетче не показано, но можно установить свой статический IP/
А как именно это сделать?
Я не могу найти АйПи адрес моей ESP-шки….
Статику прописывать нужно на роутере, в настройках сети/DHCP сервер. Это элементарно.
Как это сделать — гуглите с названием Вашего роутера, инструкций в инете полно.
в каком формате писать название сети и пароль
Здравствуйте, например
const char* ssid = «WIFI_sety»;
const char* password = «123456»;
Добрый вечер, подскажите может кто сталкивался с следующей проблемой.
Загрузил скетч который включает диод на секнду и подеат высокий сингнал на gpio0, затем выключает диод и подает никий сигнал.
В итоге напряжение на реле меняется с 2 до 4.5 вольт но она почему то не щелкает.
Я абсолютный новичек, так что куда копать совсем не знаю (
Помогите.
Теперь самое интересное — как при минимальном обвесе запитать все это внутри коробки выключателя от 220В…. Активное сопротивление не пойдет, сильно велико потребление, импульсные модули 220-5в не меленькие…
А теперь самое интересное — как запитать этот модуль от 220В, чтобы умещалось в коробке выключателя? Активное сопротивление врядли поможет — ток слишком большой и неравномерный 250-300мА, а преобразователи большие… У кого какой опыт?
HLK-PM01
Если можно выложите скетч для управления модулем через blynk
Arduino: 1.8.15 (Windows 7), Плата:»Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 80MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200″
Executable segment sizes:
ICACHE : 32768 — flash instruction cache
IROM : 247172 — code in flash (default or ICACHE_FLASH_ATTR)
IRAM : 27273 / 32768 — code in IRAM (IRAM_ATTR, ISRs…)
DATA : 1504 ) — initialized variables (global, static) in RAM/HEAP
RODATA : 1340 ) / 81920 — constants (global, static) in RAM/HEAP
BSS : 25776 ) — zeroed variables (global, static) in RAM/HEAP
Скетч использует 277289 байт (28%) памяти устройства. Всего доступно 958448 байт.
Глобальные переменные используют 28620 байт (34%) динамической памяти, оставляя 53300 байт для локальных переменных. Максимум: 81920 байт.
esptool.py v3.0
Serial port COM7
Connecting…….._____….._____….._____….._____….._____….._____….._____
Traceback (most recent call last):
File «C:\Users\�������\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2/tools/upload.py», line 66, in
esptool.main(cmdline)
File «C:/Users/�������/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py», line 3552, in main
esp.connect(args.before, args.connect_attempts)
File «C:/Users/�������/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/tools/esptool\esptool.py», line 529, in connect
raise FatalError(‘Failed to connect to %s: %s’ % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
Вот такая хрень в результате и ни че не работает, перемычка — стоит .
Подскажите , пожалуйста : в чем может быть дело ?
скетч, загрузился. отсоединил модуль от компа, убрал перемычку, запускаю прогу и на экране монитора порта — бесконечные точки. Подскажите — в чем проблема ?
Здравствуйте, модуль не подключается к вашей wi-fi сети.
разобрался, заработал модуль и реле, но появился вопрос : данным модулем Wi-Fi — можно управлять с любого гаджета ,но — только будучи подключенным к той же сети , то есть — просто через интернет (мобильный или при подключении к другой сети ) управлять им — не получится ?
Вам нужен статический ( белый ) IP и проброс портов на роутере.
День добрый. Подскажите пожалуйста. Выполнил все процедуры как Вы учили. Модуль заработал, появился в домашней сети, в роутере видно. Далее открываю браузер, ввожу IP-адрес , нажимаю Enter. А в ответ сообщение «Не удается получить доступ к сайту.Сайт 192.168.1.72 не позволяет установить соединение.» Что делаю не так?
Здравствуйте, в любом браузере, компьютер подключен к этой же сети, по wifi?
Я наверное не понимаю тонкостей. Но в других браузерах тоже, я вижу устройство в домашней сети как клиента wifi . Но, когда открываю браузер, ввожу IP-адрес , нажимаю Enter. А в ответ сообщение «Не удается получить доступ к сайту.Сайт 192.168.1.72 не позволяет установить соединение.» Что делаю не так?
Вот такая ошибка при компиляции, что это значит?
Arduino: 1.8.16 (Windows 7), Плата:»Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200″
Добрый день! Приобрел модуль реле ESP8266-01/01S V5.0 На самой плате где установлено реле, между собой соединены контакты TX и CH-RD. Правильно это или это подмыкание на плате? Беспроводной Wi-Fi модуль ESP8266-01S(ESP-01) программируется и работает. На мониторе порта видно. На плате с реле не работает. Может кто сталкивался с этим и если есть возможность прозвонить эти контакты на своем реле. Буду очень благодарен! Спасибо!
Добрый день. Подскажите по такому вопросу. ESP8266 прошилось скетчем. После этого в мониторе порта нет никаких откликов. GPIO от GND отключаю-для входа в рабочий режим. При этом сом порт на компе вооюще не появляется.
Здравствуйте, к компу чрез что подключаете?
Преобразователь USB-UART.
Здравствуйте ,а как сделать данный скеч под 4х канальный релейный модуль ??
Здравствуйте, при подачи питания появляется импульс и реле щелкает. Как это исправить?