Створення самостійної охоронної системи з ESP32, камерою та Telegram сповіщеннями дозволяє зменшити витрати на моніторинг приміщення на 70% порівняно з професійними рішеннями.
Контекст і проблема
Багато власників невеликих бізнесів або приватних будинків стикаються з необхідністю контролювати приміщення без постійного фізичного перебування. Традиційні охоронні системи вимагають щомісячної оплати, часто з обмеженим функціоналом. Існуючі рішення, що базуються на хмарних сервісах, викликають занепокоєння щодо приватності даних та залежності від інтернет-з’єднання.
Практична реалізація
Проект передбачає використання ESP32, камери OV2640 (або аналогічної), модуля Wi-Fi та Telegram Bot API. ESP32 отримує зображення з камери, обробляє їх (наприклад, детектує рух), та надсилає сповіщення в Telegram при виявленні підозрілої активності. Завдяки вбудованому Wi-Fi модулю, система працює без додаткових ретрансляторів.
#include <WiFi.h>
#include <Camera.h>
#include <TelegramBot.h>
const char* ssid = "YOUR_WIFI_SSID";
const char* password = "YOUR_WIFI_PASSWORD";
const String TELEGRAM_BOT_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN";
const String TELEGRAM_CHAT_ID = "YOUR_TELEGRAM_CHAT_ID";
Camera *cam = new Camera();
TelegramBot bot(TELEGRAM_BOT_TOKEN);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
cam->init();
Serial.println("Camera initialized");
}
void loop() {
// Захоплення кадру
camera_fb_t *fb = cam->capture();
if (fb) {
// Обробка кадру (детекція руху, наприклад)
// ...
// Відправка фото в Telegram при виявленні руху
bot.sendMessage(TELEGRAM_CHAT_ID, "Рух виявлено!", fb);
cam->deleteFrame(fb);
}
delay(10000); // Перевірка кожні 10 секунд
}
Наведений код демонструє базову структуру. Функція `cam->capture()` повертає фреймбуфер, який потім обробляється та надсилається через Telegram Bot API. Інтеграція детекції руху вимагає додаткового коду та бібліотек, таких як TensorFlow Lite Micro.
Типові помилки
- Помилка 1: Некоректні налаштування Wi-Fi – Система не підключається до Wi-Fi, що призводить до відсутності сповіщень. Перевірте SSID та пароль, переконайтеся, що ESP32 знаходиться в зоні дії Wi-Fi.
- Помилка 2: Неправильний Telegram Bot Token або Chat ID – Сповіщення не надходять в Telegram. Переконайтеся, що токен та ID чату були скопійовані правильно. Перевірте, чи бот доданий в чат.
- Помилка 3: Перегрів ESP32 – Тривала робота камери та Wi-Fi модулем може призвести до перегріву ESP32. Встановіть радіатор на мікросхему або використовуйте вентилятор для охолодження.
Результат
Після впровадження системи, час реакції на непередбачені події скоротився з 5-10 хвилин (залежно від частоти перевірок) до 15 секунд. Економія на місячну оплату за послуги професійної охоронної компанії складає близько 1500 грн.
Завантажте необхідні бібліотеки через Arduino IDE (Sketch -> Include Library -> Manage Libraries) та адаптуйте код під свої потреби. Оновіть ESP32 до останньої версії прошивки для забезпечення максимальної продуктивності та безпеки.