Крутая Wi-Fi камера на основе ESP32 CAM
Проект функциональной прошивки веб-камеры  на базе ESP32-CAM с модулем OV2640 с использованием фреймворка ESP-IDF
Крутая Wi-Fi камера на основе ESP32 CAM
Версия для печати

Крутая Wi-Fi камера на основе ESP32 CAM

logo

Хочу представить вам проект функциональной прошивки веб-камеры  на базе ESP32-CAM с модулем OV2640 с использованием фреймворка ESP-IDF. Такие модули часто поставляются с дополнительными компонентами, такими как светодиодная "вспышка" высокой мощности, OLED-дисплей или детектор движения. Этот проект  включает поддержку дополнительных библиотек  для поддержки этих компонентов.

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

  • Улучшенный веб-интерфейс
  • Возможность изменять настройки Wi-Fi и сети из веб-интерфейса
  • Постоянное хранение настроек камеры и других настроек в NVS
  • Драйвер дисплея SSD1306 и код для вывода соответствующей информации о подключении Wi-Fi и частоте кадров
  • Драйвер светодиодной подсветки для управления интенсивностью светодиодной вспышки
  • Сервер mDNS для объявления услуг камеры в локальной сети
  • Встроенный клиент NTP и RTC для определения даты / времени

Ресурсы, доступные на ESP32 для поддержки камер, очень ограничены, и выжать максимум из OV2640 весьма затруднительно.

Установка

Исходный код требует установки ESP-IDF toolchain and development framework
В установке нет ничего сложного. Скачайте пакет по ссылке выше, запустите и следуйте указаниям мастера.

Для сборки проекта требуется ESP-IDF не ниже v4.0!

Крайне желательно чтобы в пути к программе не было русских букв. В моем случае пакет был установлен в C:\Espressif

После установки среды разработки обязательно зайдите в настройки переменных среды Windows (Панель управления\Система\Переменные среды) и проверьте, наличие этой переменной
IDF_TOOLS_PATH со значением C:\Espressif. Если она отсутствует, то создайте ее самостоятельно

переменные среды

После чего перезагрузите компьютер
Далее перейдите в проводнике в папку C:\Espressif , создайте в нем директорию myprojects и распакуйте в нее содержимое архива проекта. В итоге ваш проект должен располагаться по следующему пути C:\Espressif\myprojects\esp32-cam.
Далее из меню Пуск>Программы>ESP-IDF запустите ESP-IDF CMD и ESP-IDF PowerShell в зависимости от ваших предпочтений. Первый вариант открывает Консоль разработчика через Командную строку Windows,

cmd

Второй через Windows Power Shell.

powershell

В остальном разницы никакой. Переходим к настройке прошивки

Настройка прошивки

Для начала, перейдем в папку с исходниками прошивки, введя в консоли следующую команду

 

cd C:\Espressif\myprojects\esp32-cam

Для экономии места в памяти ESP32 выполним сжатие таблиц стилей, страниц html и javascript Веб-интерфейса прошивки, введя команды

cd main/www
./compress_pages.sh
cd ../..

Далее для настройки параметров прошивки введите следующую команду

idf.py menuconfig

Откроется редактор настроек прошивки.

mainmenu

Основные настройки прошивки

  • Выберите USB-порт для загрузки прошивки в разделе Serial Flasher Config -> Default serial port
  • Выберите, какую плату вы используете, в разделе Camera Web Server -> Camera Pins
    camerapins
  • Если на вашей плате установлена светодиодная подстветка, включите ее в разделе Camera Web Server -> LED Illuminator
  • Вы можете выбрать настройки Wi-Fi по умолчанию в разделе Camera Web Server -> Wifi Settings
    wifisettings
  • Если на вашей плате установлен OLED-дисплей на базе SSD1306, включите его в разделе Component Config -> SSD1306 Configuration и выберите контакты для SDA и SCL
    lcd
  • Чтобы использовать дополнительную внешнюю оперативную память SPI, которая может быть на вашей плате, включите ее с помощью Component Config -> ESP32 Specific -> Support for external, SPI-connected RAM
  • Чтобы включить наложение шрифтов, в разделе Font Configuration проверьте раздел Store Font Partition (используется примерно 240 КБ флэш-памяти)
  • Включите NTP и выберите NTP-сервер и часовой пояс по умолчанию в разделе NTP configuration

Когда настройки будут завершены, сохраните их и выйдите.

Компиляция и прошивка

При необходимости очистите каталог сборки с помощью 

 

idf.py fullclean

Скомпилируйте исходный код, выполнив

idf.py build

Прошейте двоичный файл в свой ESP32 с помощью

idf.py flash

Контролируйте процесс сборки, выполнив

idf.py monitor

Первый запуск

При первом запуске прошивки она попытается установить соединение wifi в следующем порядке:

  • Установка соединения, используя SSID и пароль, хранящиеся в энергонезависимом хранилище (nvs)
  • Установка соединения, используя SSID и пароль STA по умолчанию, предоставленные make menuconfig
  • После пяти неудачных попыток запуска в режиме станции (STA) она вернется в режим SoftAP и будет действовать как точка доступа Wi-Fi

Чтобы подключиться к точке доступа, введите в браузере 192.168.4.1. Имя пользователя и пароль вводить не нужно.

В веб-интерфейсе выберите SSID и пароль Wi-Fi и, при необходимости, укажите статический IP-адрес и другие сетевые настройки. Перезагрузите устройство, чтобы настройки вступили в силу.

Веб интерфейс камеры

Экран веб интерфейса камеры представлен на скриншоте ниже

Основные его возможности это настройка параметров захвата изображения, сетевого доступа, синхронизации времени и параметров аутентификации

Также есть возможность сохранить скриншот изображения на SD карты вставленную в модуль, а также запустить потоковую трансляцию видео

Дополнительные URL-адреса веб-камеры

Получить фото: http://IP/capture

Потоковая трансляция: http://IP:81/stream

Управление подсветкой: http://IP/control?var=led_intensity&val =[0...255]

Материал также доступен на моем канале: Яндекс Дзен и в группе ВК
Категория: ESP32 | Добавил: | Теги: WiFi камера, ESP32 проект, ESP32-CAM, ESP32
Просмотров: 2941 | Загрузок: 298 | Рейтинг: 0.0/0
Ссылки:
Скачать файл
444.6 Kb
Скачать
Скачать файл
533.9 kb
Скачать удаленно
Поделиться:
Всего комментариев: 0
avatar