Top.Mail.Ru

Быстрый старт с ESP32 и камерой OV2640. Модуль ESP32-CAM.

Попался мне под руку модуль ESP32-CAM, включающий в себя, собственно, ESP32, а также камеру OV2640. Модуль является довольно-таки популярным решением, так что не обойдем стороной нюансы и вопросы, связанные с его использованием. А в этой статье организуем быстрый старт с ESP32-CAM. И, конечно, старт с этой платой нельзя считать полноценным без того, чтобы задействовать основные функции - а именно Wi-Fi подключение и получение видео-потока с камеры.

Начнем с более подробного рассмотрения:

Модуль ESP32-CAM.

На плате присутствуют:

  • Беспроводной модуль ESP32-S с интегрированным Wi-Fi и Bluetooth контроллерами.
  • Камера OV2640 - идет отдельно, но на плате предусмотрен разъем для ее подключения.
  • Разъем для карт памяти micro-SD.
  • Светодиод, который, если придерживаться логических соображений, видимо призван играть роль вспышки.

И, поскольку ESP32 не просто реализует связь по беспроводным интерфейсам, но и является полноценным контроллером сам по себе, то на плате его сигналы выведены на штыревые разъемы для дальнейшего использования. ESP32 имеет:

  • 32-разрядный процессор, с тактовой частотой 160 или 240 МГц.
  • Wi-Fi: 802.11 b / g / N
  • Bluetooth: v4.2 BR/EDR and BLE
  • Большое количество периферийных модулей, в том числе:
    • SPI x 4
    • ADC
    • DAC x 2
    • UART x 3
    • CAN
    • I2C x 2
  • 520 КБ SRAM

И это еще далеко не полный список. Прошивается ESP32 по UART, поэтому я взял для этих целей USB-UART переходник на базе PL2303 (не USB-RS232(!), у этого переходника соответствующие требуемым уровни - 3.3 В):

USB-UART на базе PL2303.

Для подключения используются выводы:

  • GPIO1 - U0TXD - подключается к Rx UART.
  • GPIO3 - U0RXD - подключается к Tx UART.

Кроме того, для программирования модуля необходимо подтянуть вывод GPIO0 к земле. Соответственно, по окончанию прошивки подтяжку надо убрать. И вот так в итоге выглядит полное подключение:

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

Причем при подключении питания через вход 3.3В наблюдалось большое количество разнообразных проблем - прошивалось через раз, работать модуль отказывался в принципе и т. д. И эти проблемы разом устранились при подаче 5В питания через соответствующий вход (как на схеме выше).

Но при этом напряжение логических уровней на входах - строго 3.3 В! Сигналы 5 В могут повредить контроллер.

На этом с физическим подключением заканчиваем.

Итак, для быстрого запуска ESP32-CAM используем существующие примеры и библиотеки для Arduino IDE. И, поскольку я лично Arduino IDE никогда не пользовался, да и не собирался, то переходим к Шагу 0.

Шаг 0.

Установка Arduino IDE. С этим все просто - скачиваем с официального сайта, устанавливаем и запускаем.

Шаг 1.

Теперь в свежеустановленную IDE необходимо интегрировать поддержку нашего модуля ESP32. Идем в настройки (File - Preferences) и в нижней части окна настроек в Additional Boards Manager URLs добавляем строку:

https://dl.espressif.com/dl/package_esp32_index.json

В итоге получаем следующее:

ESP32 в Arduino IDE.

Небольшое до