Розумний дім #9: Реалізація сценаріїв («Вихід з дому», «Ніч», «Економія енергії»)
Сценарії розумного дому — це заздалегідь запрограмовані послідовності дій, які виконуються автоматично або за командою користувача. Вони дозволяють об’єднати роботу освітлення, опалення, систем безпеки та побутової техніки в єдине ціле. У цій статті ми детально розглянемо, які сценарії найбільш затребувані, як їх реалізувати на базі мікроконтролерів (ESP32, Arduino) та які технічні підходи застосовуються для інтеграції.
Що таке сценарії розумного дому?
Сценарій — це логічна послідовність дій, яка виконується за умовою: часу, події від датчика або вручну через мобільний додаток. Простий приклад: із заходом сонця автоматично вмикається вуличне освітлення. Більш складні сценарії можуть включати одразу кілька умов і дій, наприклад: «якщо датчик руху спрацював уночі — увімкнути світло в коридорі та надіслати повідомлення на смартфон».
Популярні сценарії в системах розумного дому
- «Вихід з дому» — під час активації сценарію вимикається все освітлення, опалення переводиться в економний режим, вмикається охоронна сигналізація, зачиняються електроприводи штор.
- «Ніч» — вимикається частина світла, активується охорона периметра, знижується температура опалення, вмикається нічне підсвічування в коридорі.
- «Економія енергії» — керування освітленням за датчиками руху та освітленості, відключення розеток із невикористаною технікою, оптимізація роботи кондиціонера.
- «Добрий ранок» — плавне вмикання світла, відкриття штор, запуск кавоварки, нагрів води в бойлері.
- «Повернення додому» — вмикання світла у передпокої, прогрів приміщення, відключення охоронного режиму.
- «Кінотеатр» — приглушення світла, закриття штор, вмикання домашнього кінотеатру.
- «Полив саду» — автоматичний полив за розкладом або залежно від вологості ґрунту.
Апаратна основа для реалізації сценаріїв
Для керування сценаріями потрібен контролер, який обробляє події та передає команди виконавчим пристроям. Найчастіше використовуються ESP32, Arduino Mega або спеціалізовані плати з Ethernet/Wi-Fi модулями. До них підключаються:
- датчики руху, освітленості, температури, вологості;
- реле для керування освітленням та побутовими приладами;
- серводвигуни й крокові мотори для керування шторами та замками;
- інтерфейси для інтеграції з мобільними додатками (Blynk, MQTT, Home Assistant).
Принципи побудови сценаріїв
Основна логіка реалізується на рівні прошивки контролера або в системі керування (наприклад, Home Assistant). Алгоритм будується за принципом «ЯКЩО – ТО». Приклади:
- ЯКЩО датчик руху активний уночі → ТО увімкнути підсвічування на 1 хвилину.
- ЯКЩО натиснута кнопка «Вихід з дому» → ТО вимкнути всі розетки, активувати охорону.
- ЯКЩО температура нижча за 20°C → ТО увімкнути опалення.
Приклад коду для ESP32 (сценарій «Вихід з дому»)
// Приклад простого сценарію для ESP32
#include
#include
const char* ssid = "Ваш_WiFi";
const char* password = "Пароль";
const char* mqtt_server = "192.168.1.10";
WiFiClient espClient;
PubSubClient client(espClient);
int relayLights = 25;
int relayHeating = 26;
int relaySecurity = 27;
void setup() {
pinMode(relayLights, OUTPUT);
pinMode(relayHeating, OUTPUT);
pinMode(relaySecurity, OUTPUT);
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
client.setServer(mqtt_server, 1883);
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
}
// Функція виконує сценарій "Вихід з дому"
void runAwayMode() {
digitalWrite(relayLights, LOW); // Вимкнути світло
digitalWrite(relayHeating, LOW); // Перевести опалення в економний режим
digitalWrite(relaySecurity, HIGH);// Увімкнути охорону
Serial.println("Сценарій 'Вихід з дому' активовано");
}
void reconnect() {
while (!client.connected()) {
if (client.connect("ESP32Client")) {
client.subscribe("home/scenario/away");
} else {
delay(5000);
}
}
}
void callback(char* topic, byte* payload, unsigned int length) {
if (String(topic) == "home/scenario/away") {
runAwayMode();
}
}
Пояснення коду
У прикладі використовується ESP32, підключений до MQTT-сервера.
Сценарій «Вихід з дому» активується при отриманні повідомлення за топіком home/scenario/away.
Контролер вимикає світло, переводить опалення в економний режим та вмикає охоронну систему.
Така схема дозволяє централізовано керувати розумним домом через смартфон або систему автоматизації.
Інтеграція сценаріїв у мобільний додаток
Для керування зручно використовувати Blynk, MQTT Dash або Home Assistant Companion. У додатку можна розмістити кнопки для активації режимів: «Вихід з дому», «Ніч», «Економія енергії» та інших. Також можливе голосове керування через Google Home чи Alexa.
Поради зі створення сценаріїв
- Використовуйте датчики для автоматизації, щоб не залежати тільки від ручного запуску сценаріїв.
- Об’єднуйте пристрої у логічні групи: світло, опалення, безпека.
- Застосовуйте розклади для зниження енергоспоживання (наприклад, увімкнення бойлера лише вночі).
- Інтегруйте сценарії зі сповіщеннями у Telegram або push-повідомленнями.
- Передбачайте аварійні режими — наприклад, вимкнення всього при перевантаженні мережі.
Застосування сценаріїв у реальному житті
Грамотно реалізовані сценарії дозволяють заощаджувати електроенергію, підвищувати комфорт та безпеку. Наприклад, сценарій «Ніч» забезпечує тишу та мінімальне енергоспоживання, а «Економія енергії» зменшує витрати на електрику. Автоматизація побутових процесів робить житло сучасним і зручним.
Якщо вам потрібен індивідуальний проєкт під ваші завдання, ми можемо розробити схему, виготовити друковані плати та реалізувати повний комплекс рішень для вашого розумного дому. Ознайомтеся з прикладами у нашому портфоліо.
Висновок
Сценарії розумного дому дозволяють об’єднати всі пристрої в єдину систему, що працює за заданими правилами. Вони спрощують керування, підвищують комфорт та допомагають економити ресурси. Використовуючи ESP32, Arduino та сучасні протоколи (MQTT, Blynk), можна побудувати надійну систему, адаптовану під індивідуальні потреби.
Обмін даними між двома Arduino за допомогою програмного UART
Обмен данными между двумя Arduino при помощи программного UARTКоммуникация по последовательному порт..
Модуль 8 — Фінальний проєкт Arduino: ідеї та збірка
Модуль 8 — Фінальний проєкт (курс для початківців) Мета модуля: застосувати всі отримані знання..
Які види дисплеїв можна використовувати з Arduino для відображення інформації
Які види дисплеїв можна використовувати з Arduino для відображення інформації Arduino — це ..
Двигун 12В з редуктором 150RPM
Двигун постійного струму з потужним редуктором для використання в різноманітній робототехніці, елект..
575.28грн.
Цикли 3 — Цикл while
Цикли 3 — Цикл while Вступ Цикл while — це конструкція, яка виконує код доти, доки задан..





