Начало / Направи си сам / Направи си сам: Смарт „теч-сензор“ за баня/перално с ESP32 + Wi‑Fi известие (под 20 лв) – монтаж без майстор

Направи си сам: Смарт „теч-сензор“ за баня/перално с ESP32 + Wi‑Fi известие (под 20 лв) – монтаж без майстор

Направи си сам
Самоделен смарт теч-сензор с ESP32 в кутия и воден сензор на пода до пералня, изпращащ Wi‑Fi известие

Защо да си направиш смарт теч-сензор (и защо точно за баня/перално)

Течовете в банята или около пералнята рядко стават „удобно“ – обикновено ги откриваш късно, когато вече има мокър под, подути первази или капещ таван при съседите. Смарт теч-сензорът решава точно това: стои незабележимо на пода и при първите капки вода ти праща Wi‑Fi известие на телефона. В тази DIY инструкция ще направим евтин, надежден „теч-сензор“ с ESP32, който струва под 20 лв, монтира се без майстор и може да се ползва както в баня, така и зад/под пералня.

Как работи решението (накратко)

Ще използваме ESP32 (с вграден Wi‑Fi), прост сензор за вода (две проводящи писти/електроди) и известяване през домашната мрежа. Когато водата „затвори“ веригата на сензора, ESP32 засича състоянието и изпраща нотификация (най-лесно чрез Telegram, защото е безплатно и стабилно). Поставяш сензора на пода до риска (сифон, под пералня, до маркучи), а електрониката – по-високо/сухо.

Списък с части (бюджет под 20 лв)

  • ESP32 DevKit (ESP32-WROOM) – 10–15 лв
  • Сензор за вода (water leak / raindrop sensor) или просто две неръждаеми „пластинки/проводника“ – 2–5 лв
  • USB захранване 5V (старо зарядно за телефон) + USB кабел – 0–5 лв
  • Кутия (малка пластмасова, IP54 по възможност) – 2–5 лв
  • Проводници, термосвиваем шлаух/изолирбанд – 1–3 лв
  • По желание: малък пиезо зумер за локална аларма – 1–2 лв

Важно: В баня/перално влагата е висока. Поставяй ESP32 и връзките в кутия и ги вдигай на сухо място (например на стената, зад пералнята на височина, върху рафт).

Инструменти

  • Отвертка/малки клещи
  • Поялник (по избор, може и без – с клеми/dupont кабели)
  • Нож/резачка за кабели
  • Двустранна лепенка/велкро или винтове за кутията

Схема на свързване (лесна и безопасна)

Ще ползваме сензора като „контакт“ към GPIO вход:

  • VCC на модула сензор (ако е готов модул) → 3.3V на ESP32
  • GNDGND
  • DO (digital out) или директният сигнал от електроди → избран GPIO (пример: GPIO 27)

Ако използваш само два проводника като „електроди“ (без модул): свържи единия към GND, другия към GPIO вход, а в кода включи вътрешен pull-up. При наличие на вода входът ще се „дръпне“ към GND и ще отчетем теч.

Къде да сложиш самия сензор

  • Под пералня (в предната част, където първо се вижда вода)
  • До сифона в банята (встрани от пряко обливане)
  • До връзките на маркучи и спирателни кранове

Идеята е сензорът да е най-ниската точка, където водата ще се събира първо. Електрониката – на сухо, по-високо.

Известие по Wi‑Fi чрез Telegram (най-лесният вариант)

Telegram позволява бот, който да ти праща съобщение веднага при аларма. Нужни са две неща: BOT_TOKEN и CHAT_ID.

1) Създай Telegram бот

В Telegram намери @BotFather → /newbot → следвай стъпките и запази токена (изглежда като 123456:ABC-DEF...).

2) Вземи CHAT_ID

Най-лесно: напиши съобщение на бота, после отвори в браузър:

https://api.telegram.org/botYOUR_TOKEN/getUpdates

В отговора намери chatid. Това е твоят CHAT_ID.

Код за ESP32 (Arduino IDE) – теч → Telegram известие

Инсталирай Arduino IDE, добави ESP32 board package, после качи кода по-долу. Той:

  • Свързва се към Wi‑Fi
  • Чете входа на сензора
  • При теч праща Telegram съобщение
  • Има „debounce“/забавяне, за да не спами
#include <WiFi.h>
#include <WiFiClientSecure.h>

// 1) Wi‑Fi данни
const char* WIFI_SSID = "YOUR_WIFI_SSID";
const char* WIFI_PASS = "YOUR_WIFI_PASSWORD";

// 2) Telegram бот
const char* BOT_TOKEN = "YOUR_BOT_TOKEN";  // от @BotFather
const char* CHAT_ID   = "YOUR_CHAT_ID";    // твоето chat id

// 3) Пинове
const int SENSOR_PIN = 27; // GPIO вход (към DO или към електрод)

// Логика: ако ползваш електрод + pullup, теч = LOW
const int LEAK_STATE = LOW;

// Анти-спам/стабилност
unsigned long lastAlertMs = 0;
const unsigned long ALERT_COOLDOWN_MS = 60UL * 1000UL; // 60 сек

WiFiClientSecure client;

bool sendTelegramMessage(const String& text) {
  client.setInsecure(); // опростено; за DIY е ок, но не е най-строгата сигурност

  String host = "api.telegram.org";
  String url = String("/bot") + BOT_TOKEN + "/sendMessage?chat_id=" + CHAT_ID + "&text=" + text;

  if (!client.connect(host.c_str(), 443)) return false;

  client.print(String("GET ") + url + " HTTP/1.1\r\n" +
               "Host: " + host + "\r\n" +
               "Connection: close\r\n\r\n");

  // Изчакваме кратко отговор
  unsigned long t = millis();
  while (client.connected() && millis() - t < 3000) {
    while (client.available()) {
      client.read();
    }
  }
  client.stop();
  return true;
}

void setup() {
  Serial.begin(115200);

  pinMode(SENSOR_PIN, INPUT_PULLUP); // ако ползваш DO от модул, може INPUT

  WiFi.mode(WIFI_STA);
  WiFi.begin(WIFI_SSID, WIFI_PASS);

  Serial.print("Connecting to Wi‑Fi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(400);
    Serial.print(".");
  }
  Serial.println();
  Serial.print("IP: ");
  Serial.println(WiFi.localIP());

  sendTelegramMessage("✅ ESP32 теч-сензор е онлайн.");
}

void loop() {
  int s = digitalRead(SENSOR_PIN);

  if (s == LEAK_STATE) {
    unsigned long now = millis();
    if (now - lastAlertMs > ALERT_COOLDOWN_MS) {
      lastAlertMs = now;
      sendTelegramMessage("🚨 Засечен е теч/вода в баня/перално! Провери веднага.");
    }
  }

  delay(200);
}

Бележки по кода

  • Ако използваш готов модул със сензор и компаратор, изходът DO може да е активен HIGH/LOW според тримера. В такъв случай смени LEAK_STATE на HIGH или завърти тримера.
  • client.setInsecure() е удобен компромис за бърз DIY. Ако искаш по-строго, ползвай коренни сертификати (по-сложно за поддръжка).
  • „Cooldown“ от 60 сек спира спама, ако сензорът стои мокър.

Монтаж без майстор: практични стъпки

1) Подготви кутията

Пробий малък отвор за кабела към сензора. Ако имаш гумен кабелен уплътнител (gland) – още по-добре. Целта е електрониката да е защитена от пръски.

2) Позиционирай електрониката „на сухо“

Закрепи кутията с двустранна лепенка/велкро отстрани на шкаф, на стената зад пералнята или на високо в ниша. Не я слагай на пода.

3) Позиционирай сензора „на ниско“

Самият воден сензор/електроди сложи така, че да докосват пода. Ако е модул с платка-електрод, закрепи я с лепенка, но остави проводящата част да може да се мокри.

4) Захранване

Използвай качествено 5V USB зарядно. Включи го в контакт, който не се мокри и по възможност е на дефектнотокова защита (ДТЗ), както е стандартно за баня.

Тест (преди да разчиташ на него)

  • Провери, че получаваш съобщение „онлайн“ при рестарт.
  • Капни малко вода върху електродите – трябва да дойде Telegram аларма.
  • Подсуши – увери се, че не праща постоянно (ако праща, увеличи разстоянието между електродите или ползвай по-ясен „dry/leak“ праг при модул).

Чести проблеми и решения

Не се връзва към Wi‑Fi

  • Провери SSID/парола.
  • ESP32 работи по-стабилно на 2.4 GHz – увери се, че мрежата е 2.4G.
  • Ако рутерът е далеч (перално/баня), премести го или ползвай Wi‑Fi extender.

Фалшиви аларми от влага

  • Премести сензора от зона с директни пръски/конденз.
  • Използвай електроди от неръждавейка и увеличи разстоянието между тях.
  • Добави в кода условие течът да е активен например 2–3 секунди, преди да прати аларма.

Корозия на евтините сензорни платки

Някои евтини „raindrop/water sensor“ платки корозират с времето. За по-дълъг живот използвай два неръждаеми винта/проводника като електроди и ги изведи на пода, а връзките изолирай добре.

Ъпгрейди (ако решиш да надграждаш по-късно)

  • Зумер за локална сирена (ако си вкъщи, ще чуеш веднага).
  • Home Assistant интеграция чрез MQTT вместо Telegram.
  • Батерийно захранване + deep sleep (по-сложно, но без кабел).
  • Реле/електромагнитен клапан за автоматично спиране на водата (вече изисква повече внимание и безопасност).

Заключение

С няколко евтини компонента и малко време можеш да си направиш практичен смарт „теч-сензор“ за баня или перално, който да те предупреди навреме и да спести щети и нерви. Най-важното е: сензорът да е ниско, електрониката да е сухо и да тестваш реално с вода, преди да му се довериш.

Ако искаш, мога да адаптирам проекта за конкретно място (например само за пералня), да добавя зумер или да го пренапиша за MQTT/Home Assistant.

Място за вашата реклама! Свържете се с нас

Абонирай се за нашия бюлетин!

Получавай най-интересните статии и новини директно в пощенската си кутия.