Самодельная web камера базе stm32f4 и Ethernet шилда wiznet w5500. Я портировал мощный драйвер от esp32cam, что дает возможность понятной настройки размера изображения, его качества и других важных параметров. Драйвер должен обеспечить поддержку камер с более высоким разрешением на будущее, если это видео будет интересно. Весь ролик с моим изображением снят на эту камеру.
К сожалению, эта камера не так качественно снимает, как ее уменьшенная версия, которая установлена на esp32cam. Для дальнейших экспериментов и улучшения качества картинки я заказал уменьшенную версию камеры ov2640, которая подключается через адаптер.
На данный момент можно установить разрешения 320x240 и выше , но начиная с 800x600 придётся уменьшить FPS, либо изменить качество картинки, т.к. скорости передачи по SPI2 для 20 FPS уже будет не достаточно. Размер картинки 640 на 480 на выходе с камеры весит около 40кило в хорошем качестве, умножаем на 8 и на 20 кадров в секунду. Получается, чтобы это передать, нужна скорость за 6.4 Мбит. Ethernet shild поддерживает скорость обмена информацией по SPI до 80MHz, но гарантированная скорость передачи 33MHz. Заявленная скорость передачи данных 15 Мбит ,но это в идеальных условия. Можно обеспечить 2x кратное увеличение скорости передачи данных, если использовать SP1, т.к. частота тактирования у него в два раза выше чем у SPI2.Правда в моем случае такой вариант не прокатывает. Производительность одного DMA заметно падает, т.к. приходится обслуживать уже два высокоскоростных потока. Есть результаты тестов в которых указано, что если использовать другой шилд wiznet W5100, и периферию FSMS, c которой я еще не работал, то можно выжать за 9 мегабит на f103 камне. Правда такой модуль не сильно популярен и его ценник в несколько рас выше.
Для тех кто не смотрел мои предыдущие видео напоминаю, что камера настроена на вывод JPEG и подключена к специальной для этого периферии микроконтроллера DCMI.Ранее модуль камеры был модифицирован, для внешнего тактирования от микроконтроллера.
Чтобы обеспечить высокую скорость передачи по SPI пришлось задействовать DMA. Что куда подключается можно понять из файла отчета .Так же наблюдая в отладочный монитор можно менять настройки камеры с помощью установленных кнопок на плате, это было сделано в целях отладки. В идеале нужен веб интерфейс как у esp32cam. Для дальнейших экспериментов в этом направлении могут быть задействованы уже другие более мощные платы. F7 c оперативной на борту, F7 NUCLEO или двух ядерная H7. За платы NUCLEO отдельное спасибо подписчику.
Напишите, что вы об этом думаете. А также меня интересуют ваши эксперименты с Ethernet шилдами. Напишите, какой скорости передачи вам удалось добиться и на каком модуле. Так как основная проблема это передать поток jpeg файлов с камеры.
Полное видео можно увидеть по ссылке .
Обязательно поддержите лайком и оставьте любой комментарий, а лучше парочку так вы поможете развитию канала и возможно я продолжу этот проект.