ESP32 CAM не смог вовремя получить кадр

Думаю, что название говорит само за себя. Недавно я купил камеру ESP32 по довольно дешевой цене.

Он выглядит как AI Thinker, но не имеет метки на самом чипе. Тем не менее, чтобы настроить его перед моим вариантом использования, решил протестировать камеру. Я загрузил пример CameraWebServer и установил свой тип камеры на AI thinker.

Код успешно загружается и успешно запускается. Я могу открыть IP-адрес, и он покажет страницу. Однако всякий раз, когда я пытаюсь получить звук или запустить поток, он выдает следующую ошибку:

[E][camera.c:1344] esp_camera_fb_get(): Failed to get the frame on time!
Camera capture failed

Это раздражает, и это происходит как при мощности 5В, так и при мощности 3В. Камера действительно физически немного нагревается после загрузки сайта. Да, у меня есть камера OV 2460, подключенная к ESP.

Я ценю любой совет. Спасибо!

, 👍2

Обсуждение

Я только что купил 2 esp32-cam-mb, один работает нормально, другой выдает ошибку 1483, я заменил камеру на запасную, которая у меня была, и она работает. Тити, @Titi

esp_camera_fb_return (фб); добавьте это в свой код, @R242


5 ответов


Лучший ответ:

5

Решение, если это происходит на известной рабочей камере ESP-32 с PSRAM (т.е. Пример скетча с распознаванием лиц работает нормально).
Если вы используете что-либо, кроме PIX_FORMAT_JPEG, попробуйте уменьшить xclk_freq_hz.
В моем случае он внезапно отлично сработал с PIX_FORMAT_RGB888, FRAMESIZE_VGA и xclk_freq_hz = 5000000 (в 4 раза ниже).

( @Vraj P, это может не относиться непосредственно к тому, в чем вы обнаружили свою проблему, но этот пост видят многие, кто ищет эту проблему. Спасибо!).

,

Для меня сработало снижение частоты XCLK с 20 МГц до 10 МГц., @h2stein

Здесь он пытался скомпилировать с помощью esp-idf idf.py с помощью VSCode. Вместо этого скомпилируйте код esp32cam с помощью arduino-ide. Или используйте компилятор arduino-cli с VSCode для IntelliSense и лучшего редактирования. По какой-то причине код, скомпилированный с помощью idf, работает, но создает эту ошибку невозможности получить кадр вовремя, независимо от используемых настроек. xclk_freq_hz и др. др., @hellork


2

Я все пытался и пытался заставить камеру работать. Тем не менее, я решил уступить той части меня, которая думала, что это аппаратная ошибка. Я купил новый модуль OV2640, и он мгновенно заработал.

Я думаю, что усвоил свой урок, покупая дешевые компоненты. Я еще раз осмотрел старую. Оказалось, что там был неисправен ленточный кабель. В любом случае, я надеюсь, что вы не находитесь в такой ситуации. Похоже, единственное решение-приобрести новое оборудование, а текущая проблема заключается в неисправном оборудовании.

,

ЭТО не решение проблемы., @pikkuez


1

Одна из возможных причин указана здесь (прокрутите вниз, чтобы найти эту конкретную проблему). https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/

По-видимому, существует два набора камер ESP-32, один с PSRAM и один без него.

,

Это то, с чем я столкнулся, но, как я уже сказал, использование нового модуля камеры сработало мгновенно. Вероятно, это означало, что в моем случае это была простая аппаратная ошибка., @Vraj P


1

Послушайте, у меня только что была эта проблема в течение месяца, и если вы используете esp32 - ov2640, посмотрите ссылку на камеру, потому что у меня была камера TY 0V2640-2.0, и то, что я видел, похоже на дешевую копию обычной камеры, поэтому будьте осторожны. Мне пришлось купить новый, потому что все выглядело как сломанное изображение, хотя вся конфигурация работала нормально. Даже изменение PIX_FORMAT и xclk_freq_hz не сработало. Проблема была в камере.

,

1

Меня это тоже задело. Я обнаружил, что увеличение количества буферов кадров помогает.

camera_config_t config;
config.fb_count = 10;  // Или какое-то другое число
,