Главная Проекты Идеи Soft О авторе
 

Методика выбора пульта ДУ.

Внимание!!!
В связи с добавлением поддержки Win7 и переходом на HID версию описание проекта обновляется, и новый вариант описания развивается ОТДЕЛЬНО - с самостоятельным оформлением (это этот же сайт, но убрано все лишнее кроме описания HID версии проекта), а не обновленные ссылки временно свернуты в "пояснения":

»Щелкните по этому тексту, чтобы развернуть пояснения«

Рис. 1 Внешний вид универсальных пультов.
Увеличить

Рис. 2 Внешний вид пультов от бытовой техники.
Увеличить

Рис. 3 Внешний вид пультов от бытовой техники2.
Увеличить

Рис. 4 Экзотические пульты.
Увеличить

       В этом очерке я попытаюсь немного рассказать о методах выбора наиболее оптимального дистанционного пульта для управления компьютером.
       Первое, на что стоит обратить внимание - пульт должен быть обязательно эргономичным (то есть, очень удобным в использовании). Если пульт плохо лежит в руке или трудно нажимать пальцами одной руки на крайние верхние или крайние нижние кнопки, то через некоторое время это начинает раздражать...
       После выбора удобного пульта уже можно перейти к вопросам совместимости с аппаратно - программным комплексом, состоящим из IgorPlug2 на основе проекта IgorPlug и соответствующего программного обеспечения со стороны компьютера, например SlyControl:

       В первых версиях устройства единственным ограничением аппаратной части является максимальная длина посылки до 105 бит. (Буфер в 108 байт, но 3 из них служебные). Почему ДО 105 ? Это связано с применением интеллектуального сжатия - если посылка не требует сжатия, то 105, если требует, то меньше, до 52. У большей части пультов от бытовой техники посылка более чем в два раза меньше - обычно около от 67 до 97 бит с применением сжатия максимум 2 раза на посылку.
       В более поздних версиях длина посылки ограничена 197 битами. (Буфер в 200 байт, но 3 из них служебные). Почему такая странная цифры 197 ? Это связано с несовершенством драйвера, у которого максимальная длинна посылки ограничена 200 байтами.
       В этом был основной недостаток первоначальной версии IgorPlug с максимальной длиной посылки, ограниченной до 33 бит. Для сравнения можно указать, что на рисунках 2 и 3 из не универсальных пультов имеют посылку меньше или равную 33 бит (или 0х21 в шестнадцатиричной системе счисления) только три пульта: TTS35AI - пульт от SS2, PsevdoRC5 - пульт с 4 кнопками от магнитофона Lion и RC5(RC10) - пульт от телевизора.
       Причём пульты на фотографиях были выбраны случайным образом. Т.е., я не подбирал их по какому-либо признаку, а просто попросил у всех своих знакомых и соседей пульты от имеющейся у них бытовой техники - сфотографировать.
       Обобщая, можно сказать, что из приведённых 12 не универсальных пультов, прекрасно работающих с IgorPlug2, но при этом с оригинальным IgorPlug совместимы только 3 из них, что составляет 1/4 часть. Причём у пультов последних годов выпуска (за исключением сверх примитивных китайских ноунеймов) длина посылки практически всегда больше 33х бит, что делает их несовместимыми с оригинальным девайсом IgorPlug.
       Привожу данные по длине посылки пультов в шестнадцатиричном виде: TTS35AI-0x13, R28B04_Daeewo-0x17, PsevdoRC5-0x17, RM_C364-0x23, Kom16-0x25. Далее группа, имеющая 0x43 бита: PX9400, Sams00104M, OP820, LT2040P, LT720, Kreative. А следующая группа имеет длину посылки длиннее 0x43 бит: R18H43_Daeewo-0x4B, KT2926-0x57, HF0867-0x57. Все эти данные находятся в одноимённых файлах и идут в архиве с моей программой Осциллограф , с помощью которой можно захватить, а потом просмотреть принятые данные.


Рис. 5 Пульт от ноутбука Apple.

              Я перебрал более 150 разных пультов от бытовой техники и примерно столько же кодировок в универсальных пультах. Все проверки производились на доработанном мной проекте IgorPlug2 на основе проекта IgorPlug, с помощью разработанной мной программы Осциллограф.
       В результате экспериментов выяснилось, что размер посылки превысил 105 бит только в пульте от кондиционера (у них посылка колеблится от 105 до 167, что заведомо меньше максимально возможного 197). То есть, аппаратная часть IgorPlug2 в подавляющем большинстве случаев позволяла устойчиво распознавать передаваемый ими сигнал. Но при использовании оригинального IgorPlug больше чем у 1/2 пультов 5-6 летней давности (или больше чем 3/4 современных пультов) длина посылки была больше 33 бит, что делала их несовместимыми с оригинальной версией IgorPlug.

       На этом весь "длинный" список ограничений аппаратной части и заканчивается, но программная часть (применительно к оригинальному плагину, входящему в комплект SlyControl) накладывала свои ограничения.
       Уточню: все эти ограничения исправлены в нашей модификации этого плагина. Подробнее об этом можно прочесть тут.


Рис. 6 Пульт от PCI TV тюнера AverMedia..

Рис. 7 Пульты от PCI TV и USB TV тюнеров AverMedia.
Обученные прошивки под них - тут.

       Ограничения SlyControl с оригинальным плагином:

       1) В сигнале от пульта не должно быть длительных пауз (что иногда встречается). Это связано с тем, что оригинальный плагин к SlyControl написан для старой версии IgorPlug, у которой измеряемая длительность описывалась одним байтом, в который эта пауза зачастую не вписывалась.
       Для частичного решения этой проблемы, в старой версии IgorPlug автор вводил переменный масштаб на первые 7 бит посылки, что не всегда решало проблему. В новых версиях (начиная с 8) моей прошивки реализована псевдо 2х байтовая посылка, что снимает данную проблему, но с оригинальной библиотекой работает только 6 версия.
       2) У некоторых пультов номер кнопки идёт в начале посылки, а после идёт маленькая посылка сообщающая, что кнопка пульта нажата. С использованием оригинальной версии плагина к SlyControl, нажатие кнопки отловить и однократно выполнить действие не проблема. Проблема заключается в выдаче повтора действия при нажатии кнопки больше заданного времени.
       3) Оригинальный плагин к SlyControl сам распознаёт кодировку и в частности код RC-5, в котором для распознания повторного нажатия кнопки в начале посылки, 1 бит постоянно меняет своё значение. В самом плагине нет средств настройки, а если длина посылки очень маленькая и номер кнопки передаётся в начале посылки, велика вероятность того, что SlyControl распознает кодировку как RC-5 и просто проигнорирует её значение, захватив только хвостик посылки. А в настройках оригинального плагина нет возможности отключения данной функции в самом плагине.

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

Рис. 8 Фото пяти первых обученных пультов.
Обученные прошивки под них - тут.

       Подводя итог - более 97% (по распространённости) пультов от бытовой техники вполне подходят для управления компьютеров с помощью USB - InfroRed (что к сожалению нельзя сказать о оригинальном IgorPlug имеющем кучу недостатков) и соответствующего программного обеспечения со стороны компьютера, например SlyControl. Но в случае использования программы SlyControl, для устойчивой работы необходимо установить доработанный плагин в виде библиотеки. Подробнее об этом можно прочесть тут.

Ограничения.

       Устройство разработано по принципу КАК ЕСТЬ и автор не несёт ответственности за явный (или не явный) ущерб, причинённый в результате повторения.

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

       Если у вас возникли вопросы и предложения - пишите мне по адресу внизу страницы

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

       Кошелёк для оплаты накладных расходов на сайт Z158779319858 в системе WebMoney.

       Принимаю только безвозмездную помощь :)


       Все статьи, опубликованные на этом сайте защищены Частью 4 Гражданского Кодекса Российской Федерации. Запрещено полное или частичное копирование материалов без согласия их авторов. Незаконное использование материалов сайта влечет за собой административную ответственность в виде компенсации в размере от 10.000 рублей до 5.000.000 рублей [Ст. 1301, 1250, 1252, 1253 ГК РФ]. При согласованном использовании материалов сайта обязательна активная ссылка на www.mindrunway.ru и указание авторства.



Copyright© 2007-2012 QuickWitted Почта     grani СОБАКА mindrunway РУ
Ссылки
Гостевая
Форум