Esp32 cam wifi ov2640

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

Хочу представить вам проект функциональной прошивки веб-камеры на базе 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,

Источник

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

logo

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

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

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

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

Читайте также:  Fake wifi connection xposed

Установка

Исходный код требует установки 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 ../..

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

ESP32-CAM ov2640, потоковое видео в среде Arduino IDE.

.ESP32-CAM ov2640, потоковое видео в среде Arduino IDE.

Эта статья представляет собой краткое руководство по началу работы для платы ESP32-CAM. Я расскажу как настроить веб-сервер потокового видео менее, чем за 5 минут с помощью Arduino IDE.

Примечание: в этой статье я использую пример из библиотеки arduino-esp32, но не рассматриваю как его изменить.

ESP32-камера - это очень маленький модуль камеры с чипом ESP32-S

ESP32-камера — это очень маленький модуль камеры с чипом ESP32-S, который стоит около $ 10. Помимо камеры OV2640 и нескольких GPIO для подключения периферийных устройств, он имеет слот для карт microSD, который может быть полезен для хранения изображений, сделанных с помощью камеры, или хранения файлов.

Основные характеристики ESP32-CAM:

Беспроводной модуль — ESP32-S WiFi 802.11 b/g/n + модуль Bluetooth;

Внешнее хранилище — слот для карт micro- SD ёмкостью до 4 ГБ;

Поддержка камер OV2640 (продаётся с платой) или OV7670;

Формат изображения — JPEG (только OV2640), BMP, оттенки серого;

Контакты – 16 с интерфейсами UART, SPI, I2C, PWM

Потребляемая мощность:

  • при выключенной вспышке — 180 мА;
  • при включенной вспышке — 310 мА;
  • глубокий сон — 6 мА;
  • модем-сон — 20 мА;
  • лёгкий сон — 6,7 мА.

Размеры — 40,5 х 27 х 4,5 мм

Температурный диапазон:

Карты памяти на 4 Гб не было под рукой, поэтому проверить не получилось. Ставил на 16 Гб. Не сохраняет.

На следующем рисунке показаны выводы ESP32-CAM.

показаны выводы ESP32-CAM

Есть три вывода GND и два вывода для питания: 3.3 V, либо 5V.

GPIO 1 и GPIO 3 — это последовательные контакты. Вам нужны эти контакты, чтобы загрузить код на вашу плату. Кроме того, GPIO 0 играет важную роль, поскольку он определяет, находится ли ESP32 в режиме программирования или нет. Когда GPIO 0 подключен к GND, ESP32 находится в режиме программирования.

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

Приступим к установке, настройке необходимого ПО и прошивке ESP32. Разделим вс ё на несколько этапов:

1. Установка дополнения ESP32
В этом примере я использую Arduino IDE для программирования платы ESP32-CAM. Установите Arduino IDE, и настройте работу с ESP32. Если этого у вас не сделано, воспользуетесь следующей инструкцией:

2. Пример Кода CameraWebServer
В среде Arduino IDE выберите пример для работы с камерой для этого перейдите:

Файл > Примеры > ESP32 > Camera>CameraWebServer

Пример Кода CameraWebServer

Откроется пример скетча работы с камерой ESP32:

Откроется пример скетча работы с камерой ESP32:

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

Читайте также:  Сигнал вайфая от стен

После загрузки распакуйте папку и откройте файл скетча для esp32 cam ov2640: CameraWebServer.ino.

Перед загрузкой прошивки в модуль ESP32 CAM необходимо указать ваши данные для подключения к Wi-Fi сети.

const char* ssid = "Имя_точки_wi-fi"; const char* password = "пароль_от_wi-fi";

Затем убедитесь, что вы выбрали правильный модуль камеры. В данном случае используйте модель AI-THINKER Model. Для этого закомментируйте все другие модели и раскомментируйте указанную ниже:

 данном случае используйте модель AI-THINKER Model.

#define CAMERA_MODEL_AI_THINKER

Теперь код готов к загрузке на вашу ESP32.

3. Прошивка ESP32-CAM

Для прошивки я использую самый недорогой TTL программатор. И всё прошивается и работает отлично.

Подключаю всё вот по такой схеме:

Прошивка ESP32-CAM

Важно! GPIO 0 должен быть подключен к GND, чтобы вы смогли загрузить код.

Чтобы загрузить код, выполните следующие действия:

  • Перейдите в меню Инструменты>Плата и выберите модуль ESP32 Wrover
  • Перейдите в меню Инструменты >порт и выберите COM-порт, к которому подключен ESP32
  • В меню Инструменты >Partition Scheme , выберите “Huge APP (3MB No OTA)
  • Нажмите кнопку ESP32-CAM on-board RESET
  • Затем нажмите кнопку Загрузка, чтобы загрузить код

Чтобы загрузить код, выполните следующие действия:

Важно! Если вы не можете загрузить код, то еще раз проверьте, что GPIO 0 подключен к GND и, что вы выбрали правильные настройки в меню Инструменты. Вы также должны нажать кнопку сброса на борту, чтобы перезагрузить ESP32 в режиме программирования.

4. Получение IP-адреса и подключение к камере.

После загрузки кода отключите GPIO 0 от GND. Подключите питание на 5 В. На 3,3 В у меня камера не заработала.

Откройте последовательный монитор со скоростью передачи данных 115200. Нажмите кнопку ESP32-CAM on-board Reset.

IP-адрес ESP32 должен быть выведен в последовательном мониторе.

IP-адрес ESP32 должен быть выведен в последовательном мониторе.

Теперь вы можете получить доступ к серверу потоковой передачи камеры в локальной сети. Откройте браузер и введите IP-адрес ESP32-CAM . Нажмите кнопку Start Streaming, чтобы начать потоковую передачу видео.

Нажмите кнопку Start Streaming, чтобы начать потоковую передачу видео.

У вас так же есть возможность делать фотографии, нажав на кнопку Get Still. К сожалению, этот пример не сохраняет фотографии, но вы можете изменить его, чтобы использовать встроенную карту microSD для хранения полученных фотографий.

Есть еще несколько настроек камеры, с которыми вы можете поиграть, чтобы настроить параметры изображения.

Есть еще несколько настроек камеры, с которыми вы можете поиграть, чтобы настроить параметры изображения.

Если вы откроете монитор порта во время работы камеры, то вы получите подробную информацию о количестве кадров в секунду, о скорости обработки и пр.

Если вы откроете монитор порта во время работы камеры, то вы получите подробную информацию о количестве кадров в секунду

Чем выше качество потокового вещания, тем меньше кадров. Комфортно работает при разрешении 600х800.

Если вы откроете монитор порта во время работы камеры, то вы получите подробную информацию о количестве кадров в секунду

Можно реализовать распознавание лиц. Но, пока, в данном направлении я не экспериментировал. Как будут результаты, обязательно напишу статью, или сделаю проект.

Подписывайтесь на наш канал на Youtube и вступайте в группы в Вконтакте и Facebook.

Всем Пока-Пока. И до встречи в следующей статье.

Понравилась статья? Поделитесь ею с друзьями:

Источник

Оцените статью
Adblock
detector