Skip to content

Home Тюнинг Linux Дистанционное управление в Linux
Дистанционное управление в Linux

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

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

Для работы с инфракрасными датчиками и пультами дистанционного управления используется программа lire, которую можно скачать с www.lirc.org. Перед покупкой инфракрасного датчика убедитесь, что он поддерживается lire. Вот некоторые устройства, которые поддерживаются последней версией lire:

  • animax — AnimaX (Anir Remote Control);
  • avermedia—   Avermedia   (карты   TVCapture   &   TVPhone   (pre   98), TVCapture98 (Ю 0x00021461) и TVPhone98 (Ю 0x00011461));
  • bestbuy — BESTBUY (Easy TV (BT848 и ВТ878 ));
  • caraca — CARACA (RC5 Remote Control);
  • chronos — Chronos Video Shuttle II (BTTV ГО 0x23);
  • cph03x — ASKEY (AS-218/AS-220 — ASKEY MagicTV);
  • creative — Creative (PC-DVD Remote);
  • fly98 — LiveView FlyVideo'98;
  • generic— основные драйверы (Motorola, NEC, SONY, RC-5, RECS80, SANYO, DEMON);
  • hauppauge — Hauppauge (WinTV primo; WinTV pci; WinTV radio);
  • knc_one — KNC ONE (TV Station);
  • knc_one — Anubis (Typhoon TView Tuner);
  • logitech — Logitech (Value Infrared Remote Control);
  • packard_bell — Packard Bell Remote (El Cheapo Packard Bell Remote);
  • pctv (или pinnacle_systems) — Pinnacle Systems (PCTV Remote);
  • pixelview (или playtv) — Pixelview (Pixelview PlayTV PRO, BT878+W/FM, RemoteMaster 2000);
  • provideo — SDeMON ( PV951);
  • realmagic (sigma_designs) — Sigma Designs (REALmagic remote control);
  • silitek — Silitek (SM-1000);
  • technisat — Technisat (MediaFocus PC card);
  • tekram — Tekram M230 (ATI 264VT (btt829));
  • winfast — Leadtek (Leadtek CoolCommand (Winfast TV2000)).

Подробный список устройств вы найдете в файле doc/html/table.html.


На сайте www.lirc.org вы найдете как исходные тексты программы lire, так и пакет RPM с уже откомпилированной версией программы. Намного проще установить уже готовый RPM. После его установки появится новое устройство /dev/lirc, но, как вы потом увидите, это всего лишь ссылка на /dev/ttyS0 — первый последовательный порт, т. е. СОМ1.

После установки пакета в файл /etc/modules.conf добавьте строку:

alias char-major-61 lirc_serial

или строку

alias char-major-61 lirc_sir

Первая строка загружает модуль инфракрасного датчика, подключенного к последовательному порту. Вторая — модуль последовательного инфракрасного порта (sir = Serial Infra Red), которым обычно оснащаются ноутбуки.

После этого нужно отключить последовательный порт, к которому подключен датчик — ведь он уже будет выполнять другую функцию. Для этого выполните команду (я подразумеваю, что датчик подключен к СОМ1):

# setserial /dev/ttyS0 uart none

При установке RPM-пакета в каталог /usr/lib будет записан файл lirc_client.o. Убедитесь, что каталог /usr/lib прописан в файле /etc/ld.so.conf, и выполните команду Idconf ig.

Все, что осталось сделать,— это загрузить модуль lirc_serial (или lirc_sir). Сделать это можно командой (или просто перезагрузить машину):

insmod lirc_serial

Теперь осталось настроить программное обеспечение. Принцип следующий. Предположим, что вы нажали на пульте кнопку (любую), пульт передаст код этой кнопки нашему датчику. Пульт в этом случае является передатчиком, а инфракрасный порт — приемником. Вы должны в файле /etc/lircd.conf "прописать" все коды и названия кнопок. Проще всего это сделать с помощью

программы irrecord:

irrecord -d /dev/lirc /etc/lircd.conf

Просто выполняйте указания программы, которая автоматически создаст файл /etc/lircd.conf. Если вам лень работать с irrecord, можно взять уже готовый конфигурационный файл. В каталоге usr/share/doc/lirc-0.6.6/remotes/ вы найдете конфигурационные файлы для всех датчиков, поддерживаемых программой.

А теперь— самое интересное. Сейчас мы запрограммируем действия для каждой клавиши пульта. Для этого вам нужно в своем домашнем каталоге создать файл .lircrc.


Его формат следующий:

begin 
prog = <программа, которая будет обрабатывать нажатие кнопки>
button = <кнопка>
repeat = <если 0, то повторное нажатие кнопки будет проигнорировано>
config = <команда>
end

Вот небольшой пример:

begin 
prog = irexec
button = 1
repeat = 1
config = echo "Нажата кнопка 1"
end

begin
prog = irexec
button = PLAY
config = echo "Нажата кнопка PLAY"
end

begin
prog = irexec
button = STOP
config = echo "Нажата кнопка STOP"
end

На этом настройку вашего инфракрасного приемника можно считать завершенной.

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top