Умный дом #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. Ознакомьтесь с примерами реализованных проектов в нашем портфолио.





