Как самостоятельно собрать датчик утечки воды с оповещением на смартфон через ESP8266 и Blynk?
Датчик утечки воды на базе ESP8266 и платформы Blynk — отличный проект для начинающих IoT-разработчиков. Он позволяет получать мгновенные push-уведомления на смартфон при обнаружении воды. Рассмотрим процесс сборки подробно.
## Необходимые компоненты
— Модуль ESP8266 (NodeMCU v3 или Wemos D1 Mini)
— Датчик утечки воды (Water Leak Sensor Module) или самодельный датчик из двух оголённых проводников
— Резистор 10 кОм (для подтяжки)
— Макетная плата и провода
— Кабель micro-USB для прошивки
— Аккаунт на платформе Blynk (blynk.cloud)
## Схема подключения
Датчик воды имеет три вывода: VCC, GND и DO (цифровой выход). Подключите VCC к пину 3.3V на NodeMCU, GND к GND, а DO к пину D2 (GPIO4). Если используете аналоговый датчик, подключите AO к пину A0. Резистор 10 кОм устанавливается между DO и VCC для стабилизации сигнала.
## Настройка Blynk
1. Зарегистрируйтесь на blynk.cloud и создайте новый шаблон устройства.
2. Добавьте виртуальный пин V0 (тип: Integer).
3. Создайте новое устройство и скопируйте Auth Token, TEMPLATE_ID и TEMPLATE_NAME.
4. В разделе Automations или Events создайте событие «water_leak» с уведомлением на email и push.
## Код для Arduino IDE
Установите библиотеки: Blynk by Volodymyr Shymanskyy и ESP8266WiFi. Используйте следующий код:
cpp
#define BLYNK_TEMPLATE_ID «ВАШ_TEMPLATE_ID»
#define BLYNK_TEMPLATE_NAME «Water Sensor»
#define BLYNK_AUTH_TOKEN «ВАШ_AUTH_TOKEN»
#include
#include
char ssid[] = «ВАШ_WIFI»;
char pass[] = «ВАШ_ПАРОЛЬ»;
const int sensorPin = D2;
bool lastState = false;
void setup() {
Serial.begin(115200);
pinMode(sensorPin, INPUT);
Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
}
void loop() {
Blynk.run();
bool waterDetected = digitalRead(sensorPin) == LOW;
if (waterDetected && !lastState) {
Blynk.virtualWrite(V0, 1);
Blynk.logEvent(«water_leak», «Обнаружена утечка воды!»);
lastState = true;
} else if (!waterDetected && lastState) {
Blynk.virtualWrite(V0, 0);
lastState = false;
}
delay(500);
}
## Загрузка прошивки
В Arduino IDE выберите плату «NodeMCU 1.0 (ESP-12E Module)», порт COM, скорость 115200. Нажмите «Загрузить». После успешной прошивки устройство подключится к Wi-Fi и Blynk.
## Тестирование
Смочите датчик водой — через 1–2 секунды на смартфон придёт push-уведомление. В приложении Blynk добавьте виджет LED или Value Display на V0 для визуализации состояния.
## Советы по улучшению
— Поместите датчик в влагозащищённый корпус, выведя только щупы наружу.
— Добавьте звуковой сигнал через пьезобуззер на пин D3.
— Используйте глубокий сон (deep sleep) для питания от батарейки.
— Настройте повторные уведомления каждые 5 минут при активной утечке.
