IoT-комнатная станция на ESP32 (реле + DHT22)
Включай лампу с телефона и следи за температурой и влажностью в комнате вживую откуда угодно. Этот проект — пошаговое руководство к IoT-шаблону «Комнатная станция» в приложении, собранному на ESP32, модуле реле и DHT22. Открой Мастерская › Устройства › Добавить устройство и выбери «Комнатная станция»; 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 (реле + DHT22)
4// ─────────────────────────────────────────
5// IoT-шаблон "Комнатная станция" из приложения BlueGrays: включай лампу с
6// телефона через реле, а DHT22 каждые 2 секунды отправляет в приложение
7// температуру и влажность в комнате. Настоящий код Ohmi готовит в
8// приложении с твоим собственным ключом устройства (Мастерская ›
9// Устройства › Добавить устройство); код здесь — пример, ключ устройства и
10// данные Wi-Fi — заглушки. Library Manager: BlueGraysIoT (с
11// зависимостями). Плата подключается только к сетям Wi-Fi 2.4 GHz. Реле
12// срабатывает по LOW. Подключай сетевую лампу только вместе с опытным
13// человеком; сначала попробуй со светодиодом.
14//
15// Пины:
16// GPIO26 -> IN модуля реле
17// 5V, GND -> Модуль реле VCC, GND
18// Реле COM -> 5V, NO -> 220 ohm -> анод светодиода, катод светодиода -> GND
19// GPIO4 -> DHT22 OUT (данные)
20// 3V3, GND -> DHT22 VCC, GND
21// Pico W: реле IN GP15, DHT22 OUT GP16
22
23/*
24 * Комнатная станция · BlueGrays IoT
25 * BlueGrays · bluegrays.com
26 * Не делись этим кодом: в нём ключ твоего устройства и пароль Wi-Fi.
27 */
28
29#include <BlueGraysIoT.h>
30#include <DHT.h>
31
32const char *DEVICE_KEY = "YOUR_DEVICE_KEY";
33const char *WIFI_NAME = "YOUR_WIFI_NAME";
34const char *WIFI_PASSWORD = "YOUR_WIFI_PASSWORD";
35
36BlueGraysIoT bg(DEVICE_KEY);
37
38const int RELAY_PIN = 26;
39const bool RELAY_ACTIVE_LOW = true; // большинство модулей реле включаются по LOW
40void setRelay(bool on) { digitalWrite(RELAY_PIN, (on != RELAY_ACTIVE_LOW) ? HIGH : LOW); }
41DHT dht(4, DHT22);
42unsigned long lastReadMs = 0;
43
44void setup() {
45 Serial.begin(115200);
46 pinMode(RELAY_PIN, OUTPUT);
47 setRelay(false);
48 bg.onSwitch("lamba", setRelay);
49 dht.begin();
50 bg.setDeadband("sicaklik", 0.1);
51 bg.setDeadband("nem", 1.0);
52 bg.setDebug(Serial);
53 bg.setLanguage(BG_LANG_EN);
54 bg.begin(WIFI_NAME, WIFI_PASSWORD);
55}
56
57void loop() {
58 bg.loop(); // избегай здесь долгих вызовов delay()
59 if (millis() - lastReadMs >= 2000) {
60 lastReadMs = millis();
61 bg.send("sicaklik", dht.readTemperature());
62 bg.send("nem", dht.readHumidity());
63 }
64}
65Частые вопросы
Можно ли загрузить код с этой страницы прямо на плату?
Можно, но подключения не будет: ключ устройства и данные Wi-Fi в нём — заглушки. В приложении открой Мастерская › Устройства › Добавить устройство и выбери «Комнатная станция»; Ohmi подготовит код с твоим ключом, именем сети и паролем. Скопируй этот код и загрузи его. Полный код позже можно посмотреть в разделе Устройство › Код и ключ.
Работает ли это с Pico W?
Да. При добавлении устройства выбери плату Pico W; код остаётся тем же, меняются только пины: реле идёт к GP15, а DHT22 — к GP16. В Arduino IDE установи пакет «pico» из менеджера плат. Схема и фото на этой странице сделаны с ESP32.
Можно ли подключить настоящую сетевую лампу?
Сетевое напряжение (230 V или 120 V) может убить и вызвать пожар. Сначала попробуй со светодиодом, как показано на этой странице. Если переходишь на настоящую лампу, делай это вместе с тем, кто разбирается в электрике: вилка вынута из розетки, через клеммы COM и NO реле проходит только фазный провод, нигде нет оголённых проводов, схема находится в закрытом корпусе, а мощность лампы не превышает предел, указанный на модуле.
В безопасности ли мой пароль от Wi-Fi и ключ устройства?
Пароль от Wi-Fi остаётся на твоём телефоне и никогда не отправляется на наш сервер; он добавляется в код прямо на телефоне. Ключ устройства передаётся только в заголовке защищённого соединения и никогда не выводится в монитор порта. Но оба всё равно находятся внутри кода, поэтому не делись кодом, скопированным из приложения. Если кто-то видел твой ключ, получи новый через «Обновить ключ» и загрузи новый код.
