Плагин 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
Назначение
выводов:
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 |
|
NC
(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.
* Большое спасибо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")
}
}
|