Arduino Pro Mini, Bluetooth, видео - возможно ли?

AlexSmirnoff
Offline
Зарегистрирован: 12.04.2015
Всем привет!
 
Друзья, такой вопрос - подскажите, возможно ли сделать нормальный видеострим с 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-порт?
 
Большое спасибо!
Puhlyaviy
Puhlyaviy аватар
Offline
Зарегистрирован: 22.05.2013

так может сразу матрицу взять 16Мегапикселей? и 4К видео с нее грабить? самой шустрой ардуиной среди ардуин, уной. что то мне говорит что вы вообще не представляете что к чему :)

AlexSmirnoff
Offline
Зарегистрирован: 12.04.2015

Puhlyaviy пишет:

так может сразу матрицу взять 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 видео будет некомфортно смотреть, оно будет "зависать".

Вроде, правильно рассчитал данные?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Мсье знает толк в извращениях....сомневаюсь, что ардуина (про мини или любая на ATMega328) даже 1 кадр в секунду обработать сможет, а тут ещё и БТ с его мегаскоростями...может быть, на дуе что-то порядка 10 FPS получится, но это дуе.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

+ если не ошибаюсь, у БТ скорость падает прямо пропорционально расстоянию до ведущего/ведомого. И радиус действия не впечатляет...Ставьте малинку, и без излишних костылей стримьте видео по WiFi .

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

Но и по WiFi максимум 15-20 ФПС будет, особенно если с вебки. Пршу прощения за мультипост

 

 

AlexSmirnoff
Offline
Зарегистрирован: 12.04.2015

Yarik.Yar, спасибо за подробный ответ!

Я бы рад взять что-то более мощное, но в роботе места  для электроники всего 60х60х50мм. Туда только Nano или Pro Mini с несколькими модулями влезет и все. И энергопотребление тоже важно.

 

А что думаете, если сделать на роутере с чипом AR9331 на OpenWRT?

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

Спасибо!

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

 

С роутером не подскажу, пока что использую только по прямому назначению) Кстати, габариты Raspberry Pi A+ 65х56х12 мм. Потребление у неё маленькое, но в цифрах не подскажу.

 

 

alex_r61
Offline
Зарегистрирован: 20.06.2012

Есть ещё MR3020, плата 65x65. Кроме OpenWRT  есть ещё CyberWRT,  для тех кто не хочет возится с

коммандной строкой. У меня в разрешении 640x480 показывает  до 30 fps. И у него есть WiFi.

AlexSmirnoff
Offline
Зарегистрирован: 12.04.2015

Алекс, спасибо!

Вот он, красавец:

 

Но у AR9331 в виде Internet of Things модуля есть GPIO-пины для подключения периферии робота:

Там еще будет 2 реле (DC-моторы) и USB-видеокамера, стрим с которой AR9331 энкодит и по WiFi отправляет в локалку. Даташит на такой микрокомпьютер.

Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?

alex_r61
Offline
Зарегистрирован: 20.06.2012

AlexSmirnoff пишет:

Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?

У MR3020 и того меньше 32 и справляется. И ещё, к нему можно через сериал порт

подключить ардуину и на ней реализовать управление двигателями, реле и т.д..

AlexSmirnoff
Offline
Зарегистрирован: 12.04.2015

alex_r61, спасибо!

prosto_andriy
Offline
Зарегистрирован: 09.12.2012

AlexSmirnoff пишет:

Только, блин, есть сомнения, сможет ли 400-мегагерцевый AR9331 с 64 мегабайтами памяти справиться с видеопотоком?

У китайцев есть Cubieboard A20 на двухъядерном ARM Cortex-A7! Мощнее вряд ли что-то найдете (имею в виду за адекватную цену)!