Камера видеонаблюдения на ESP32-CAM своими руками


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

Камера видеонаблюдения на ESP32-CAM своими руками

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

  1. Модуль ESP32-CAM (купить на AliExpress).
  2. Плата адаптера FTDI (FTDI breakout Board) (купить на AliExpress).
  3. Некоторые детали, вырезанные из акрила.
  4. Соединительные провода.
  5. Micro SD-карта.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Модуль ESP32-CAM

Модуль ESP32-CAM — это мощный и универсальный микроконтроллер, разработанный компанией Espressif Systems, известный своей двухъядерной обработкой, встроенными возможностями Wi-Fi и Bluetooth , а также богатым набором контактов GPIO, что делает его предпочтительным выбором для широкого спектра задач и IoT-приложений. Его двухъядерная архитектура позволяет одновременно выполнять задачи, обеспечивая эффективную обработку сложных операций.

Внешний вид модуля ESP32-CAM

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

Распиновка модуля ESP32-CAM

Модуль ESP32 CAM обычно имеет распиновку, которая включает в себя множество контактов GPIO для универсального подключения. Его типовая распиновка показана на следующем рисунке.

Распиновка модуля ESP32-CAM

Обычно данный модуль содержит контакты питания и заземления, контакт GPIO для камеры, слот SD-карты для расширения памяти, контакты UART для последовательной связи и контакты GPIO общего назначения, которые можно использовать для различных целей, таких как связь I2C или SPI, цифрового ввода/вывода или для взаимодействия с датчиками и исполнительными устройствами. Кроме того, модуль часто включает контакты для включения флэш-памяти, управления камерой и облегчения режимов программирования, таких как загрузка и сброс.

Распиновка модуля FTDI

Модуль FTDI также известен как модуль Future Technology Devices International. Его внешний вид и распиновка показаны на следующем рисунке.

Внешний вид и распиновка модуля FTDI

Он часто используется в качестве переходника между USB и последовательным интерфейсом и обычно имеет распиновку, которая включает в себя:

  • RXD (получение данных): здесь чип FTDI принимает данные от внешнего устройства.
  • TXD (передача данных): данные, которые должны быть переданы с чипа FTDI на внешнее устройство, передаются через этот вывод.
  • CTS (готовность к отправке): этот вывод также связан с аппаратным управлением потоком данных и указывает микросхеме FTDI, что внешнее устройство готово к приему данных.
  • DTR (готовность терминала данных): этот контакт часто используется для сброса или управления внешним устройством.
  • 5 В или 3,3 В: в зависимости от модуля он обеспечивает выходную мощность 5 В или 3,3 В.
  • GND (земля): контакт заземления обеспечивает опорное напряжение для модуля.

Пошаговое руководство по сборке камеры видеонаблюдения на ESP32-CAM своими руками

а) Настройка среды разработки:

  • Установите Arduino IDE.
  • Добавьте плату ESP32 в Arduino IDE. Скопируйте следующую ссылку «https://espressif.github.io/arduino-esp32/package_esp32_index.json» и вставьте ее в новую строку в меню File > preferences > additional boards manager.

Установка модуля ESP32-CAM в Arduino IDE

  • Установите необходимые библиотеки для модуля камеры ESP32, выбрав tools>boards>manage libraries («Инструменты»> «Платы»> «Управление библиотеками») и набрав «esp32» в строке поиска, затем установите библиотеку с помощью expressif.

Установка библиотеки для работы с модулем ESP32

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

Подключение модуля FTDI к модулю ESP32-CAM достаточно простое и показано на следующем рисунке.

Схема подключения модуля FTDI к модулю ESP32-CAM

Подключите контакт Vcc модуля ESP32-CAM к выводу 5V FTDI. Подключите контакт GND модуля ESP32-CAM к контакту GND модуля FTDI. Подключите контакт RX ESP32-CAM к контакту TX модуля FTDI. Подключите контакт TX модуля ESP32-CAM к контакту RX FTDI. Подключите GPIO0 к GND, чтобы можно было загрузить код в ESP32.

в) Как запрограммировать ESP32 CAM с помощью Arduino IDE?

После установки платы ESP32 перейдите в tools> board> ESP32 Arduino («Инструменты»> «Плата»> «ESP32 Arduino») и выберите плату Ai thinker ESP32 Cam.

Выбор платы Ai thinker ESP32 Cam в Arduino IDE

После этого перейдите в Files> Examples> ESP32> Camera Web Server (Файлы> Примеры> ESP32> Веб-сервер камеры) и откройте код.

Вам нужно добавить // перед командой #define CAMERA_MODEL_ESP_EYE и удалить // перед #define CAMERA_MODEL_AI_THINKER. То есть помещаем в комментарии один тип модуля камеры и раскомментируем другой.

Код для взаимодействия с камерой

Затем замените строки «hotspot» и «hotspotpassword» на ssid и пароль точки доступа вашего телефона (или роутера) и загрузите код программы в модуль.

Изменение параметров доступа к сети Wi-Fi

г) Тестирование в браузере

Возьмите IP-адрес последовательного монитора и напишите его в своем мобильном браузере.
После этого нажмите кнопку start stream («Начать трансляцию»), и вы увидите трансляцию с камеры.

Копирование IP-адреса последовательного монитора

Запуск трансляции с камеры

д) Проектирование и сборка корпуса

Я хотел сделать дизайн максимально простым и легким. Поэтому я использовал простую диаграммную бумагу для основного корпуса камеры. Если вам нужен более прочный корпус вы также можете использовать трубу из ПВХ или корпус, напечатанный на 3D-принтере.

Бумага для корпуса камеры

Для передней и задней пластины я использовал простую форму, спроектировал ее, а затем вырезал ее лазером.

Форма для передней и задней пластины

После помещения модуля ESP32-CAM в корпус мы получили следующую конструкцию:

Камера видеонаблюдения на ESP32-CAM в собранном виде

Исходный код программы

Весь код программы и картинку схемы проекта вы также можете скачать по следующей ссылке.

Видео, демонстрирующее работу проекта

(Проголосуй первым!)
Загрузка...
156 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *