🛒
0 товаров
0 руб.

Интернет-магазин «Неглупый Дом»


🔌 Проект: умная розетка на ESP8266 с управлением через веб-страницу

ESP8266 D1 Mini и модуль реле

ESP8266 D1 Mini поднимает в домашней сети простую веб-страницу с кнопкой — переход по ссылке включает или выключает реле, к которому подключена лампа или другое устройство.

Как это работает

ESP8266 поднимает собственный веб-сервер прямо на плате — то есть плата сама выступает в роли мини-сайта внутри домашней Wi-Fi сети. Когда с телефона или компьютера открывают её IP-адрес (или переходят по ссылке вида `/toggle`), плата получает этот запрос, меняет состояние цифрового пина, к которому подключено реле, и отправляет обратно HTML-страницу с текущим статусом и кнопкой.

Модуль реле физически играет роль электронного выключателя: слаботочный сигнал с ESP8266 управляет электромагнитной катушкой внутри модуля, та притягивает механический контакт, и уже через этот контакт идёт настоящий ток нагрузки (лампы, вентилятора и т.п.) — слаботочная "управляющая" часть схемы и силовая "нагрузочная" часть физически разделены, это и обеспечивает безопасность.

Пошаговая сборка

Так как реализации данного модуля бывают разные, если у вас на плате нет тех контактов, которые указаны ниже — сориентируйтесь по названиям контактов на своей плате.

  1. Подключите модуль реле: сигнальный пин → D1 (маркировка на плате D1 Mini, физически GPIO5), VCC → 5V (или 3.3V, если это явно указано в характеристиках конкретного модуля реле — у 5-вольтовых модулей реле часто не срабатывает от 3.3V), GND → GND.
  2. Силовую нагрузку (лампу, вентилятор и т.п.) подключайте к контактам COM и NO ("нормально разомкнут") модуля реле строго по инструкции конкретного модуля — эта часть схемы работает с реальным сетевым напряжением и должна быть собрана аккуратно и изолированно.
  3. Перед прошивкой убедитесь, что в Arduino IDE через Менеджер плат установлена поддержка ESP8266 и в меню «Плата» выбрана именно ваша модель.

Скетч

// ВНИМАНИЕ: рекомендую отладить код через монитор порта, так как я языковая
// модель, а не специализированный кодер, и могу что-то упустить. Основу
// и идею я накидал, но проверьте под свою схему.

#include <ESP8266WiFi.h> // встроенный Wi-Fi ESP8266

const char* ssid = "your_wifi_name";       // имя своей Wi-Fi сети
const char* password = "your_wifi_password"; // пароль от неё
const int relayPin = 5; // D1 (GPIO5)
WiFiServer server(80);
bool relayState = false; // текущее состояние реле: включено/выключено

void setup() {
  Serial.begin(9600);
  pinMode(relayPin, OUTPUT);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("IP адрес платы: ");
  Serial.println(WiFi.localIP()); // этот адрес нужно открыть в браузере
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (!client) return;
  String request = client.readStringUntil('\r'); // читаем первую строку HTTP-запроса браузера
  client.flush();

  // если в запросе встретился путь /toggle — переключаем состояние реле
  if (request.indexOf("/toggle") != -1) {
    relayState = !relayState;
    digitalWrite(relayPin, relayState ? HIGH : LOW);
  }

  // отправляем браузеру простую HTML-страницу с текущим статусом и кнопкой
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html; charset=utf-8");
  client.println();
  client.print("<html><body><h1>Розетка: ");
  client.print(relayState ? "ВКЛ" : "ВЫКЛ");
  client.print("</h1><a href=\"/toggle\"><button>Переключить</button></a></body></html>");
}

Переход по адресу `http://IP-платы/toggle` в браузере или просто нажатие кнопки на открытой странице переключает состояние реле — IP-адрес виден в Serial-мониторе после подключения к Wi-Fi.

Частые проблемы

Как улучшить проект

Товары по теме

Ещё модули для Arduino: Электронные модули.

← 🕰️ механические часы со стрелкой на шаговом д…🔔 умный звонок на ESP8266 с журналом нажатий… →

🎁 Купить весь комплект со скидкой 10%

Все 2 товара сразу в корзину: 324 ₽ 292 ₽ (экономия 32 ₽)

Скидка применяется автоматически при оформлении заказа, если в корзине именно этот комплект.

Остались вопросы? Проконсультируйтесь с ИИ-инженером — он уже в курсе темы статьи и сразу ответит, ничего вводить не нужно.

Корзина


Поиск



Пример: понижающий или DC-DC или mini360 или aw-023 или арт. OZ/WB/YA