Течовете в банята или около пералнята рядко стават „удобно“ – обикновено ги откриваш късно, когато вече има мокър под, подути первази или капещ таван при съседите. Смарт теч-сензорът решава точно това: стои незабележимо на пода и при първите капки вода ти праща Wi‑Fi известие на телефона. В тази DIY инструкция ще направим евтин, надежден „теч-сензор“ с ESP32, който струва под 20 лв, монтира се без майстор и може да се ползва както в баня, така и зад/под пералня.
Ще използваме ESP32 (с вграден Wi‑Fi), прост сензор за вода (две проводящи писти/електроди) и известяване през домашната мрежа. Когато водата „затвори“ веригата на сензора, ESP32 засича състоянието и изпраща нотификация (най-лесно чрез Telegram, защото е безплатно и стабилно). Поставяш сензора на пода до риска (сифон, под пералня, до маркучи), а електрониката – по-високо/сухо.
Важно: В баня/перално влагата е висока. Поставяй ESP32 и връзките в кутия и ги вдигай на сухо място (например на стената, зад пералнята на височина, върху рафт).
Ще ползваме сензора като „контакт“ към GPIO вход:
Ако използваш само два проводника като „електроди“ (без модул): свържи единия към GND, другия към GPIO вход, а в кода включи вътрешен pull-up. При наличие на вода входът ще се „дръпне“ към GND и ще отчетем теч.
Идеята е сензорът да е най-ниската точка, където водата ще се събира първо. Електрониката – на сухо, по-високо.
Telegram позволява бот, който да ти праща съобщение веднага при аларма. Нужни са две неща: BOT_TOKEN и CHAT_ID.
В Telegram намери @BotFather → /newbot → следвай стъпките и запази токена (изглежда като 123456:ABC-DEF...).
Най-лесно: напиши съобщение на бота, после отвори в браузър:
https://api.telegram.org/botYOUR_TOKEN/getUpdates
В отговора намери chat → id. Това е твоят CHAT_ID.
Инсталирай Arduino IDE, добави ESP32 board package, после качи кода по-долу. Той:
#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);
}
LEAK_STATE на HIGH или завърти тримера.client.setInsecure() е удобен компромис за бърз DIY. Ако искаш по-строго, ползвай коренни сертификати (по-сложно за поддръжка).Пробий малък отвор за кабела към сензора. Ако имаш гумен кабелен уплътнител (gland) – още по-добре. Целта е електрониката да е защитена от пръски.
Закрепи кутията с двустранна лепенка/велкро отстрани на шкаф, на стената зад пералнята или на високо в ниша. Не я слагай на пода.
Самият воден сензор/електроди сложи така, че да докосват пода. Ако е модул с платка-електрод, закрепи я с лепенка, но остави проводящата част да може да се мокри.
Използвай качествено 5V USB зарядно. Включи го в контакт, който не се мокри и по възможност е на дефектнотокова защита (ДТЗ), както е стандартно за баня.
Някои евтини „raindrop/water sensor“ платки корозират с времето. За по-дълъг живот използвай два неръждаеми винта/проводника като електроди и ги изведи на пода, а връзките изолирай добре.
С няколко евтини компонента и малко време можеш да си направиш практичен смарт „теч-сензор“ за баня или перално, който да те предупреди навреме и да спести щети и нерви. Най-важното е: сензорът да е ниско, електрониката да е сухо и да тестваш реално с вода, преди да му се довериш.
Ако искаш, мога да адаптирам проекта за конкретно място (например само за пералня), да добавя зумер или да го пренапиша за MQTT/Home Assistant.
Място за вашата реклама! Свържете се с нас
Получавай най-интересните статии и новини директно в пощенската си кутия.
Вижте още