Умный дом #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 разметка не поддерживается! Используйте обычный текст.
    Плохо           Хорошо
Сколько стоит разработка печатной платы: факторы, примеры и реальные сроки

Сколько стоит разработка печатной платы: факторы, примеры и реальные сроки

Один из самых частых вопросов от заказчиков: сколько стоит разработка печатной платы и от чего завис..

Насос погружной 3 ... 6В 120л/ч

Насос погружной 3 ... 6В 120л/ч

Насос жидкостный погружного типа.Используется для полива домашних растений, для миниатюрных фонтанов..

69.82грн.

Модуль P-channel MOSFET 50A с опторазвязкой (IRF4905, 30В, 3–5В управление)

Модуль P-channel MOSFET 50A с опторазвязкой (IRF4905, 30В, 3–5В управление)

Модуль P-channel MOSFET на базе транзистора IRF4905 предназначен для коммутирования мощных нагрузок ..

177.66грн.

ESP32 WiFi модуль на DIN-рейку без корпуса

ESP32 WiFi модуль на DIN-рейку без корпуса

Плата продаётся без корпусаГлавный модуль для построения домашней или промышленной системы автоматич..

772.57грн.

Набор перемычек (мама-мама) 40шт 10см

Набор перемычек (мама-мама) 40шт 10см

Набор соединительных проводов для соединения плат контроллера с периферией без пайки. Подходят под с..

76.14грн.