Об этом проекте

ESP32-CAM_MJPEG2SD — это приложение для Arduino, предназначенное для плат с камерами ESP32 и ESP32-S3, использующих сенсоры OV2640, OV3660, OV5640 или PY260. Оно сохраняет JPEG-кадры в виде AVI-файлов на SD-карту, чтобы записи можно было воспроизводить с заданной частотой кадров в стандартных медиаплеерах. Установленный микрофон I2S или PDM может добавлять 16-кГц монофонический звук PCM, а при наличии поддерживаемых датчиков может записываться телеметрия. Запись может запускаться от детекции движения на камере, PIR-датчика, радара, акселерометра, другого триггерного вывода, ручных элементов управления в браузере, режима таймлапса или непрерывной сегментированной записи в стиле видеорегистратора. Веб-интерфейс поддерживает просмотр MJPEG в реальном времени, воспроизведение AVI, удаление папок и файлов, загрузку через браузер, очистку хранилища и выгрузку через FTP, HTTPS или WebDAV. Также обеспечивается RTSP-стриминг с видео, аудио и субтитрами, трансляция на удалённые NVR-системы, уведомления через Telegram или email, статус и управление по MQTT с интеграцией Home Assistant, синхронизация времени через NTP или браузер, mDNS, опциональная HTTP-аутентификация и HTTPS, OTA-обновления, а также журналы в RTC RAM, через websocket или на SD-карте. Поддержка периферии включает сервоприводы панорамирования/наклона, лампы и светодиодные ленты, управление H-мостом и шаговыми двигателями, джойстики, мониторинг напряжения батареи, датчики температуры, I2C-устройства, такие как BMP280, BME280, MPU6050, MPU9250, SSD1306 и LCD1602, а также вспомогательную плату, доступную по IP или UART, для оборудования управления транспортными средствами, сервоприводами и фотограмметрии. Сборки на ESP32-S3 могут использовать микрофон и динамик для функции интеркома, а Ethernet поддерживается на подходящих платах или с внешним контроллером W5500. Функция камерного хаба позволяет подключаться к другим устройствам, работающим под управлением той же прошивки. Установка выполняется с помощью Arduino IDE, ядра arduino-esp32 версии 3.1.1 или новее, PSRAM и настроек разделов, специфичных для платы. Модель камеры и опциональные функции выбираются в заголовочном файле, а необязательные функции включаются с помощью директив INCLUDE_*. При первой настройке Wi-Fi устройство создаёт точку доступа и веб-мастер для настройки сети; файлы веб-интерфейса можно загрузить на SD-карту и обновлять позже. В README отмечается, что ограничения памяти ESP32 не позволяют одновременно использовать все функции, и для более полной функциональности рекомендуются более новые платы с камерами ESP32-S3. Функции браузера в основном тестировались в Chrome.