Розумний дім #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 размітка не підтримується! Використовуйте звичайтий текст.
    Погано           Добре
Контроль виконання програми Arduino

Контроль виконання програми Arduino

Контроль виконання програми ArduinoЦя стаття присвячена опису структур, що використовуються для упра..

SMD світлодіод 0805

SMD світлодіод 0805

SMD світлодіоди видимого діапазону для поверхневого монтажу на плату Типорозмір 0805 Черво..

2.39грн.

Датчик звуку

Датчик звуку

Датчик звуку (дискретний, з регулюванням чутливості)Інтелектуальний дискретний датчик звуку для сист..

49.61грн.

Уроки Arduino константи для початківців

Уроки Arduino константи для початківців

Привіт, друзі! Я радий презентувати вам новий урок під назвою Arduino константи! Конста..

Універсальна плата під мікросхеми SOP20, SSOP20

Універсальна плата під мікросхеми SOP20, SSOP20

Універсальна монтажна плата, дозволяє проводити монтаж різноманітних мікросхем з поверхневим монтаже..

17.36грн.