Делаем простой видеорегистратор из ESP32-CAM
Проект простого видеорегистратора на основе ESP32-CAM, с датчиком движения, записью видео на SD карту, отправкой фото через Телеграм и файловым менеджером.
Делаем простой видеорегистратор из ESP32-CAM
Версия для печати

Делаем простой видеорегистратор из ESP32-CAM

ESP32-CAM - это недорогой и мощный модуль, который объединяет в себе микроконтроллер и камеру. Он может использоваться для создания простых систем видеонаблюдения, например, для наблюдения за домашними животными или охраны дома. В этой статье мы рассмотрим проект простого видеорегистратора на основе ESP32-CAM, с датчиком движения, записью видео на SD карту, отправкой фото через Telegram и собственным файловым менеджером.

Особенности проекта

Данный проект обладает рядом особенностей:

  • Захват и запись MJPEG AVI таймлапс видео на SD карту подключенную к ESP32-CAM
  • Включение записи видео при срабатывании датчика движения HC-SR501
  • Уведомления через Telegram бота при включении или срабатывании датчика движения с фото и видео
  • Веб интерфейс для настройки
  • Синхронизация времени с NTP сервером
  • Файловый менеджер для удаленного управления файлами на SD карте

Необходимые компоненты

Для сборки проекта вам понадобятся следующие компоненты:

  • AI Thinker ESP32-CAM c сенсором OV2640
  • Датчик движения HC-SR501
  • Электролитический конденсатор не менее 220 мКФ
  • Micro USB разъем
  • Блок питания 5В 1А
  • Макетная или печатная плата для размещения компонентов

Без MicroUSB можно и обойтись. Он используется лишь для подключения питания к устройству, как самый простой и универсальный вариант. Можете использовать то, что есть под рукой. Конденсатор здесь тоже опциональный элемент. Все работает и без него, но с ним все же гораздо стабильнее.

Схема подключения

В общем виде схема подключения выглядит следующим образом:

scheme

Пины VCC и GND micro USB разъема подключаем  к пинам 5V и GND ESP32-CAM. Для сглаживания пульсации параллельно на пины 5V и GND ESP32 CAM припаивается конденсатор на 220 мкФ.

Если в проекте планируется использовать датчик движения, то его пины питания подключаем е 5V и GND соответственно, Контакт OUT соединяем с пином IO12 ESP32-CAM

Настройка, компиляция и сборка проекта

Для сборки прошивки вам потребуется установить в Arduino IDE ядро ESP32 версии 2.0.6. 

После установки ядра, распакуйте архив с проектом и откройте его в Arduino IDE. Все основные настройки представлены в файле settings.h. Рассмотрим его параметры более подробно.

Настройка отображаемого имени устройства:

static const char devname[] = "altJSV"; 

В кавычках укажите желаемое имя устройства. Влияет на отображение камеры в сетевом окружении, настройках роутера и префиксы создаваемых им имен файлов.

Автоматическое удаление старых файлов:

int delete_old_files = 1; 

Если равно 1, то автоматически с SD карты будут удаляться файлы с самой ранней датой создания. Позволяет всегда сохранять на карте 10% свободного места.

Установка часового пояса для синхронизации времени:

#define TIMEZONE "MSK-3MSD,M3.5.0/2,M10.5.0/3"

Код вашего часового пояса можно найти здесь

Режим работы встроенного светодиода:

#define BlinkWithWrite 1

1 - мигать только при записи на SD карту. 0 - мигать при ошибке записи на SD карту

Настройки WiFi:

const char* ssid = "ssid";
const char* password = "pass";

Логин и пароль вашей WiFi сети. Если оставить пустыми, то устройство переключается в режим точки доступа, подключившись к которой вы сможете настроить WiFi через нее.

настройка различных параметров режима работы:

int Internet_Enabled = 1; // Установите 0 для отключения всех сетевых возможностей- wifi, time, http, ftp, telegram
int DeepSleepPir = 0; // установите 1 для ухода в глубокий сон до срабатывания датчика движения
int record_on_reboot = 1; // Включение записи при перезагрузке
int PIRpin = 13; // Пин к которому подключен датчик движения
int PIRenabled = 0; // 1 Включение датчика движения при загрузке. Работает только при отключенной записи видео

Сброс настроек хранящихся в EEPROM. Просто измените данный параметр на любой другой, чтобы при повторной прошивке очистить все настройки устройства:

int MagicNumber = 011; 

Интервал между захватом кадров в режиме трансляции в мс:

int stream_interval = 333; //333 мс или 3 кадра в секунду

Настройки записи видео:

int framesize = 8; // Размер кадра 13 UXGA, 11 HD, 9 SVGA, 8 VGA, 6 CIF
int repeat_config = 100; // максимальное количество записей
int xspeed = 1; // Модификатор скорости воспроизведения трансляции - 1 - в реальном времени.
int gray = 0; // запись в оттенках серого
int quality = 12; // Качество записи 10..50 Где - 10 высокое качество и большие файлы, 50 плохое качество, но маленькие файлы
int capture_interval = 100; // пауза в мс между захватом кадров
volatile int total_frames_config = 18000; // количество кадров в одном файле total_frames x capture_interval

Настройка Telegram бота:

RTC_DATA_ATTR int EnableBOT = 0;
#define BOTtoken "1234567890:ABCDEFGHIGKLMNOQPRSTUVWXWYZ" // токен бота 
#define BOTme "1234567890" //ваш ID

Здесь необходимо указать ваш ID и токен бота. Создание бота и получение ID подробно рассматривались в статье Управление ESP8266 через Telegram бота

После завершения редактирования конфига, установите параметры ядра как на рисунке ниже и прошейте ваш модуль ESP32-CAM любым удобным способом:

core settings

Обзор веб интерфейса

Для подключения к веб интерфейсу ESP32-CAM вам нужно узнать его IP адрес. Это можно сделать, например, в мониторе серийного порта Arduino IDE, подключив ESP32-CAM к компьютеру по USB через FTDI программатор:

com log

Либо зайдите в панель управления вашего роутера и посмотрите какой IP адрес он присвоил устройству:

ipadress

Далее просто введите IP адрес устройства в адресную строку вашего браузера. Откроется окно веб интерфейса:

web интерфейс

В нем вы можете увидеть краткую информацию об устройстве, режиме его работы, подключенной SD карте, изображение полученное с сенсора камеры и несколько ссылок для переключения режимов и управления камерой.

Для остановки записи и настройки ее параметров, воспользуйтесь ссылкой http://ipadress/stop. Должно открыться новое окно:

stop rec

В нем вы можете просто вернуться на главный экран без старта записи. Либо запустить запись с предварительно заданными параметрами нажав на любую из ссылок с описанием конфигурации. Также можно запустить запись задав параметры вручную, скопировав в адресную строку браузера следующий текст и отредактировав параметры запуска:

http://192.168.1.61/start?framesize=VGA&length=1800&interval=100&quality=10&repeat=100&speed=1&gray=0&pir=1&bot=1

После того как вы остановили запись и вернулись в главное меню, вы можете активировать запись по датчику движения,  нажав на ссылку Включить PIR. В этом случае запись видео будет включаться автоматически при обнаружении высокого уровня сигнала на пине  к которому подключен датчик движения. После достижения максимальной длительности видео, камера сохранит видео на SD  карту и уйдет в спящий режим до тех пор пока снова не сработает датчик движения.

Если вы включите Telegram бота, то при включении питания камеры или обнаружении движения в Telegram боту будет отправлено сообщение:

bot log

Для управления содержимым SD карты перейдите по адресу http://ipadress:8080/. Откроется окно менеджера файлов:

file manager

С его помощью вы можете удалять и переименовывать файлы на SD карте. А также скачивать их себе на компьютер

Полезные ссылки

Несколько полезных ссылок:

https://github.com/jameszah/ESP32-CAM-Video-Recorder - github автора прошивки.

https://github.com/jameszah/ESP32-CAM-Video-Recorder-junior - облегченная версия прошивки. Урезан функционал, но сильно повышено быстродействие.

 

Заключение

В заключение хочется сказать, что ESP32-CAM в качестве видеорегистратора является удобным и эффективным решением для наблюдения за окружающей средой и безопасности дома. С его помощью можно быстро создать простую, но функциональную систему видеонаблюдения, которая отвечает вашим потребностям.

Материал также доступен на моем канале: Яндекс Дзен и в группе ВК
Категория: ESP32 | Добавил: | Теги: видеорегистратор, Telegram бот, ESP32 проект, ESP32-CAM
Просмотров: 2869 | Загрузок: 585 | Рейтинг: 0.0/0
Ссылки:
Скачать файл
45.1 Kb
Скачать
Скачать файл
Неизвестно.
Скачать удаленно
Поделиться:
Всего комментариев: 0
avatar