Arduino Pro Mini, Bluetooth, видео - возможно ли?
- Войдите на сайт для отправки комментариев
Вс, 12/04/2015 - 08:29
Всем привет!
Друзья, такой вопрос - подскажите, возможно ли сделать нормальный видеострим с Arduino Pro Mini через Bluetooth-модуль?
Наиболее оптимальное решение, которое нашел - это ArduCam с разрешением 320x240, но и там задержка передачи видео по полсекунды (формат изображения, размер изображения, вес изображения, задержка при стриме):
JPEG 320×240 3~6KByte 0.3~0.5s
А вот видео такого варианта с ArduCam: http://www.youtube.com/watch?v=gb5szs5-yMg
Причем, это с UNO, у нее и характеристики получше, там еще и какой-то модуль для обработки видео используется с дисплеем, а все равно видно, как "тормозит" картинка, 1-2 fps очень некомфортно для восприятия.
Вопросы:
1. Скажите, вообще реально сделать передачу потокового видео даже в слабом разрешении (например, 320х240) с 10-12 fps через Bluetooth?
2. Если можно, то возможно ли сделать это только с модулем самого CMOS-сенсора, без дополнительных модулей, удорожающих робота?
3. А если перевести видео в формат ASCII-графики? Может ли сам CMOS-модуль или Arduino Pro Mini работать как "конвертер" видеопотока с CMOS-сенсора, переводя картинку в набор ASCII-символов для передачи их через Bluetooth, т.е. виртуальный COM-порт?
Большое спасибо!
так может сразу матрицу взять 16Мегапикселей? и 4К видео с нее грабить? самой шустрой ардуиной среди ардуин, уной. что то мне говорит что вы вообще не представляете что к чему :)
так может сразу матрицу взять 16Мегапикселей? и 4К видео с нее грабить? самой шустрой ардуиной среди ардуин, уной. что то мне говорит что вы вообще не представляете что к чему :)
Не, лучше тогда 3D видео :)
Понимаю, что вопрос странный и Pro Mini очень слаба, но ведь как-то раньше работало аналоговое телевидение.
Может черно-белый вариант будет работать под заданные параметры (320x240 или поменьше/побольше, 10-12 fps)?
Если я правильно понимаю, нужно отталкиваться от пропускной способности Bluetooth-соединения?
То есть, если в скетче инициализируем Bluetooth-модуль и задаем скорость 115200 bps, это равно 9600 байт в секунду.
Для fps = 10 нужно 10 картинок поместить в эти 9600 байт.
То есть, размер файла одной картинки - не больше 960 байт (0.93 Килобайта), даже меньше, т.к. есть еще техническая информация.
Если изображение черное-белое с градиентами серого (256 оттенков), тогда 1 пиксель занимает 16 бит или 2 байта.
Значит, в 960 байт можно поместить, пусть 456 пикселей (берем 912 байт, т.к. нужно оставить еще и для технической информации).
Это примерно 32х14 пикселей.
Получается, что через Bluetooth с fps 10 можно транслировать только очень маленькое черно-белое изображение. Увеличивать изображение, уменьшая fps, смысла нет, т.к. с fps ниже 10 видео будет некомфортно смотреть, оно будет "зависать".
Вроде, правильно рассчитал данные?
Мсье знает толк в извращениях....сомневаюсь, что ардуина (про мини или любая на ATMega328) даже 1 кадр в секунду обработать сможет, а тут ещё и БТ с его мегаскоростями...может быть, на дуе что-то порядка 10 FPS получится, но это дуе.
+ если не ошибаюсь, у БТ скорость падает прямо пропорционально расстоянию до ведущего/ведомого. И радиус действия не впечатляет...Ставьте малинку, и без излишних костылей стримьте видео по WiFi .
Но и по WiFi максимум 15-20 ФПС будет, особенно если с вебки. Пршу прощения за мультипост
Yarik.Yar, спасибо за подробный ответ!
Я бы рад взять что-то более мощное, но в роботе места для электроники всего 60х60х50мм. Туда только Nano или Pro Mini с несколькими модулями влезет и все. И энергопотребление тоже важно.
А что думаете, если сделать на роутере с чипом AR9331 на OpenWRT?
С роутерами опыта нет, но где-то читал, что можно сделать обработку видео прям на этом чипе. И по размерам такой микрокомпьютер небольшой.
Спасибо!
С роутером не подскажу, пока что использую только по прямому назначению) Кстати, габариты Raspberry Pi A+ 65х56х12 мм. Потребление у неё маленькое, но в цифрах не подскажу.
Есть ещё MR3020, плата 65x65. Кроме OpenWRT есть ещё CyberWRT, для тех кто не хочет возится с
коммандной строкой. У меня в разрешении 640x480 показывает до 30 fps. И у него есть WiFi.
Алекс, спасибо!
Вот он, красавец:
Но у AR9331 в виде Internet of Things модуля есть GPIO-пины для подключения периферии робота:
Там еще будет 2 реле (DC-моторы) и USB-видеокамера, стрим с которой AR9331 энкодит и по WiFi отправляет в локалку. Даташит на такой микрокомпьютер.
Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?
Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?
У MR3020 и того меньше 32 и справляется. И ещё, к нему можно через сериал порт
подключить ардуину и на ней реализовать управление двигателями, реле и т.д..
alex_r61, спасибо!
Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?
У китайцев есть Cubieboard A20 на двухъядерном ARM Cortex-A7! Мощнее вряд ли что-то найдете (имею в виду за адекватную цену)!