Есть такая задача: соединить USB веб камеру и USB флешку чтобы сделать что-то вроде небольшого цифрового фотоаппарата. Вероятно, надо сделать небольшой контроллер и написать программу. На возможные вопросы сразу отвечу: веб камеры есть в виде брелков, т.е. легко сделать скрытую камеру. Одним словом, если у кого есть время и понимание того, как это можно сделать, напишите мне, пожалуйста.
[Ответ]
XPEH_BAM 22:36 21.08.2007
Beard, хммм.... есть спецификация протокола USB Storage Device и протокола камеры, реализованных поверх USB? Тогда браться вполне можно.
[Ответ]
shuher 22:40 21.08.2007
XPEH_BAM, я тебе дам все эти спецификации, только ИМХО ты опупеешь писать USB Host с поддержкой веб-камеры и mass storage. В одно лицо точно. Beard, Дешевле купить цифромыльницу. Причем цена ниже на порядок будет, потому как очень много непростого кода написать нужно. Очень.
[Ответ]
XPEH_BAM 22:55 21.08.2007
shuher, это неспортивно да и приходится мне иногда с такими извратами сталкиваться - пугает, но не так страшно.
[Ответ]
Beard 06:46 23.08.2007
Спасибо за советы, я понимаю, что готовые решения всегда лучше. Неплохо бы подошел такой цифровой фотоаппарат, как Aipitek (по размеру - брелок.) Но у него существенный недостаток: вместо флэш памяти они используют ОЗУ и кадров он снимает только 30. Думаю, может быть использовать КПК плюс вебкамеру? Пошел смотреть кпк...
[Ответ]
doXtor 00:16 26.08.2007
Грубо говоря USB девайсы работают по принципу мастер-слейв. Для обмена между девайсами необходимо наличие хост контроллера. Если скрутить два слейва (камеру и флешку) - ничего не будет. Обмен инициируется только со стороны контроллера. Это если просто и общими словами. Если есть хост, далее процесс упирается в тип передачи и тип устройства. Для флешки это BULK, для камеры скорее всего (забыл как называется) скоростной с потерей данных (для вэб камеры скорее всего тоже BULK). Далее - протокол обмена верхнего уровня. Не все устройства придерживаются одного стандарта. Под многи камеры нужны драйвера, из чего для Вас делается вывод, что верхним протоколом с вами производитель делиться не будет => управлять камерой вы не сможете. С флешкой проще.... В общем я тут фигни понаписал наночь глядя..... кароч если мат часть изучить - кури агурова. у него более-менее грамотно написано, хоть и не везде понятно [Ответ]
Bavepa 01:09 29.08.2007
два пальца об аасфальт:
USB веб камера -ноутбук-USB флешка
[Ответ]
shuher 15:48 29.08.2007
КПК с камерой на борту - дешевле.
Или КПК с USB Host и требуемая камера.
[Ответ]
xlr8 23:17 16.05.2008
Да ну нах.. Пади чтоб эти снимки потом компом виделись, надо еще и фат 32 почитать и тд и тп. Забейте на эту дрянь.
[Ответ]
$erega2net 08:40 17.05.2008
ога. мысль плохая. вообще, када усб стандарт разрабатывали они на корню практически похерели возможность писать код под него самому... так и валяется 4*TUSB3200... контроллер usb-audio, где протокол надо самому с нуля писать... сволчи!
[Ответ]
XPEH_BAM 13:43 17.05.2008
xlr8, некропостер блин
Уже обсудили и сделали выводы.
[Ответ]
3JIbIDEHb 14:11 17.05.2008
Век Winмодемов, Winпринтеров, WinUSBкамер, безалкогольного пива и резиновых женщин... ппцнах...
[Ответ]
Leo 15:02 17.05.2008
$erega2net, наоборот тебе дали универсальный протокол низкого уровня, под который ты сам пишешь (или берёшь готовый) протокол высокого уровня. Причём протокол такой, какой именно тебе нужен, а не обвешанный кучей ненужного.
Очень удобно, особенно для подключения микроконтроллеров с ограниченным объёмом памяти под прошивку.
Фактически USB с точки зрения программиста можно рассматривать как очень быстрый COM-порт. [Ответ]
Leo 15:04 17.05.2008
Сообщение от 3JIbIDEHb:
Век Winмодемов, Winпринтеров, WinUSBкамер, безалкогольного пива и резиновых женщин... ппцнах...
А почему только Win??? Что тебе самому мешает написать свою операционку и под неё написать драйвера для нужных устройств? Если не можешь, то сиди и не жужжи, и пользуйся тем, что дают.
[Ответ]
$erega2net 15:26 17.05.2008
Leo ды написать то понятно что можно че угодно и куда угодно. тока скока гемору от етого-ппц...
[Ответ]
Leo 16:12 17.05.2008
$erega2net, от этого в результате гемору на порядок меньше, чем если бы там был какой-то жёсткий протокол верхнего уровня, которыйц тебе лично хоть в чём-то не подошёл бы под решение именно твоей задачи.
Просто, видимо, ты не особо ещё свои устройства с компьютерми связывал...
[Ответ]
Сообщение от Leo:
А почему только Win??? Что тебе самому мешает написать свою операционку и под неё написать драйвера для нужных устройств? Если не можешь, то сиди и не жужжи, и пользуйся тем, что дают.
А потому, что зачастую спецификации под такие вот софт устройства так и остаются собственностью компании, выпускающей их. Был же скандал, что в тендере на гос поставки орг техники (очевидно те же самые принтеры) бороднули несколько крупных контор, только по тому, что те не дали дрова в открытом виде. Получи зависимость от производителя...
[Ответ]
Leo 17:49 17.05.2008
Сообщение от 3JIbIDEHb:
Получи зависимость от производителя...
А почему они должны выкладывать в открытый доступ свои интеллектуальную собственость?
Ты же не выступаешь, почему исходники Windows не выложены. Почему по твоему должны исходники драйверов выкладываться? Особенно если учесть, что 70% нормальной работы продукта - это программное обеспечение и ноу-хау в нём.
[Ответ]
3JIbIDEHb 12:55 18.05.2008
Leo, Вообщето я говорил не про исходники драйыеров, а про спецификации и протоколы общения этих софт устройств. В итоге не то что свой драйвер написать нельзя, но и попадаешь в зависимость от производителя оборудования. Захочет и прекратит поддержку и выпуск новых драйверов...
[Ответ]
Leo 13:19 18.05.2008
3JIbIDEHb, протокол обмена - эти и есть ноу-хау производителя. Чем больше оптимизирован под железку протокол, тем быстрее она работает по отношению к конкурентам. Так понятней?
Сообщение от 3JIbIDEHb:
Захочет и прекратит поддержку и выпуск новых драйверов...
Захоти и сделай что-то своё за бесплатно и выложи всем на обозрение. Слабо?
И запомни главное - никто тебе ничем не обязан. Монополии тут нет. Стандарт USB полностью открытый, железа под него выпускают все кому не лень.
[Ответ]
3JIbIDEHb 15:38 18.05.2008
Leo, Читая ваши посты создаётся впечатление, что я общаюсь счеловеком неспособным прочитать 3 строчки в чужом сообщении. Честное слово "Смотрю в книгу, вижу фигу".
Сообщение от Leo:
Захоти и сделай что-то своё за бесплатно и выложи всем на обозрение. Слабо?
Неслабо. Будет описание интерфейса и протокол общения, то можно и написать и драйвер и, что угодно. Благо знакомые программисты есть.
В двух предыдущих постах я писал, что софт модемы и принтеры это только оконечные исполнительные устройства. Они не могут сами ни чего делать. Вся работа устройства реализована на программном уровне, средствами драйвера. И если производитель не дает информации по протоколам (какую команду по какому адресу послать, чтобы устройство сделало необходимое действие). Даже Интел и АМД дают описания своих команд (MMX, SSE, 3DNow) программистам с целью использования потенциала процессоров на максимум. Представьте, что интел взял и не предоставилбы ни кому, что такое SSE2, SSE3, MMX. Взяли бы маркетологи и сказали: Пользуйтесь только нашим DVD плеером, только нашим архиватором, только нашим кривым видеокодеком, потому что только они поддерживают самые современные способы процессорной обработки.
Leo, Вы хоть представляете, чем отличается "Soft" модем, от "Аппаратного"?
[Ответ]
Leo 16:58 18.05.2008
Сообщение от 3JIbIDEHb:
Читая ваши посты создаётся впечатление, что я общаюсь счеловеком неспособным прочитать 3 строчки в чужом сообщении. Честное слово "Смотрю в книгу, вижу фигу".
Скажи честно, ты дурак?
Какой тебе, нафиг, протокол? Ты САМ железку сделай и протокол САМ напиши, трепач!!!
Сразу говорю (чтобы не возмущался), у меня такой опыт есть. Видимо тебе только языком чесать неслабо.
Если мне нужен будет мой собственный WinModem (или LinuxModem) я сделаю его сам с нуля. А такие как ты будут годами на форумах трепаться про недоступность протоколов к кусочку стеклотекстолита с детальками.
Какие, вилите-ли производители дураки, что не хотят бесплатно делиться тем, на создание чего годы времени и кучу денег и сил потратили.