Итак,чтобы воспользоваться этим "чудом" нам потребуется совсем немного, а именно ИК-приемник, пульт ДУ и свободное время.
Устанавливаем LIRC:
Код # sudo aptitude install lirc liblircclient0 lirc-modules-source setserial
для сборки модуля ядра нам понадобится еще и module-assistant и исходники ядра, поэтому даем еще одну команду:
Код # sudo aptitude install module-assistant linux-headers-$(uname -r)
Далее набираем в консоли
Код # sudo dpkg-reconfigure lirc-modules-source
Здесь выбираем "serial", т.к. именно он будет ипользоваться приемником, собранным по данной схеме. Далее у нас спрашивают тип поддержаваемых устройств, тут выбираем "ANIMAX" (почему именно это, сам не знаю, прочел на каком-то итальянском форуме). На следуюшие 2 вопроса отвечаем отрицательно. Жмем ОК. Если приемник висит на COM1, то оставляем 0x3f8, если на COM2, то 0x2f8. IRQ для СОМ1 4, для СОМ2 3. Дальше выбираем "Установить локальную версию файла" и жмем ОК.
Теперь собственно сборка модуля:
Код # sudo m-a update,prepare # sudo m-a clean lirc # sudo m-a a-i lirc
Устанавливаем модуль:
Код # sudo depmod -a
В файле /var/lib/setserial/autoserial.conf прописываем это если приемник на СОМ1:
Код /dev/ttyS0 uart none
или это если приемник на СОМ2.
Код /dev/ttyS1 uart none
Копируем этот файл в /etc
Код # sudo cp /var/lib/setserial/autoserial.conf /etc/serial.conf
Подгружаем собранный модуль:
Код # sudo modprobe lirc_serial
смотрим подгрузился он или нет
Код # lsmod | grep lirc
Должно быть примерно так:
Код evgeny@desktop: ~$ lsmod | grep lirc lirc_serial 12020 1 lirc_dev 10548 1 lirc_serial
Сейчас можно проверить работает наш приемник или нет. Для этого набираем следующую команду:
Код # mode2
направляем пульт на приемник и жмем разные кнопочки, мы должны увидеть примерно это
Код evgeny@desktop: ~$ mode2 space 3078511 pulse 9025 space 4417 pulse 663 space 454 pulse 664 space 1570 pulse 663 space 1568 pulse 668 space 1565 pulse 663 .....
если при нажатии кнопок появляются эти символы, значит наш приемник исправно работает. Продолжим настройку. Создадим файл /etc/lirc/hardware.conf (если его нет) со следующим содержанием:
Код LOAD_MODULES=true MODULES="lirc_serial" LIRCD_CONF="/etc/lirc/lircd.conf"
Настройка LIRC почти закончена, пробуем запустить его:
Код # sudo /etc/init.d/lirc start Starting lirc daemon: lircd.
Теперь осталось только сделать конфиг пульта (ленивые могут поискать готовый для своего пульта на сайте www.lirc.org) Для создания своего конфига запускаем специальную программу:
Код # irrecord -d /dev/lirc0 ~/lircd.conf
Нажимаем 2 раза Enter. Здесь нас просят понажимать кнопки на пульте, должны пройти две полоски по 80 точек. После этого появится приглашение ввести имя считываемой кнопки
Код Please enter the name for the next button (press <ENTER> to finish recording)
Вводим имя кнопки (например: PLAY) и жмем Enter. Повторяем это для всех остальных кнопок пульта. Главное при создании конфига пульта не медлить, если программа не дождется от вас действий в течении 5 сек, то она оборвет создание конфига и прийдется начинать все с начала. Записанный конфиг копируем в /etc/lirc/lircd.conf
Код # sudo cp ~/lircd.conf /etc/lirc/lircd.conf
Проверить как работает пульт можно командой irw, она же показывает имя нажимаемой кнопки
Код # irw 00000000768910ef 00 play LG 00000000768910ef 01 play LG 000000007689c03f 00 ff LG 000000007689c03f 01 ff LG 00000000768940bf 00 rew LG 00000000768940bf 01 rew LG 00000000768909f6 00 right LG 00000000768909f6 01 right LG 00000000768912ed 00 speed LG 00000000768912ed 01 speed LG
Если при нажати кнопки irw показывает ее 2-3 раза это не страшно, LIRC это умеет обрабатывать.
Теперь осталось только создать конфиг для приложений, которыми мы будем управлять дистанционно. Управляться с LIRC могут не все приложения, а только те которые имеют его поддержку. Я приведу пример настройки MPLayer и Audacious. Эти настройки хранятся в файле ~/.lircrc или /etc/lirc/lircrc
Код begin button = ff (имя кнопки) prog = mplayer (имя приложения) config = seek 10 (команда приложения) repeat = 1 (повторять действие, когда удерживается кнопка, 0 - не повторять) end
Для примера вот конфиг:
Код #################################### # Audacious # #################################### #воспроизведение begin prog = audacious button = play config = PLAY repeat = 0 end #пауза begin prog = audacious button = pause config = PAUSE repeat = 0 end #стоп begin prog = audacious button = stop config = STOP repeat = 0 end #песня вперед begin prog = audacious button = ff config = NEXT repeat = 0 end #песня назад begin prog = audacious button = rew config = PREV repeat = 0 end #громкость + begin prog = audacious button = right config = VOL_UP repeat = 1 end #громкость - begin prog = audacious button = left config = VOL_DOWN repeat = 1 end #звук вкл/выкл begin prog = audacious button = speed config = MUTE repeat = 0 end #перемотка вперед begin prog = audacious button = eject config = FWD repeat = 1 end #################################### # MPlayer # #################################### #Звук + begin button = right prog = mplayer config = volume 1 repeat = 1 end #Звук - begin button = left prog = mplayer config = volume -1 repeat = 1 end #старт\стоп воспроизведение begin button = pause prog = mplayer config = pause end #во весь экран begin button = menu prog = mplayer config = vo_fullscreen end #прокрутка назад на 10 секунд begin button = rew prog = mplayer config = seek -10 end #прокрутка вперед на 10 секунд begin button = ff prog = mplayer config = seek 10 end #Закрыть mplayer begin button = power prog = mplayer config = q end
Для работы Audacious нужно включить плагин LIRC: Настройки -> Модули -> Общие -> LIRC plugin. Ну вот и все, теперь можно валяясь на диване переключать песни и т.д. Удачи)
Источник: http://unixforum.org/index.php?showtopic=99268 |