Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Обучаемый пульт ДУ
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
AndyBig
Запарило обилие дома пультов ДУ - телевизор, Инет-ТВ, ресивер, ДВД, муз. центр... Поискал по магазинам - в основном продают универсальные пульты, но во-первых продавцы сами предупреждают, что для BBK (DVD-плеер) еще ни один не подошел, во-вторых для MMC-блока (Интернет-ТВ) эти пульты вообще не предназначаются... Готовые обучаемые пульты стоят кучеряво, да и опять же продавцы предупреждают, что не всегда они способны обучиться от пульта какого-нить извернутого производителя.
Посему есть мысль собрать обучаемый пульт самому. Основную проблему вижу в том, как принимать и в каком виде хранить сигналы от разных пультов.
По приему - модуляция бывает на разных частотах (от 36 до 50 КГц), а бывает и вообще без модуляции. Определение начала и конца посылки тоже видится достаточно проблематичным - не во всех протоколах предусмотрена преамбула, а некоторые протоколы и вообще посылают отдельные посылки для нажатия и отпускания кнопок.
ешал ли кто-нибудь подобную задачу?
anpilog
Цитата(AndyBig @ Jan 7 2008, 14:50) *
Запарило обилие дома пультов ДУ - телевизор, Инет-ТВ, ресивер, ДВД, муз. центр... Поискал по магазинам - в основном продают универсальные пульты, но во-первых продавцы сами предупреждают, что для BBK (DVD-плеер) еще ни один не подошел, во-вторых для MMC-блока (Интернет-ТВ) эти пульты вообще не предназначаются... Готовые обучаемые пульты стоят кучеряво, да и опять же продавцы предупреждают, что не всегда они способны обучиться от пульта какого-нить извернутого производителя.
Посему есть мысль собрать обучаемый пульт самому. Основную проблему вижу в том, как принимать и в каком виде хранить сигналы от разных пультов.
По приему - модуляция бывает на разных частотах (от 36 до 50 КГц), а бывает и вообще без модуляции. Определение начала и конца посылки тоже видится достаточно проблематичным - не во всех протоколах предусмотрена преамбула, а некоторые протоколы и вообще посылают отдельные посылки для нажатия и отпускания кнопок.
ешал ли кто-нибудь подобную задачу?

Задумывался...
Есть даже такая задача.
Но так и не решил как грабить...
Существует два классических варианта решения этой задачи:
1) Просто грабится на частоте 100кГц пока есть данные и потом воспроизводятся (Самый тупой вариант - есть в Philips Pronto).
2) Разбор и декодирование (Есть железки для этого у AMX, Crestron... )
Делают это прекрасно, но стоят безбожно...

Думаю делать так: программируемый с ПК пульт с загрузкой RC5 кодов.
Другой альтернативы - не вижу 8(

ЗЫ:
Что самое обидное не нашел в инете обсуждений по данной тематике 8(
bodja74
Я тоже давно такое пытался сделать ,проблема оказалась в разнообразии протоколов ,а еще больше что в этих протоколах бывают префиксы и суфиксы команд ,тоесть кроме основной команды подается еще дополнительно команда при отпускании или нажатии на кнопку,гемор короче делать такую обучалку.Недаром короче такие пульты денег стоят.

Можно допустим еще сделать коллекцию прог для пульта и загружать в него для определенной модели аппарата или под определенный протокол ,по этому пути BQS и Pilot пошел.
VDG
Я делал такое под заказ диллерской сети JVC в России (не для понтов говорю, а чтобы была понятна ответственность в выборе методики считывания кода). Так вот, всего в мире насчитывается несколько тысяч различных систем кодов. Даже в одной линейке тех же телевизоров коды пультов различны. НО, все современные пульты сейчас работают на несущей, чисто импульсные коды (как у советских ДУ) отмерли. Второе, ИК-приёмники сейчас на ура принимают сигнал с разной несущей. При воспроизведении сигнала беспокоится о точном соблюдении частоты несущей вовсе не обязательно, отлично пройдет и демодулируется. Так что обычный захват и воспроизведение отлично работают.
Ruslan Konovalov
Цитата(anpilog @ Jan 7 2008, 23:46) *
Задумывался...
Есть даже такая задача.
Но так и не решил как грабить...
Существует два классических варианта решения этой задачи:
1) Просто грабится на частоте 100кГц пока есть данные и потом воспроизводятся (Самый тупой вариант - есть в Philips Pronto).
2) Разбор и декодирование (Есть железки для этого у AMX, Crestron... )
Делают это прекрасно, но стоят безбожно...

Думаю делать так: программируемый с ПК пульт с загрузкой RC5 кодов.
Другой альтернативы - не вижу 8(

ЗЫ:
Что самое обидное не нашел в инете обсуждений по данной тематике 8(


Всем привет и с прошедшими праздниками.
У нас на базаре в Ташкенте продаются такие пульты.
У них есть кнопка, кажется наз-я "Обучение".
Вообщем нажимаешь на нее, потом направляешь его на пульт с которого хочешь скопировать команды и вперед, поочереди жмешь на том пульте на кнопки а на этом запоминаешь.
Можно обойтись и без ПК, но есть проблема: нужно реализовать на вашем чипе программу распознование команд RC5 или других.
Вот некоторые сайты, может чего нибудь накопаете:
http://slydiman.narod.ru/scr/irrc_irlink.htm
http://www.radiokot.ru/articles/14/
http://slydiman.narod.ru/scr/kb/ir.htm (с правой стороны список протоколов)
http://www.vidon.ru/old/ir-remote/teory.htm
http://forum.cxem.net/index.php?showtopic=22696

Извините если нарушил какие-либо правила smile.gif)
zltigo
Цитата(AndyBig @ Jan 7 2008, 14:50) *
Готовые обучаемые пульты стоят кучеряво....

http://www.argus.lv/product_info.php?products_id=39690
Среднепотолочный обучаемый с LCD - 25USD кучеряво??? С сенсорным экраном - около 50. Дороже уже найти трудно, если только не крутой, но кривой, брэнд.
AndyBig
Цитата
Думаю делать так: программируемый с ПК пульт с загрузкой RC5 кодов.Другой альтернативы - не вижу 8(

Да вот как раз и не хотелось бы ограничиваться только RC5.

Цитата
в этих протоколах бывают префиксы и суфиксы команд ,тоесть кроме основной команды подается еще дополнительно команда при отпускании или нажатии на кнопку

Вот как с таким геморром бороться - хрен знает... Если только сканировать и запоминать первую и последние посылки и если они разные - значит как раз тот случай, так их в паре и сохранять...

Цитата
Что самое обидное не нашел в инете обсуждений по данной тематике 8(

Аналогично...
Цитата
Можно допустим еще сделать коллекцию прог для пульта и загружать в него для определенной модели аппарата или под определенный протокол

Теряется вся универсальность, не хотелось бы так делать. Вернее, сделать загрузку готовых протоколов можно, но только как опцию, обучаемость - основное требование smile.gif.

Цитата
все современные пульты сейчас работают на несущей, чисто импульсные коды (как у советских ДУ) отмерли

А я встречал какой-то нокиевский протокол, в котором чисто импульсный код, без несущей...

Цитата
ИК-приёмники сейчас на ура принимают сигнал с разной несущей. При воспроизведении сигнала беспокоится о точном соблюдении частоты несущей вовсе не обязательно, отлично пройдет и демодулируется

Но при несовпадении несущей у приемника и передатчика дальность связи резко упадет, как я понимаю? Не зря же приемники делают на разные несущие... Для обучаемости пульта это, конечно, безразлично - там расстояние 10-15 см, а вот потом при воспроизведении модулировать неродной частотой - не хотелось бы...

Цитата
Можно обойтись и без ПК, но есть проблема: нужно реализовать на вашем чипе программу распознование команд RC5 или других.

Бесполезно. Надо реализовать тупое запоминание полученных импульсов и потом их воспроизведение с сохранением временных характеристик. Иначе запаришься писать поддержку всех протоколов smile.gif
Цитата
Среднепотолочный обучаемый с LCD - 25USD кучеряво???

Блин, не знаю... Я искал по магазинам по городу и по российским инет-магазинам, дешевле 1600 руб не видел, да и как раз на такие пульты продавцы и ругаются smile.gif Говорят, что нормальный обучаемый пульт дешевле 200 баксов не стоит smile.gif
anpilog
Хмм...
Ну тогда сканим фототранзистор с заведомо большей частотой (150-200кГц)
Как только начинают идти данные (проверить просто) запоминаем пачку в формате байт (или больше) на переход (0->1 и 1->0) с тиками частоты. как только вход не изменяется более какого-то времени - записываем в память.

Понимаю, что кузяво но зато должно работать в 90% случаев.
rezident
Цитата(bodja74 @ Jan 8 2008, 02:12) *
Можно допустим еще сделать коллекцию прог для пульта и загружать в него для определенной модели аппарата или под определенный протокол ,по этому пути BQS и Pilot пошел.
Когда-то на форуме Телемастера, который предшествовал rc5.ru был т.с. "опенсорсный" проект по коллекционированию команд различных пультов ДУ. Аппаратура для считывания и сохранения на PC была весьма простой. К сожалению, давно уже не слежу за этим форумом и судьбу этого проекта не знаю. Если кому-то интересно интересно, то поищите его следы на сайте http://www.telemaster.ru/ и в форуме http://rc5.ru/
AndyBig
Цитата
Как только начинают идти данные (проверить просто) запоминаем пачку в формате байт (или больше) на переход (0->1 и 1->0) с тиками частоты. как только вход не изменяется более какого-то времени - записываем в память

Я тоже склоняюсь к этому, вопрос только в памяти достаточного размера... Скажем, минимальный тик - 0,5 мкс, максимальная длительность импульса (если без несущей) или пузы - 10 мс, то есть 20000 тиков - двухбайтное число. В некоторых протоколах используется до 64 пар импульс+пауза, то есть получается 128 2-байтных чисел - 256 байт отдать только на одну команду. Если еще и попадется протокол с отдельными кодами нажатия и отпускания кнопки - отдай для хранения 512 байт.
В случае с несущей получается еще больше - на 1 мс сигнала приходится около 40 импульсов несущей...
Только что пришла в голову мысль - можно сделать сдвухшаговое обучение - при первом сканировании определяется наличие и частота несущей, а во втором уже само сканирование и запоминание, причем если несущая была выявлена, то запоминается только количество тиков несущей - это намного меньшие цифры, укладывающиеся в 1 байт для каждого импульса и паузы, а если несущей не обнаружено - то в двухбайтные числа сохраняются временные промежутки между фронтами. В этом случае и время тика можно попробовать увеличить так, что бы 10 мс влазили по количеству тиков в один байт...

Цитата
Когда-то на форуме Телемастера, который предшествовал rc5.ru был т.с. "опенсорсный" проект по коллекционированию команд различных пультов ДУ. Аппаратура для считывания и сохранения на PC была весьма простой.

Я натыкался на тот сайт, взял оттуда довольно много описаний протоколов, но мне на ПК не надо, мне надо автономный пульт smile.gif
anpilog
Посмотрите в сторону Pronto формата.
Там в преамбуле есть скорость несущей + кол переходов в преамбуле + кол повторений команды и т.д.
AndyBig
Спасибо, обязательно гляну smile.gif
Пока я эксперементирую с усилителем для фотодиода...
bzx
Цитата(AndyBig @ Jan 8 2008, 19:06) *
Только что пришла в голову мысль - можно сделать сдвухшаговое обучение - при первом сканировании определяется наличие и частота несущей, а во втором уже само сканирование и запоминание, причем если несущая была выявлена, то запоминается только количество тиков несущей...

Разумные мысли были высказаны. Записать сигнал, на вскидку, частоты дискретизации 200кГц должно хватить. Далее, демодулировать, т.е. выделить и тактовую, и цифровые данные, что можно делать уже не спеша. Для излучения можно поставить два и более излучающих диода, которые будут коммутироваться в зависимости от нужного диапазона излучения.
AndyBig
Да можно, конечно, и так... При наличии 2-3 КБ памяти smile.gif
Но хочется уложиться в какую-нить мегу8-мегу16, у которых всего килобайт, причем часть его будет использована под собсно программные дела (стек, переменные и т.п.). Поэтому хотелось бы сделать более экономичный по ресурсам алгоритм, не теряя точности измерений.
bzx
Цитата(AndyBig @ Jan 8 2008, 22:47) *
Да можно, конечно, и так... При наличии 2-3 КБ памяти smile.gif
Но хочется уложиться в какую-нить мегу8-мегу16, у которых всего килобайт, причем часть его будет использована под собсно программные дела (стек, переменные и т.п.). Поэтому хотелось бы сделать более экономичный по ресурсам алгоритм, не теряя точности измерений.

Делать универсальную вещь и экономить десяток центов на МК... Скажем, тот же МК mega16 pin-to-pin совместим с mega32, по ресурсам выигрыш в 2 раза, а по цене разница ~$0,3
rezident
Цитата(AndyBig @ Jan 9 2008, 00:47) *
Да можно, конечно, и так... При наличии 2-3 КБ памяти smile.gif
Но хочется уложиться в какую-нить мегу8-мегу16, у которых всего килобайт, причем часть его будет использована под собсно программные дела (стек, переменные и т.п.). Поэтому хотелось бы сделать более экономичный по ресурсам алгоритм, не теряя точности измерений.
Что-то я не понимаю, а зачем нужно сэмплирование на частоте 200кГц? У этой меги есть таймер с режимом захвата (capture)? Если есть, то сам бог велел его использовать для измерения временных пауз. ВременнОе разрешение получите не хуже, чем при сэмплировании на большой частоте, но зато объем хранимых данных уменьшится значительно. А если использовать 16-битный таймер в режиме capture, например от MSP430, то заведомо лучшее временнОе разрешение получается, чем при 200кГц сэмплировании.
P.S. кстати и для формирования импульсной последовательности тоже лучше аппаратные возможности таймера использовать.
bzx
Цитата(rezident @ Jan 8 2008, 23:35) *
Что-то я не понимаю, а зачем нужно сэмплирование на частоте 200кГц? У этой меги есть таймер с режимом захвата (capture)? ... А если использовать 16-битный таймер в режиме capture, например от MSP430, то заведомо лучшее временнОе разрешение получается, чем при 200кГц сэмплировании.

То же хорошее решение. В этом случае после ir приёмника придётся поставить пару ОУ (усилитель и повторитель) + компаратор - это как минимум.
umup
если читать данные с приемника типа TSOP, то capture конечно в самый раз, но если нужен именно универсальный приемник, данные принимать лучше диодом вместе с несущей.
приемник на 36 кГц значительно хуже принимает сигнал 38 кГц (расстояние приема уменьшается до 2-3 метров), не говоря о других частотах.

часто бывает нужен портативный определитель протокола неизвестных пультов - с измерением частоты несущей и определением протокола/команд.
bzx
Цитата(umup @ Jan 8 2008, 23:42) *
если читать данные с приемника типа TSOP, то capture конечно в самый раз, но если нужен именно универсальный приемник, данные принимать лучше диодом вместе с несущей.

Нет, ir приёмник tsop категорически не годится для этой задачи. Он узкополосный: 30, 36, 38 и 56 (кажется так), в зависимости от конкретного типа. Тут действительно нужен широкополосный ir приёмник, перекрывающий все существующие диапазоны. Скорее всего, полосы 30-60 должно хватить. Хотя и его так же можно разбить, скажем на 30-45 и 45-60.
rezident
Цитата(bzx @ Jan 9 2008, 01:42) *
То же хорошее решение. В этом случае после ir приёмника придётся поставить пару ОУ (усилитель и повторитель) + компаратор - это как минимум.
Зачем? Есть уже готовые интегральные IR трансиверы с логическим выходом/входом. См., например, продукцию Vishay.

Цитата(bzx @ Jan 9 2008, 02:00) *
Нет, ir приёмник tsop категорически не годится для этой задачи. Он узкополосный: 30, 36, 38 и 56 (кажется так), в зависимости от конкретного типа.
Дык не все IR трансиверы "заточены" под модуляцию.
acex2
Цитата(bzx @ Jan 9 2008, 00:00) *
Нет, ir приёмник tsop категорически не годится для этой задачи. Он узкополосный: 30, 36, 38 и 56 (кажется так), в зависимости от конкретного типа. Тут действительно нужен широкополосный ir приёмник, перекрывающий все существующие диапазоны. Скорее всего, полосы 30-60 должно хватить. Хотя и его так же можно разбить, скажем на 30-45 и 45-60.


У Vishay есть TSOP98260 - он для частот 20-60 кГц. Если этого мало, есть еще TSOP98200 - тут уже 20-455 кГц.
bzx
Цитата(acex2 @ Jan 9 2008, 08:32) *
У Vishay есть TSOP98260 - он для частот 20-60 кГц. Если этого мало, есть еще TSOP98200 - тут уже 20-455 кГц.

Да, действительно, тогда всё просто получается. На прямую подключается к capture.
AndyBig
Цитата
Что-то я не понимаю, а зачем нужно сэмплирование на частоте 200кГц? У этой меги есть таймер с режимом захвата (capture)? Если есть, то сам бог велел его использовать для измерения временных пауз.

Само собой, использовать именно таймер для измерения промежутков между фронтами...
Цитата
В этом случае после ir приёмника придётся поставить пару ОУ (усилитель и повторитель) + компаратор - это как минимум.

Ну вот с чем я вчера и возился... LM324 - один операционник как усилитель фотодиода, второй после него как компаратор. Все получилось smile.gif. В принципе, отфильтровывать я думаю, не нужно, если загрубить чувствительность. Я настроил компаратор так, что бы сигнал уверенно принимался с макс. расстояния 20 см.
Цитата
Принцип захвата, как сказал rezident, capture по 16 битному таймеру, пишется длительность импульсов и пауз в память. При обучении пульт пишет как магнитофон примерно 200 мс, чего хватает с запасом на команду, с повтором. Надежно ловит до 85кГц несущей,

Ну что-то типа такого и я хочу сделать... Но 200 мс при отлове несущей в 85 кГц? Это же сколько памяти надо, что бы сохранить такую кучу длительностей?
Цитата
У Vishay есть TSOP98260 - он для частот 20-60 кГц. Если этого мало, есть еще TSOP98200 - тут уже 20-455 кГц.

Дкмаю, что фотодиод + LM324 выйдет даже дешевле, чем один широкополосный tsop smile.gif
etoja
Инфракрасные пульты для бытовой техники работают с несущей частотой 36КГц и протоколом обмена RC5.
Подслушивание и генерацию можно реализовать даже на PIC процессоре.
Приёмник TSOP1736 продают в Чип и Дипе в Москве.
AndyBig
Цитата
Инфракрасные пульты для бытовой техники работают с несущей частотой 36КГц и протоколом обмена RC5.

Это только одна из несущих и один из использующихся протоколов. Если бы все было так стандартно... smile.gif
=AK=
Цитата(VDG @ Jan 8 2008, 07:06) *
НО, все современные пульты сейчас работают на несущей, чисто импульсные коды (как у советских ДУ) отмерли.

К сожалению, не все работают на несущей, на свете довольно много пультов, выдающих короткие импульсы. Кроме того, частота несущей варируется от примерно 30 кГц до 455 кГц, но есть и за пределами указанных границ.

Цитата(VDG @ Jan 8 2008, 07:06) *
Второе, ИК-приёмники сейчас на ура принимают сигнал с разной несущей. При воспроизведении сигнала беспокоится о точном соблюдении частоты несущей вовсе не обязательно, отлично пройдет и демодулируется. Так что обычный захват и воспроизведение отлично работают.

Это "китайский подход", т.е. китайцы лет 10 назад очень любили делать такие пульты: для "обучения" использовали обычный ИК приемник, а "выученный код" выдавали на фиксированной несущей 38.5 кГц. Довольно часто такое работало, хотя ИК приемник с декодированием несущей как правило вносит неодинаковые задержки в передний и задний фронты, не говоря уж о "липовой" несущей при передаче.

Потом китайцы забили на "обучаемость" и стали в основном продавать "заранее обученные пульты", где нужный брэнд и тип устройства выбирался из памяти, т.е. был "заранее выучен". Беда в том, что для "обучения" они использовали такую же дешевку, поэтому коды в памяти у таких пультов записаны с сильными искажениями длительностей пачек/пауз и не всегда работают. Я подозреваю, что они безо всякого тестирования тырят коды друг у друга, т.е. "выучивают" уже искаженные времянки, так что все работает через ж... sad.gif

Как вариант, советую загрузить и инсталлировать Клипсаловскую программу CIRCA. Даже не имея "считывателя", вы получите в свое распоряжение огромную библиотеку качественно раскодированных IR протоколов и кодов, которые хранятся в XML файлах ProtocolLibrary.dat и IRlibrary.dat. Разобраться там нетрудно: IR сод ссылается на используемый протокол, где расписан "словарь" и общие сведения (несущая, структура фрэймов, и т.п), и описывает коды для каждой кнопки в терминах указанного словаря - маленькая буква означает паузу, заглавная - пачку импульсов.
VDG
Цитата(AndyBig @ Jan 8 2008, 18:24) *
А я встречал какой-то нокиевский протокол, в котором чисто импульсный код, без несущей...

Вот именно - "встречал какой-то нокиевский протокол". Какая-то старая модель. Приемники повально сейчас все с несущей.

Цитата
Но при несовпадении несущей у приемника и передатчика дальность связи резко упадет, как я понимаю?

Практически не отразится.

Цитата
Не зря же приемники делают на разные несущие...

Это всего лишь уважение к старине smile.gif , когда эти цифры в килогерцах что-то значили для ультразвуковых ДУ.
AndyBig
Цитата
Как вариант, советую загрузить и инсталлировать Клипсаловскую программу CIRCA. Даже не имея "считывателя", вы получите в свое распоряжение огромную библиотеку качественно раскодированных IR протоколов и кодов, которые хранятся в XML файлах

Огромное спасибо за ссылку, действительно громадное число пультов и протоколов описано smile.gif
Только придется свой парсер написать, что бы в удобнов виде можно было просмотреть...
umup
Цитата
Практически не отразится

ню-ню...
резко падает, даже при разнице частоты в 1-2 кГц.
это я про TSOP17xx, 38xx, 41xx, сейчас как раз мучаю приемник на 36 кГц и пульт на 38 кГц - расстояние приема упало до 2-3 м, а приемник на 38 кГц ловит даже из соседней комнаты.

может другие приемники ловят любые частоты, но тогда непонятно зачем вообще нужна модуляция если приемник ловит все подряд ?
VAHOO
Всем привет! посмотрите вот этот линк

обучающий приемник

http://www.elektor.nl/artikelen-als-pdf/20...581.lynkx?tab=1



исходник и прошивка бесплатно а схему можно найти в Радиохобби 02/2002



http://lirc.sourceforge.net/remotes/
VDG
Цитата(umup @ Jan 9 2008, 23:05) *
но тогда непонятно зачем вообще нужна модуляция если приемник ловит все подряд ?

ИК-модуляция нужна по той же причине как и для радиопередачи. А почему столько разных частот и почему именно такие частоты? - я написал выше - это дань тому времени когда ДУ были ещё не ИК, а ультразвуковые. В какой-нибудь викепедии история пультов наверняка популярно описана.
=AK=
Цитата(AndyBig @ Jan 10 2008, 03:29) *
Огромное спасибо за ссылку, действительно громадное число пультов и протоколов описано smile.gif
Только придется свой парсер написать, что бы в удобнов виде можно было просмотреть...

Не надо свой парсер. Это XML, сейчас полно готовых компонентов (для всех популярных языков), разбирающих XML и раскладывающих данные по объектам. В дотнетовский С# это вообще встроено как стандартная библиотечная функция.

PS: На той же ссылке есть старые версии CIRCA. Самая первая версия при инсталляции устанавливает Микрософт XML парсер. Кстати, в первой версии файлы для каждого типа устр-в определенного брэнда были отдельными (таких файлов там более 700, список файлов - в праттаченном dir.txt) и легко читались при помощи Интернет Эксплорера. Файл с описанием протоколов и коды телевизоров NEC и Sharp (для примера) приаттачил. Забавно, что некоторые телевизоры NEC используют протокол Сони.
Dimoza
Добавлю свои 20 копеек. Не буду говорить о нескольких тысячах систем, как здесь было громко сказано, или о вымирании "всех прочих систем". В моей практике из нескольких десятков пультов только один работал в чем-то странном, вроде SONY. Все остальные работали в формате NEC. Вроде бы даже сами соньковские пульты wink.gif
=AK=
Цитата(Dimoza @ Jan 10 2008, 07:00) *
В моей практике из нескольких десятков пультов только один работал в чем-то странном, вроде SONY. Все остальные работали в формате NEC. Вроде бы даже сами соньковские пульты

Когда я лет 10 назад занимался кодами и проверял пульты в магазине, продающем ТВ, то в NEC-формате работала малая часть пультов (сам NEC, а также помнится TEAC, Sharp и кто-то еще). Мицубиши работали в формате Мицубиши, Филипс и еще пара брэндов - в формате RC5, Сони - в формате Сони, Панасоник- в формате Панасоник, JVC - в формате JVC, и т.д. Magnavox работал в формате похожем на NEC, но не NEC. Пара европейских телеков работала без несущей.

Конечно, NEC - сделан по уму, открыт для использования и поэтому популярен. Но он не доминирует, он всего лишь более популярен чем RC5.
AndyBig
Цитата
Не надо свой парсер. Это XML, сейчас полно готовых компонентов (для всех популярных языков), разбирающих XML и раскладывающих данные по объектам.

Ну, я и не имел в виду парсинг на уровне текста, конечно использовать готовый компонент. Просто сделать по уму навигацию по протоколам и отображение самих протоколов smile.gif

Цитата
ИК-модуляция нужна по той же причине как и для радиопередачи. А почему столько разных частот и почему именно такие частоты? - я написал выше - это дань тому времени когда ДУ были ещё не ИК, а ультразвуковые.

Для чего нужна модуляция - это понятно, но если в приемниках интегрированы полосовые фильтры на определенную частоту, то я не понимаю как такие приемники могут не терять чувствительность на частотах, лежащих за пределами своего фильтра... smile.gif

Цитата
В моей практике из нескольких десятков пультов только один работал в чем-то странном, вроде SONY.

Хоть и один, но все-таки работал не в NEC wink.gif
Цитата
Все остальные работали в формате NEC.

Ну да, а еще очень популярен RC5... А еще SONY... А в моем пульте от STB (блок интернет-ТВ) вообще стоит какой-то PIC, так что там вообще может быть свой собственный протокол производителя smile.gif
Ruslan Konovalov
Вот еще кое что нарыл на диске, правда откуда скачал уже не помню.
Вот еще нашел хороший сайт, исходники имеются:
http://www.masterkit.ru/main/set.php?num=549
AndyBig
Спасибо, скачал, буду смотреть smile.gif
acex2
Вот еще ссылочка попалась с недавно завершившегося конкурса CircuitCellar + Microchip: http://www.circuitcellar.com/microchip2007.../DE/MT2210.html
LoneWolf
Цитата(AndyBig @ Jan 10 2008, 12:14) *
Для чего нужна модуляция - это понятно, но если в приемниках интегрированы полосовые фильтры на определенную частоту, то я не понимаю как такие приемники могут не терять чувствительность на частотах, лежащих за пределами своего фильтра... smile.gif


К вопросу о модуляции и различных частотах: Это было сделано для исключения влияния искусственных источников света. И все было замечательно, пока лампочки работали на частоте 50(60)Hz. А вот что получается при использовании новых светильников...
Делал год назад систему управления освещением для птицефабрики. В процессе проектирования резонно предположил, что негоже на сей девайс кнопочную панель ставить (ибо незачем каждому крестьянину туда тыкаться). Вместо кнопок управления был поставлен ИК приемник - типа пульт находится только у авторизованного персонала (главного зоотехника/энергетика/инженера), да и кнопок на пульте много - удобно реализовывать режимы редактирования и управления. Так вот, еще в процессе разработки напоролся на большие грабли. Если ИК приемник напрямую "видел" светильник с ЭПРА, то практически полностью "забивался". Рабочая частота ЭПРА была 45kHz, приемник на 38kHz. OSRAM в своих мануалах на ЭПРА гордо заявляет, что рабочие частоты специально выбраны выше диапазона 36 - 39kHz в котором работают бытовые пульты. Как эта мера им помогает, см. выше. ;-) Диммируемые ЭПРА работают на частотах от 40 до 100kHz. В курятнике используется регулировка яркости 1 - ХХХ% для эмуляции рассвета/заката. В установившемся режиме мощность не 100%, а соответственно и рабочая частота заведомо выше 40kHz (ну нужна этим курам определенная освещенность в зависимости от возраста). Так вот, даже на частотах до 65kHz паршивенький филипсововский приемничек замечательно ловит дерьмецо. Правда все эти артефакты наблюдяются только в прямой видимости от светильника. При минимальном затенении прием становится устойчивым.
Так что вот, информация к размышлению. По поводу узкополосности фильтров и по поводу идеи слушать несущую. Слушать-то можно, да вот только бы не люминесцентную лампу... ;-)
Kondor
Цитата(rezident @ Jan 8 2008, 18:20) *
Когда-то на форуме Телемастера, который предшествовал rc5.ru был т.с. "опенсорсный" проект по коллекционированию команд различных пультов ДУ. Аппаратура для считывания и сохранения на PC была весьма простой. К сожалению, давно уже не слежу за этим форумом и судьбу этого проекта не знаю. Если кому-то интересно интересно, то поищите его следы на сайте http://www.telemaster.ru/ и в форуме http://rc5.ru/

Кому интересно:
http://irstudio.chat.ru/
Архив обсуждения: http://old.rc5.ru/irstudio/
s1lver
Дарова народ. Кто нить смог реализовать данное устройство. А то очееень интересная задумка, но видимо с моими знаниями я пока это реализовать не могу, скоко ни пытался на Atmege 16 реализовать ни как не получается. Если кто чего нить добился напишите axxxa@list.ru или давайте по icq спишемся 415616300 может до ума доведем.
Dimmix
Для обучаемого пульта нужен чисто анализатор который выдаст уже готовый пакет, т.е. не нужно записывать и выдавать семплированные пакеты и тем более декодировать.
МП41
Как-то пробовал WinLIRC научить работать от пульта BeholdTV. Долго провозился и получил в результате неустойчивую работу. Отсюда вывод, что для анализа данных с пульта должно быть серьёзное ПО, что в малый МК не всунешь, если даже на компе эта задача решается не всегда.
Laptop
Все уже придумали до нас...
Можно расслабиться и получать удовольствие, все равно лучше этого не сделать. Да, дорого, но за удобства на диване надо платить smile.gif
http://www.logitech.com/index.cfm/remotes/...s/&cl=ru,ru
Отзывы о пультах только самые положительные, но стоят... понятно что стоимость дополнительного сервиса заложена в продукт.
rezident
Хотя тема годовалой давности, но топикстартер так и не отписался о своем решении задачи. Видимо "забил" на него?
Если же кому-то еще интересна тема, то я предлагаю такое решение.
Вовсе не нужно стремиться совместить в ПДУ собственно ПУ и граббер. Граббер протоколов лучше сделать на PC. Аппаратных затрат для ввода сигнала в комп минимум, но зато огромные по сравнению с МК пульта возможности по декодированию и хранению протоколов. Сграббили, разобрали "по косточкам" нужный протокол в PC, подготовили заготовки в требуемом формате и потом одним чохом записали их в ПДУ. Записать можно хоть через тот же ИК-порт, хоть через совершенно отдельный интерфейс. Например, с через UART МК с помощью датакабеля от мобилки wink.gif
Dimmix
собственно это и имеется под анализатором, да в принципе алгоритм граббера-анализатора заключается в вычислении по пакету синхронизации фронтов, и просто выставлении задержек и точек генерации пакета, и хранениии базы точек, задержек, и разных особенностей пультов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.