IoT-выключатель лампы на ESP32 (реле)
Включай и выключай лампу с телефона откуда угодно. Этот проект — пошаговое руководство к IoT-шаблону «Лампа на реле» в приложении, собранному на ESP32 и модуле реле и сначала опробованному со светодиодом. Открой Мастерская › Устройства › Добавить устройство и выбери «Лампа на реле»; Ohmi подготовит код с твоим собственным ключом устройства. Код на этой странице — пример: ключ и данные Wi-Fi в нём заглушки.

Управляй этим устройством из приложения
Подключи ESP32 или Raspberry Pi Pico W к Wi-Fi — и включай, выключай и смотри показания в реальном времени с телефона. Код готовит Ohmi, тебе остаётся ввести данные Wi-Fi и загрузить его.
Шаблон в приложении: Лампа на реле
- Где это в приложении?Добавь новое устройство на вкладке «Утилиты» или в разделе «Мастерская › Устройства» и выбери этот шаблон.
- Библиотека ArduinoОткрой менеджер библиотек в Arduino IDE, найди BlueGraysIoT и установи её.
В бесплатном плане — 1 устройство, 1 график и история за 24 часа. С Premium — больше устройств и графиков и более длинная история.
Схема

Исходный код
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// IoT-выключатель лампы на ESP32 (реле)
4// ─────────────────────────────────────────
5// IoT-шаблон "Лампа на реле" из приложения BlueGrays: включай и выключай
6// лампу с телефона через реле. Настоящий код Ohmi готовит в приложении с
7// твоим собственным ключом устройства (Мастерская › Устройства › Добавить
8// устройство); код здесь — пример, ключ устройства и данные Wi-Fi —
9// заглушки. Library Manager: BlueGraysIoT (с зависимостями). Плата
10// подключается только к сетям Wi-Fi 2.4 GHz. Реле срабатывает по LOW.
11// Подключай сетевую лампу только вместе с опытным человеком; сначала
12// попробуй со светодиодом.
13//
14// Пины:
15// GPIO26 -> IN модуля реле
16// 5V, GND -> Модуль реле VCC, GND
17// Реле COM -> 5V, NO -> 220 ohm -> анод светодиода, катод светодиода -> GND
18// Pico W: реле IN GP15
19
20/*
21 * Лампа на реле · BlueGrays IoT
22 * BlueGrays · bluegrays.com
23 * Не делись этим кодом: в нём ключ твоего устройства и пароль Wi-Fi.
24 */
25
26#include <BlueGraysIoT.h>
27
28const char *DEVICE_KEY = "YOUR_DEVICE_KEY";
29const char *WIFI_NAME = "YOUR_WIFI_NAME";
30const char *WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";
31
32BlueGraysIoT bg(DEVICE_KEY);
33
34const int RELAY_PIN = 26;
35const bool RELAY_ACTIVE_LOW = true; // большинство модулей реле включаются по LOW
36void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
37
38void setup() {
39 Serial.begin(115200);
40 pinMode(RELAY_PIN, OUTPUT);
41 setRelay(false);
42 bg.onSwitch("lamba", setRelay);
43 bg.setDebug(Serial);
44 bg.setLanguage(BG_LANG_EN);
45 bg.begin(WIFI_NAME, WIFI_PASSWORD);
46}
47
48void loop() {
49 bg.loop(); // избегай здесь долгих вызовов delay()
50}
51Частые вопросы
Можно ли загрузить код с этой страницы прямо на плату?
Можно, но подключения не будет: ключ устройства и данные Wi-Fi в нём — заглушки. В приложении открой Мастерская › Устройства › Добавить устройство и выбери «Лампа на реле»; Ohmi подготовит код с твоим ключом, именем сети и паролем. Скопируй этот код и загрузи его. Полный код позже можно посмотреть в разделе Устройство › Код и ключ.
Работает ли это с Pico W?
Да. При добавлении устройства выбери плату Pico W; код остаётся тем же, меняется только пин реле: IN реле идёт к GP15, а VCC — к VBUS. В Arduino IDE установи пакет «pico» из менеджера плат. Схема и фото на этой странице сделаны с ESP32.
Можно ли подключить настоящую сетевую лампу?
Сетевое напряжение (230 V или 120 V) может убить и вызвать пожар. Сначала попробуй со светодиодом, как показано на этой странице. Если переходишь на настоящую лампу, делай это вместе с тем, кто разбирается в электрике: вилка вынута из розетки, через клеммы COM и NO реле проходит только фазный провод, нигде нет оголённых проводов, схема находится в закрытом корпусе, а мощность лампы не превышает предел, указанный на модуле.
Что происходит с лампой после отключения питания?
При включении реле сначала выключается, поэтому лампа никогда не загорается сама. Как только плата снова подключается к Wi-Fi и серверу, библиотека применяет последнее состояние из приложения: если лампа горела до отключения питания, она снова загорается, если была выключена — остаётся выключенной. Если во время работы платы пропадает только Wi-Fi, лампа просто остаётся как есть.
