Розумний дім #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. Ознайомтеся з прикладами реалізованих проєктів у нашому портфоліо.





