ESP32-cam представляет собой плату на базе микроконтроллера ESP32 которая снабжена 2-х мегапиксельной камерой OV2640. На основе этой платы можно создать IP-камеру для видеонаблюдения. Плата на ESP32 достаточно мощная чтобы передавать потоковое видео. Камера с микроконтроллером ESP32 будет работать в качестве веб-сервера для потокового видео, к которому можно будет обратиться через веб страницу.
Характеристики ESP32-CAM:
Беспроводной модуль — ESP32-S WiFi 802.11 b/g/n + модуль Bluetooth
Внешнее хранилище — слот для карт micro- SD ёмкостью до 4 ГБ
Поддержка камер OV2640
Формат изображения — JPEG (только OV2640), BMP, оттенки серого
Светодиодная вспышка
Контакты – 16 с интерфейсами UART, SPI, I2C, PWM
Напряжение питания — 5 В
Потребляемая мощность:
- при выключенной вспышке — 180 мА
- при включенной вспышке — 310 мА
Для использования Arduino IDE для программирования платы ESP32-CAM, нужно выбрать в Arduino IDE пункт меню Файл > Настройки и добавить поддержку платы ESP32 как показано на скриншоте:
https://dl.espressif.com/dl/package_esp32_index.json
После нажмите Инструменты > Плата > Менеджер плат и установите плату показанную на скриншоте:
esp32 by Espressif Systems
Далее в меню Инструменты > Плата, выберите свою плату AI Thinker ESP32-CAM
Для программирования платы ESP32-CAM Вам понадобится не дорогой TTL программатор:
Соберите схему для программирования платы ESP32-CAM при помощи TTL программатора
Далее выберите в стандартных примерах Файл -> Примеры -> ESP32 -> Сamera -> CameraWebServer
И последний пункт перед прошивкой это немного поправить скетч. Обратите внимание на самое начало скетча:
#define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE //#define CAMERA_MODEL_AI_THINKER #include "camera_pins.h" const char* ssid = "*********"; const char* password = "*********";
Укажите имя сети и пароль, закомментируйте плату CAMERA_MODEL_WROVER_KIT и раскоментируйте CAMERA_MODEL_AI_THINKER.
//#define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER #include "camera_pins.h" const char* ssid = "ИМЯ_СЕТИ"; const char* password = "ПАРОЛЬ_СЕТИ";
После чего нажмите на кнопку RESET которая расположена на плате ESP32-CAM и нажмите на кнопку ЗАГРУЗКА в Arduino IDE.
Отключите питание от платы и удалите перемычку IO0 и GND. Подайте питание, откройте монитор порта и нажмите на кнопку RESET которая расположена на плате ESP32-CAM. После подключения в мониторе порта появится IP адрес, который необходимо ввести в адресную строку браузера.
В мониторе порта Вы получите информацию о количестве кадров в секунду и скорости обработки:
Установка в Linux Ubuntu при неудачной загрузке:
В терминале поочередно выполните следующие команды:
sudo apt-get install python-pip
sudo pip install —upgrade pyserial
Мой с виду такой же модуль не пожелал загружаться. Оказалось что вывод GND, используемый на схеме, не соединен у моего модуля с общей массой, экранами и другими выводами GND. И имеет маркировку GND/RF, скрытую частично под транзистором.Наверное это отдельная земля или экран для антенны. После подключение общего провода от программатора на другой GND все заработало.