Перейти к содержанию
    

Запарило обилие дома пультов ДУ - телевизор, Инет-ТВ, ресивер, ДВД, муз. центр... Поискал по магазинам - в основном продают универсальные пульты, но во-первых продавцы сами предупреждают, что для BBK (DVD-плеер) еще ни один не подошел, во-вторых для MMC-блока (Интернет-ТВ) эти пульты вообще не предназначаются... Готовые обучаемые пульты стоят кучеряво, да и опять же продавцы предупреждают, что не всегда они способны обучиться от пульта какого-нить извернутого производителя.

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

По приему - модуляция бывает на разных частотах (от 36 до 50 КГц), а бывает и вообще без модуляции. Определение начала и конца посылки тоже видится достаточно проблематичным - не во всех протоколах предусмотрена преамбула, а некоторые протоколы и вообще посылают отдельные посылки для нажатия и отпускания кнопок.

ешал ли кто-нибудь подобную задачу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Запарило обилие дома пультов ДУ - телевизор, Инет-ТВ, ресивер, ДВД, муз. центр... Поискал по магазинам - в основном продают универсальные пульты, но во-первых продавцы сами предупреждают, что для BBK (DVD-плеер) еще ни один не подошел, во-вторых для MMC-блока (Интернет-ТВ) эти пульты вообще не предназначаются... Готовые обучаемые пульты стоят кучеряво, да и опять же продавцы предупреждают, что не всегда они способны обучиться от пульта какого-нить извернутого производителя.

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

По приему - модуляция бывает на разных частотах (от 36 до 50 КГц), а бывает и вообще без модуляции. Определение начала и конца посылки тоже видится достаточно проблематичным - не во всех протоколах предусмотрена преамбула, а некоторые протоколы и вообще посылают отдельные посылки для нажатия и отпускания кнопок.

ешал ли кто-нибудь подобную задачу?

Задумывался...

Есть даже такая задача.

Но так и не решил как грабить...

Существует два классических варианта решения этой задачи:

1) Просто грабится на частоте 100кГц пока есть данные и потом воспроизводятся (Самый тупой вариант - есть в Philips Pronto).

2) Разбор и декодирование (Есть железки для этого у AMX, Crestron... )

Делают это прекрасно, но стоят безбожно...

 

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

Другой альтернативы - не вижу 8(

 

ЗЫ:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Можно допустим еще сделать коллекцию прог для пульта и загружать в него для определенной модели аппарата или под определенный протокол ,по этому пути BQS и Pilot пошел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я делал такое под заказ диллерской сети JVC в России (не для понтов говорю, а чтобы была понятна ответственность в выборе методики считывания кода). Так вот, всего в мире насчитывается несколько тысяч различных систем кодов. Даже в одной линейке тех же телевизоров коды пультов различны. НО, все современные пульты сейчас работают на несущей, чисто импульсные коды (как у советских ДУ) отмерли. Второе, ИК-приёмники сейчас на ура принимают сигнал с разной несущей. При воспроизведении сигнала беспокоится о точном соблюдении частоты несущей вовсе не обязательно, отлично пройдет и демодулируется. Так что обычный захват и воспроизведение отлично работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задумывался...

Есть даже такая задача.

Но так и не решил как грабить...

Существует два классических варианта решения этой задачи:

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

 

Извините если нарушил какие-либо правила :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готовые обучаемые пульты стоят кучеряво....

http://www.argus.lv/product_info.php?products_id=39690

Среднепотолочный обучаемый с LCD - 25USD кучеряво??? С сенсорным экраном - около 50. Дороже уже найти трудно, если только не крутой, но кривой, брэнд.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

 

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

Аналогично...

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

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

 

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

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

 

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

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

 

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

Бесполезно. Надо реализовать тупое запоминание полученных импульсов и потом их воспроизведение с сохранением временных характеристик. Иначе запаришься писать поддержку всех протоколов :)

Среднепотолочный обучаемый с LCD - 25USD кучеряво???

Блин, не знаю... Я искал по магазинам по городу и по российским инет-магазинам, дешевле 1600 руб не видел, да и как раз на такие пульты продавцы и ругаются :) Говорят, что нормальный обучаемый пульт дешевле 200 баксов не стоит :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хмм...

Ну тогда сканим фототранзистор с заведомо большей частотой (150-200кГц)

Как только начинают идти данные (проверить просто) запоминаем пачку в формате байт (или больше) на переход (0->1 и 1->0) с тиками частоты. как только вход не изменяется более какого-то времени - записываем в память.

 

Понимаю, что кузяво но зато должно работать в 90% случаев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно допустим еще сделать коллекцию прог для пульта и загружать в него для определенной модели аппарата или под определенный протокол ,по этому пути BQS и Pilot пошел.
Когда-то на форуме Телемастера, который предшествовал rc5.ru был т.с. "опенсорсный" проект по коллекционированию команд различных пультов ДУ. Аппаратура для считывания и сохранения на PC была весьма простой. К сожалению, давно уже не слежу за этим форумом и судьбу этого проекта не знаю. Если кому-то интересно интересно, то поищите его следы на сайте http://www.telemaster.ru/ и в форуме http://rc5.ru/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как только начинают идти данные (проверить просто) запоминаем пачку в формате байт (или больше) на переход (0->1 и 1->0) с тиками частоты. как только вход не изменяется более какого-то времени - записываем в память

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

В случае с несущей получается еще больше - на 1 мс сигнала приходится около 40 импульсов несущей...

Только что пришла в голову мысль - можно сделать сдвухшаговое обучение - при первом сканировании определяется наличие и частота несущей, а во втором уже само сканирование и запоминание, причем если несущая была выявлена, то запоминается только количество тиков несущей - это намного меньшие цифры, укладывающиеся в 1 байт для каждого импульса и паузы, а если несущей не обнаружено - то в двухбайтные числа сохраняются временные промежутки между фронтами. В этом случае и время тика можно попробовать увеличить так, что бы 10 мс влазили по количеству тиков в один байт...

 

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

Я натыкался на тот сайт, взял оттуда довольно много описаний протоколов, но мне на ПК не надо, мне надо автономный пульт :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите в сторону Pronto формата.

Там в преамбуле есть скорость несущей + кол переходов в преамбуле + кол повторений команды и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо, обязательно гляну :)

Пока я эксперементирую с усилителем для фотодиода...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Разумные мысли были высказаны. Записать сигнал, на вскидку, частоты дискретизации 200кГц должно хватить. Далее, демодулировать, т.е. выделить и тактовую, и цифровые данные, что можно делать уже не спеша. Для излучения можно поставить два и более излучающих диода, которые будут коммутироваться в зависимости от нужного диапазона излучения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да можно, конечно, и так... При наличии 2-3 КБ памяти :)

Но хочется уложиться в какую-нить мегу8-мегу16, у которых всего килобайт, причем часть его будет использована под собсно программные дела (стек, переменные и т.п.). Поэтому хотелось бы сделать более экономичный по ресурсам алгоритм, не теряя точности измерений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да можно, конечно, и так... При наличии 2-3 КБ памяти :)

Но хочется уложиться в какую-нить мегу8-мегу16, у которых всего килобайт, причем часть его будет использована под собсно программные дела (стек, переменные и т.п.). Поэтому хотелось бы сделать более экономичный по ресурсам алгоритм, не теряя точности измерений.

Делать универсальную вещь и экономить десяток центов на МК... Скажем, тот же МК mega16 pin-to-pin совместим с mega32, по ресурсам выигрыш в 2 раза, а по цене разница ~$0,3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...