|
WorkingBasis
Объясните мне в двух словахЛайтпак состоит из мастер-платы; дополнительных светодиодов; прошивки, которая управляет аппаратной частью и программы захвата картинки, которая устанавливается на ПК. Программа вычисляет средний цвет выводимой на монитор картинки для каждой области захвата, которая соответствует одному светодиоду. После этого данные о цвете отправляются через USB на мастер-плату, где прошивка, обработав их, заставляет определённый светодиод светиться определённым светом. Этот процесс повторяется несколько десятков раз в секунду. А теперь подробнееТехнически Лайтпак можно называть программно-аппаратным комплексом, если бы это не звучало так смешно применительно к системе подсветки монитора.) В нём есть всё -- управляющий софт и драйвер со стороны ПК. А так же микроконтроллер и прошивка со стороны самого устройства. Разберём принцип работы “сверху-вниз”. СофтПрограмма доступна в разделе для скачивания. Она устанавливается на ПК и решает две задачи: Обеспечивает захват картинки и предоставляет пользователю доступ к настройкам устройства. Основная цель процедуры захвата -- сделать “снимок” захватываемой области, вычислить его средний цвет и как можно быстрее отправить информацию о нём на устройство. Количество захватываемых областей равно количеству светодиодов. Так что софт должен проделывать эту процедуру 10 раз за 1 такт обновления. Количество тактов обновления зависит от настроек, но в среднем их должно быть не менее 15-20 в секунду. На вкладке “Режимы” окна настроек программы этот индикатор называется “Частота захвата”. ![]() Перемещая области захвата и изменяя их размер можно добиться совершенно разных эффектов. Вы можете сделать области пересекающимися -- тогда цветовая разница между соседними светодиодами будет не так заметна. Можете сделать их очень узкими -- возрастёт производительность. Если хотите вы даже можете сделать семафор -- настроить область захвата так, что при получении новых сообщений в аське стена за вашим монитором будет мигать так же, как цветок в трее. Но для этих целей, разумеется, лучше использовать наш API. Последнее, что вам нужно знать о софте Лайтпака -- он написан с использованием фреймворка Qt. Это значит, что код приложения кроссплатформенный и будет работать в самых популярных ОС таких как Windows, Linux и OS X.
Итак, программа сделала снимок, вычислила средний цвет и теперь должна отправить его устройству. ДрайверНе станем заострять внимание на том, как обеспечивается транспорт данных через USB между программой и устройством. В этом процессе участвует стандартный драйвер HID, который есть в каждой ОС. Драйвер будет установлен автоматически, как только вы впервые подключите Лайтпак к вашему компьютеру. Система определит его, как устройство HID (Human Interface Device). При помощи драйвера данные от программы захвата будут отправлены в устройство. ПрошивкаПрошивка -- это микропрограмма, которая регламентирует работу микроконтроллера -- основу логики Лайтпака. Именно прошивка принимает данные из ПК и на их основе генерирует сигнал ШИМ (Широтно-Импульсная Модуляция), который отправляется к аппаратным драйверам светодиодов. Свежая версия доступна в разделе для скачивания. Прошивка, как и софт, может быть улучшена и обновлена. Для того, чтобы поместить прошивку внутрь микроконтроллера в большинстве случаев используется дополнительное устройство -- программатор. Но не в нашем. Прошить Лайтпак можно прямо через USB используя утилиту Flip. О том, как это сделать вы можете прочесть в заметке из нашего блога. Прошивка сгенерировала нам сигнал ШИМ. Что происходит с ним дальше? Мастер-платаПомимо микроконтроллера серии AT90USB от компании Atmel, на мастер-плате есть ещё две крупные микросхемы -- это драйверы светодиодов. Они отвечают за декодирование сигналов ШИМ и подачу соответствующего тока на светодиоды. На мастер-плате есть miniUSB-гнездо, присутствует электрическая обвязка для всех компонентов и кнопка, которая необходима для переключения микроконтроллера в режим прошивки. Если вы хотите собрать Лайтпак самостоятельно, не забудьте прочесть наши рекомендации. СветодиодыЕсли вы задавались вопросом почему в Лайтпаке светодиоды разделены с мастер-платой, то вот вам ответ: Благодаря модульному подходу мы добились большой гибкости в вариантах установки устройства. Вы можете установить Лайтпак на нетбук и тогда вам достаточно будет 4х, или даже 3х светодиодов. Вы можете установить Лайтпак на телевизор с диагональю в 40 дюймов разместив по 5 светодиодов на его боковых гранях. Решать что и как подсвечивать -- вам. Используемые нами светодиоды состоят из 3х полупроводников, каждый из которых даёт свой цвет: красный, зелёный и синий. Изменяя силу тока мы регулируем яркость. Включая компоненты в разных последовательностях получаем широкий спектр цветов. Например, смешав все три цвета, получим белое свечение и т.д. Планарные RGB-светодиоды, в отличие от своих выводных собратьев дают большое, равномерное пятно и достаточную яркость. Именно благодаря запасу яркости появляется возможность работать на сравнительно больших расстояниях от стены. При этом свет от соседних пятен смешивается, что даёт ещё более плавный эффект при смене цветов. Ограничения и будущие доработкиРазумеется, не смотря на постоянные доработки и наше желание довести всё до ума, Лайтпак не идеален. Если вы вдруг решили собрать или купить устройство, то с этим разделом нужно ознакомиться в первую очередь. Полный список задач для реализации доступен у нас на трекере. Вы даже можете оформить собственный тикет -- мы его обязательно рассмотрим. Интерфейс Aero в Windows 7При включенном интерфейсе Aero в Windows 7 скорость захвата снижается в 3 раза в сравнении с Basic-интерфейсом. Захват и обработка происходят сравнительно медленно. На мощных, современных машинах эффект выражен гораздо слабее, но тем не менее он проявляется. Медлительность DWM (Aero) раздражает даже саму Microsoft. Для своей новой операционки они уже анонсировали некий вариант переходного интерфейса, с которым будет проще взаимодействовать разработчикам и который не будет так сильно давить на ЦП, как Aero. Кстати, для владельцев видеокарточек ATI есть ещё один неприятный момент работы с Aero. Но в этом случае мы уже точно бессильны. ПроизводительностьСудя по данным из диспетчера задач Windows, программа захвата легко может съедать до 20% ресурсов центрального процессора и занимать до 20 Мб оперативной памяти. Разумеется, эти значения варьируются в зависимости от настроек захвата, размеров областей, ОС и конечно же мощности вашей машины (в моём случае 1-2% при 35 FPS захвата). Тем не менее, нам кажется, что мы способны увеличить производительность изменив алгоритмы захвата и расчёта цветов. Мы постоянно над этим работаем. Поддержка игр на OpenGLБольшинство современных игр выводят графику на монитор используя, ставшие стандартом API DirectX, или OpenGL. Начиная с версии 4.1.0, программа может осуществлять захват цветов из большинства игр для Windows (как выяснилось, это сильно зависит от того какую версию DX поддерживает ваша видеокарта -- скоро пофиксим этот досадный баг). Тем не менее, захват из игр, которые используют OpenGL-рендер (например, Quake 3, или Revenge of the Titans) до сих пор не возможен. Работы в этом направлении так же ведутся. Поддержка игр на DirectX10-11Отсутствие захвата в полноэкранных играх использующих в качестве API DX10-11 оказалось для нас такой же новостью, как и для наших пользователей (в DX9 и ранее захват работает). На сегодняшний день подробнее понять проблему помогут некоторые тикеты из нашего багтрекера. Так же на сегодняшний день у нас есть прототип кода который захватывает картинку на этих API и мы занимаемся его внедрением в софт. Задача решена на 80% и скоро мы избавимся от этого ограничения. |





Доброе время! Модульное расшиениие количества диодов и поддержка unix систем планируется для Лайтпак'а?
К Лайтпаку можно подключить от 1 до 8 светодиодов. Дальше нужно изменять плату. Код кроссплатформенный. В Linux работает уже сейчас, причём даже лучше, чем в Win.
Спасибо! Очень интересно :)
неплохобы добавить в настройки программы выбор монитора, был бы благодарен, а то у мну их 2, точнее телик для фильмов и моник для работы, инета и прочего
Фич-реквест принят: http://code.google.com/p/lightpack/issues/detail?id=33
молодцы, ребята! ждём доработки под 7ку и DX/GL P.S. а не маловато ли будет 8 светодиодов для телека, для моника то хватит точно.
Не знаю, уместно ли тут разворачивать обсуждение как на форуме, если что коммент можно прибить. Я тоже очень удивлен, что светодиодов задумано всего 8. Наверное, пока не решены проблемы с производительностью, увеличивать их смысла нет, но хотелось бы их увидеть на порядок больше. Это наверное повлечет смену архитектуры, и светодиодные модули придется подключать какой-нибудь шиной. А вообще ребята молодцы, давно не было желания включать паяльник и греть утюг, а тот оно проснулось! Спасибо вам!
Для количества светодиодов есть два нюанса:
1. Подсветка верхних и нижних граней -- избыточна, она сильно отвлекает. В оригинальной подсветке Philips изначально подсвечивались только боковые грани для подчёркивания динамики именно на широкоформатных теликах. Фактически, это была попытка сделать широкие тиливизоры ещё более широкими. К чему в итоге Philips итак пришла. Так что при подсветки только по бокам, я уверен, что 8 светодиодов будет достаточно для большинства диагоналей.
2. Запаса яркости светодиодов вполне достаточно чтобы отодвинуть телевизор от стены подальше. Чем больше расстояние от стены, тем больше пятно, которое оставляют на ней светодиоды. В идеале эти пятна должны перекрывать друг друга для достижения более плавных эффектов. В противном случае между пятнами будут простые провалы.
Возможно, мы в итоге увеличим количество светодиодов (за счёт дополнительной платы с драйверами, или ещё как-то), но вы правы -- для этого понадобится вначале увеличить производительность программы захвата.
Не забывайте что 8 RGB светодиодов , устройство видит и работает с 24 на самом деле. Давно хотел собрать себе лампу настроения (mood lamp ). Но не мог выбрать проэкт для повторения. Больше всего понравился Ваш. Надо добавить эту функцию в софт. Смена цвета на желаемый пользователем, переливание цветов и прочего. Вобщем работа устройства не только с видео. Предусмотреть возможность подключения светодиодов более мощных чем сейчас 100ма.
я так понял, средний цвет вычисляется по такой схеме: 1. захват области 2. масштабирование этой области до 1x1 px 3. берете цвет этого пикселя за средний ?? Может было бы быстрей подсчитать самим? Например складывать цвета не каждого пикселя, а каждого второго(3го,4го). Затем поделить на их кол-во. И еще замутить коэффициент(или приоритет), чем дальше от края пиксель тем меньше у него приоритет, тем самым меньше влияет на вычисление среднего цвета. =) Хочу взять ваш проект, и доработать его(переписать драйвер для Win, м.б. схемотехнику переделать), если вы позволите. =)
По поводу алгоритма вы всё правильно поняли. Подробнее вам ответит brunql. Он использовал разные варианты (хотя, разумеется, не все возможные) и такое масштабирование показало себя лучше других. Как мы уже говорили, работы над софтом и даже прошивкой ещё очень много и мы открыты для любых идей. Нам нужны заинтересованные головы и руки. Поэтому мне не понятно почему вы хотите "взять наш проект и доработать" (хотя конечно же я вам не запрещаю) -- работайте вместе с нами. Установите себе TortoiseHG (или другой клиент в зависимости от вашей операционки), заведите бранч и экспериментируйте в нём. Мы будем вам помогать по мере сил. То же касается и железа. Таким образом коротенькими шажочками и "всем миром" мы приведём Лайтпак к чему-то большему, чем он является сейчас. Это лучше, чем сидеть по углам и каждому там чего-то мастерить в тайне от остальных.
Весь смысл того, что вы видите на этом хостинге, вся суть опубликованных тут под свободными лицензиями исходников, разводок и инструкций сводится к тому, чтобы объединить всех заинтересованных спецов в работе над этим проектом.
Я буду рад видеть каждого разработчика, электронщика, писателя, хакера и просто гика с их идеями и предложениями помощи у себя в почте atarity@gmail.com . Так же, как и brunql будет рад видеть вас в mikeshatohin@gmail.com.
Хотите сделать Лайтпак лучше?! -- Делайте! А мы вам поможем.
Подскажите, пожалуйста, насчет OS X. ''С релизом 5.5 мы ускорили захват до уровня остальных ОС, но программа внутри Lion работает нестабильно.'' Lion — это последняя версия OS X и не у всех она ещё стоит. А как обстоят дела со Leopard и Snow Leopard?
в 10,6 и 10,5 должно работать хорошо, но там другая проблема утечки памяти и частое зависание софта
У меня собственно гворя, Лайон. Стоит ли заморачиваться — будет ли работать хорошо все в итоге?
Ждите. Решаем Льва (правда уже устали).
собрал штукенцию. правда драйверов MBI не было поставил SCT2026 все ноги сходятся итп все фурыкает. от плагина к винампу вообще в восторге. ждемс решения проблемы перехвата в игрулях. молодцы!
Т.е. драйверы просто заменили даже без переразводки платы? Если так -- напишите подробнее, греются или нет, что с токоограничивающими резисторами и пр. Я бы добавил в описание их в качестве альтернативы, а то вопросов на эту тему поступает много.
Как так вы довольны плагином к Винампу?!) У нас ещё даже API которое способно с ним справиться не закоммичено.) А с текущими бинарниками медленно работает.
Плагин в студию!
О поддержке игр на опенЖЛ - в винде Опен Арена (Open Arena) без проблем работает, в лине та же игра не хочет ни в какую работать с лайтпаком. Именно об этом упоминалось тут: http://code.google.com/p/lightpack/wiki/WorkingBasis#Поддержка_игр_на_OpenGL
Интересно, а usb не накроется? Как я понимаю, светодиоды питаются от usb, каждому надо ма по 100, это 0.8А только на светодиоды. Не многовато?
Собрал, подключил к медиацентру, все классно работает! Хотелось бы добавить горячие клавиши, чтобы переключаться между режимами с пульта. А еще неплохо было бы как-то обрабатывать черные пространства, например, поля у фильмов. Хоть какую-то подсветку бы, а не просто черноту. Или, например, если какое-то время не было активности, то плавно включать белую подсветку спустя несколько секунд. А то кино кончилось - и темнота :)
> А еще неплохо было бы как-то обрабатывать черные пространства, например, поля у фильмов. Создавай соответствующие профиля, где зоны будут располагаться не на черных полях.
Подскажите пожалуйста характеристики устройства (напряжение, ток, мощность)
подскажите, а планируются ли драйвера под Андроид? Имеется медиацентр от Ровер работающий под Андроидом. http://www.rovercomputers.ru/shop/tv/roverbox/ вот такой. Очень бы хотелось приобрести ваш кит и смотреть фильмы с подсветкой на большом экране.
> Имеется медиацентр от Ровер работающий под Андроидом поставь туда венду или линукс и проблема уйдет
в планах собрать сие чудо для экрана под проектор, диагональ будет чуть больше 2-х метров. вот вопрос, как будет лучше расположить кусочки светодиодной ленты и какой длинны?
>в планах собрать сие чудо для экрана под проектор
даже не стоит этого делать, мало экрана ????? переставь проектор на 2 метра дальше от экрана и будет тебе картинка больше.
из картинки и так выжму максимум, я хочу эффект м-билайт, он же как бы и 3-д добавляет
>он же как бы и 3-д добавляет
как бы глупости
Поздравляю всех с Новым годом! Есть мысль дополнить драйвера, извините за тавтологию, драйверами для RGB ленты на 12в - это потребует источник питания, но позволит облепить любой телевизор в разумных пределах:) Это 3-й "амбилайт" который я делаю, но вроде самый толковый. В тех было три зоны и проц управлял каждым СИДом, в одной через ULN2003, в другой через 9 полевиков. Думаю полевики лучше - ULN по току слабоваты. Было бы интересно послушать умных людей, как попроще состыковать выход MBI с половиком, до паяльника все равно не раньше 10 доберусь.
2 crazyuser: См. http://pixelkit.ru/post/10930981074/5-5
Подскажите по производительности, пожалуйста. У меня есть HTPC с не самым быстрым процессором Intel Atom, который под линухом через VDPAU тянет HD видео, но впритык. Собственно, вопрос - будет ли хватать процессора (по идее, декодирование идет через GPU и процессор не загружен на 100%) для захвата и обработки лайтпака? И вообще, будет ли лайтпак работать, если используется VDPAU? В качестве плеера используется XBMC и VLC.
Да, очень интересно, как это все можно прикрутить к XBMC.
Подскажите, пжлста, для Льва последний софт уже подходит?
Хотелось бы понять еще с какими рендерами совместимо это устройство. Ясно что может работать с EVR, а может ли работать (снимать данные) с MadVR ?
присоеденяюсь к вопросу про XBMC + AMD Zacate 350 .потянет ли система все вместе( просмотр видео через xbmc и ваше ПО)
Господа разработчики сделайте пожалуйста софт который работает на Android, хочу использовать лайтпак с телевизором и мультимедиа плеером под управлением OS Android, смотрю фильмы с него. Единственное что меня останавливает от покупки это недостаток софта на Android. Сам плеер http://www.aliexpress.com/product-gs/522972869-4GB-Cortex-A8-control-Google-Android-2-3-2-3-TV-box-with-WiFi-Flash-10-wholesalers.html
ignatph, Подскажите, пжлста, для Льва последний софт уже подходит? - да подходит
adenginov XBMC + AMD Zacate 350 должно потянуть если только не 1080p гонять с бешеным битрейтом
Подскажите, а в опенсоурс 6 версию когда выложите?
а где можно найти схему на ваш лайтпак?
adenginov XBMC + AMD Zacate 350 должно потянуть если только не 1080p гонять с бешеным битрейтом Погонял прогу, Вроде все тянет даже с фаерволом антивирем и запущенным торрентем. Гонял с XBMС Видео: AVC,1920x1080, 33600 Kbps,23.976 fps Видео : MPEG-4 AVC / 27668 kbps / 1080p / 23.976 fps / 16:9 / High Profile 4.1
П.С. мать Asus E35M1?-I DELUXE, память 4G
Если приложение линукса использует полноэкранный 2d OpenGL рендеринг, то лайтпак будет с ним работать? (у вас в ограничениях разъяснение только по поводу 3d)
Вам никто не мешает скачать и установить программу и проверить всё самостоятельно в тех рендерах, которые вас интересуют. В качестве устройства выбирайте virtual device. Захваченные цвета будут в реальном времени отображаться в виджетах внизу окна.
Подскажите, плиз, как же c XBMC заставить работать?
Присоединяюсь к просьбе сделать софт под андроид. Имеется asus transformer prime (ics), смотрю фильмы только с него... Выход к tv - hdmi
Нигде нет информации о том, когда ждать в продаже 6 лайтпак. Если эта тема читается, могли бы вы написать эту информацию сюда?
Подскажите пожалуйста, телевизор 59" - можно-ли прицепить к каждому(или некоторым) выходам больше чем ленточку из 3х диодов?