Плагин Generic SIR IrDA device

Прием ИК команд с пульта ДУ через SIR IrDA (Tekram IR-210)

Теория 1

Теория 2

Железо
Возможны 3 варианта:

1. Внешний IrDA порт (Tekram IR-210), подключаемый в COM порт.

2. Встроенный IrDA порт (например на ноутбуке)

3. RX устройство. Это может быть любой ИК приемник (для бытовой аппаратуры, купленный в радиодеталях), подключенный в IrDA порт материнской платы (даже не придется паять).

Рекомендую TSOP1836 (стоит примерно $2). Аналоги от других производителей: IS1U60L, GP1U52X, SFH506-36,TK1833, ILMS5360, TK69 649, TFMS 5NN0

SFH506-36Назначение выводов:
1. GND (земля)
2. VCC (питание +5V)
3. TX (соединяется с RX на материнской плате)

Разводка IrDA разъема на материнской плате обычно бывает одного из двух следующих вариантов (лучше если вы посмотрите ее в инструкции):

5-пиновый:
1 2 3 4 5
+5V NC RX GND TX
7-пиновый:
1 2 3 4 5 6 7
RX GND TX +5V RXH +5V GND

TK1833NC (Not Connected) - этот контакт может просто отсутствовать

Остается только соединить соответствующие контакты каким-нибудь проводком. Очень хорошо подходит аудио-шнурок от CD-ROM, или кабель от старой COM мыши - нужно только переставить в нем пару контактов.

Наилучший результат будет с 3-м вариантом, так как используется ИК приемник специально предназначенный для ДУ (в IrDA нет полосового фильтра, демодулятора, и вообще они предназначены не для пульта). Однако учитывая ограничения на используемые пульты (см. ниже) стоит рассмотреть DCD приемник. Использовать этот плагин имеет смысл только при наличии встроенного или внешнего IrDA порта и невозможности использования других приемников для ДУ типа UIR / Uniper.

Поддерживаемые пульты:

Поддерживается только pulse-distance модуляция, поэтому пульты SONY (pulse-length) и Philips, Samsung, другие RC-5 пульты (Bi-phase) работать не будут.

Нормально работают пульты JVC.

На пультах с кодировкой NEC (когда код передается 1 раз при нажатии кнопки и потом при удержании кнопки идут импульсы повтора) повтор не опознается. К таким пультам относятся AIWA, AverMedia, Creative, HITACHI, NOKIA и др.

Как бороться с драйверами

Если используется внешний IrDA порт (Tekram IR-210), то проще всего установить на него драйвера на один СОМ порт (например COM1), а перед использованием для ДУ, перетыкать в другой свободный COM порт (например COM2). Тогда не придется сносить драйвера.

Если используется встроенный IrDA порт, то

СНАЧАЛА следует отключить стандартные драйвера для IrDA, которые ставятся после включения IrDA.

Описание Ссылка #1 Ссылка #2 Размер
Примеры .inf файлов для всех Windows inf_samples.zip inf_samples.zip 51KB

* Большое спасибоhttp://cmail.info.kuzbass.net/~nav/

Если у вас Windows 9x или Windows ME, то найдите msports.inf в каталоге Windows\Inf и отредактируйте его:
1) В секции [Std] закоментируйте/удалите следующие строки (если они есть):

%*PNP0510.DeviceDesc% = InfraredComPort, *PNP0510
%*PNP0511.DeviceDesc% = InfraredComPort, *PNP0511

Раскоментируйте/добавьте следующие строки:

%*PNP0510.DeviceDesc% = ComPort, *PNP0510
%*PNP0511.DeviceDesc% = ComPort, *PNP0511

2) В секции [Strings] раскоментируйте/добавьте следующие строки:

*PNP0510.DeviceDesc = "Generic Ir Serial Port"
*PNP0511.DeviceDesc = "Generic Ir Serial Port"

Кроме того, для Windows ME надо удалить irmini.inf (или, лучше переименовать его например в irmini.bak)

Для Windows 2000 стандартные драйвера удаляются так:
1) В netirsir.inf удалите строки:

%*PNP0510.DevDesc% = PNP, *PNP0510
%*PNP0511.DevDesc% = PNP, *PNP0511

И замените строку

ExcludeFromSelect=*PNP0510,*PNP0511,*IBM0002,*IBM0034,*IBM0020

на

ExcludeFromSelect=*IBM0002,*IBM0034,*IBM0020

2) В msports.inf добавьте в секцию [Std] строки:

%*PNP0510.DeviceDesc% = ComPort, *PNP0510, *PNP0511 ; Communications Port
%*PNP0511.DeviceDesc% = ComPort, *PNP0511, *PNP0510 ; Communications Port

в секции [Strings] добавьте:

*PNP0510.DeviceDesc = "Generic Ir Serial Port"
*PNP0511.DeviceDesc = "Generic Ir Serial Port"

Добавьте

ExcludeFromSelect=*PNP0510,*PNP0511

в секцию [ControlFlags]

Для Windows XP просто используйте .inf файлы от Windows 2000. Вы можете попробовать отредактировать XP .inf файлы по принципу описанному выше - должно получиться.

И ТОЛЬКО ТЕПЕРЬ включите IrDA в BIOS'е. Обычно еще требуется включить RX inverting. Также имеет смысл отключить FIFO буффера в свойствах ИК COM порта.


Параметры плагина IR210.dll

Для выбора СОМ порта и настройки кнопок пульта откройте "Настройку модуля" для данного плагина.

События:

Тип по умолчанию: "REMOTE"
ID: "<Button name>"
Параметры: Repeat counter, -1 if released

Wait before repeat: 300 ms
Repeat time: 100 ms

Действия: нет.

Пример загрузки этого плагина из скрипта:

Ir210 = Load( "Ir210\Ir210.dll", "REMOTE" )

main = group( enabled ){
OnGroupEnable(){
Ir210.Start()
}
MyButton = hook("remote", "play", enabled, break){
OSD("нажата кнопка Play")
}
}