Умный дом #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 константы! ..

Стерео усилитель мощности 15Втх2 на TDA7297

Стерео усилитель мощности 15Втх2 на TDA7297

Двухканальный усилитель звуковой частоты на основе микросхемы TDA7297Имеет защиту от перегрузки..

125.21грн.

Модуль 7 — Двигатели и исполнительные устройства: сервоприводы, MOSFET, L298N

Модуль 7 — Двигатели и исполнительные устройства: сервоприводы, MOSFET, L298N

Модуль 7 — Двигатели и исполнительные устройства (курс для начинающих) Цель модуля: освоить..

Термостат с термопарой -60...+500°C 10А

Термостат с термопарой -60...+500°C 10А

Интересный термостатик, для задач, где не хватает диапазона температур обычных термостатов с резисти..

706.58грн.

Датчик влажности и температуры DHT21

Датчик влажности и температуры DHT21

Датчик влажности и температуры DHT21 (AM2301) – точный цифровой сенсор для Arduino и других микрокон..

261.32грн.