Розумний дім #2: Wi-Fi керування лампочкою через реле

Один із найпростіших і наочних проєктів розумного дому — це керування лампочкою або іншим електроприладом через Wi-Fi. У цій статті ми розглянемо, як підключити реле до контролера ESP32 та створити простий веб-сервер для вмикання і вимикання лампи з телефону чи комп’ютера. Такий проєкт є чудовою відправною точкою для вивчення основ домашньої автоматизації та розробки власних систем на базі ESP32.

Список обладнання та компонентів

  • Модуль ESP32 DevKit (з підтримкою Wi-Fi).
  • Модуль реле 5 В (з оптронами або без, розрахований на керування навантаженням 220 В).
  • Лампочка розжарювання або світлодіодна лампа 220 В.
  • З’єднувальні дроти (Dupont male-female).
  • Блок живлення для ESP32 (5 В, 1 А, microUSB або зовнішній).
  • Макетна плата (за бажанням, для зручності з’єднань).

Схема підключення та принцип роботи

Підключення реле до ESP32 дуже просте. Для керування використовується цифровий вихід мікроконтролера. При подачі логічного нуля або одиниці (залежно від типу модуля) реле замикає чи розмикає ланцюг живлення лампочки.

Основні з’єднання:

  • IN модуля реле → GPIO 23 (можна вибрати інший цифровий пін).
  • VCC модуля реле → 5 В ESP32.
  • GND модуля реле → GND ESP32.
  • Лампочка підключається до розриву фази мережі 220 В через контакти реле (COM і NO).

Увага! Робота з мережевою напругою 220 В вимагає обережності. Під час складання проєкту дотримуйтеся правил безпеки, використовуйте ізольовані дроти та корпус для розміщення компонентів.

Приклад коду для ESP32

Нижче наведено базовий скетч на Arduino IDE, який створює веб-сервер. Через веб-інтерфейс можна вмикати та вимикати лампу.


// Підключаємо бібліотеки Wi-Fi
#include <WiFi.h>

// Вказуємо параметри Wi-Fi мережі
const char* ssid = "YOUR_SSID";
const char* password = "YOUR_PASSWORD";

// Порт для веб-сервера
WiFiServer server(80);

// Пін керування реле
const int relayPin = 23;

void setup() {
  Serial.begin(115200);
  
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, HIGH); // Реле спочатку вимкнене

  // Підключення до Wi-Fi
  WiFi.begin(ssid, password);
  Serial.print("Підключення до Wi-Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("\nWi-Fi підключено!");
  Serial.print("IP-адреса: ");
  Serial.println(WiFi.localIP());

  // Запускаємо сервер
  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  Serial.println("Новий клієнт");
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();

  // Керування реле через URL
  if (request.indexOf("/relay/on") != -1) {
    digitalWrite(relayPin, LOW); // Увімкнути реле
  }
  if (request.indexOf("/relay/off") != -1) {
    digitalWrite(relayPin, HIGH); // Вимкнути реле
  }

  // Формуємо простий HTML-інтерфейс
  client.println("HTTP/1.1 200 OK");
  client.println("Content-type:text/html");
  client.println();

  client.println("<!DOCTYPE html><html>");
  client.println("<head><meta charset='utf-8'><title>Керування лампою</title></head>");
  client.println("<body style='font-family:Verdana; text-align:center;'>");
  client.println("<h1>Керування лампочкою через ESP32</h1>");
  client.println("<p><a href='/relay/on'><button style='padding:15px; font-size:18px;'>Увімкнути</button></a></p>");
  client.println("<p><a href='/relay/off'><button style='padding:15px; font-size:18px;'>Вимкнути</button></a></p>");
  client.println("</body></html>");

  client.println();
  delay(1);
  Serial.println("Клієнт відключений");
}

Застосування та розширення проєкту

Цей проєкт — лише перший крок. На його основі можна створювати більш складні системи:

  • Додати кілька реле та керувати різними приладами (наприклад, освітленням у різних кімнатах).
  • Інтегрувати керування через протокол MQTT та зв’язати з Home Assistant.
  • Використовувати таймери чи сценарії автоматизації (наприклад, вмикання світла за розкладом).
  • Додати датчик руху, щоб світло вмикалося лише за необхідності.
  • Керувати пристроями не тільки через веб-інтерфейс, а й за допомогою голосових команд через Google Assistant чи Alexa.

Висновок

Ми розглянули базовий проєкт розумного дому — Wi-Fi керування лампочкою через реле за допомогою ESP32. Такий приклад допомагає зрозуміти основи взаємодії мікроконтролера з виконавчими пристроями та веб-технологіями. На практиці цей підхід дозволяє швидко створювати прототипи та поступово розширювати систему, перетворюючи її на повноцінний розумний дім.

Якщо вам потрібен індивідуальний проєкт — розробка електроніки, схеми, друкованої плати та програмного забезпечення, ми можемо допомогти. Ми розробляємо та виготовляємо плати під завдання клієнтів, створюємо унікальні рішення на базі ESP32. Ознайомтеся з прикладами реалізованих проєктів у нашому портфоліо.

<< Проекти << Усі товари >> Статті, уроки >>

Написати відгук

Примітка: HTML размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Корпус пластиковий 100x60x25мм

Корпус пластиковий 100x60x25мм

Універсальний бокс з чорного пластику під саморобні електронні пристроїArduino UNO та Leonardo якраз..

74.20грн.

Гвинт М2,5х14мм нержавійка

Гвинт М2,5х14мм нержавійка

Гвинт з нержавійки з різьбою М2,5 для кріплення елементів любительських проектівДовжина різьби 14 мм..

1.11грн.

Датчик температури аналоговий 10К

Датчик температури аналоговий 10К

Датчик температури аналоговий NTC 10K Аналоговий датчик температури NTC 10K ±1% — високоточний терм..

44.68грн.

Світлодіод ультраяскравий 3мм

Світлодіод ультраяскравий 3мм

Над-яскравий світлодіод діаметром 3 ммКорпус прозорий в світлодіодів різного кольору світіння. Тобто..

0.99грн.