Ну во первых, исходные условия задачи:
- Есть старый компьютер
- Есть старый пульт от некоего DVD-плеера
- Ну и конечно телевизор
sudo add-apt-repository ppa:team-xbmc-svn/ppa sudo apt-get update sudo apt-get install xbmc smbnetfs lirc lirc-x openssh-serverЗапускаем xbmc, если вылетает ошибка, значит нет необходимых 3D драйверов, нужно либо возиться с проприетарными драйверами, либо ставить другую видеокарту. Тут я только узнал, что свободный драйвер radeon теперь поддерживает 3d ускорение. Далее нужно настроить tv-out. Если иксы видят телевизор, значит все включится автоматом, или нужны пляски с xrandr xvattr и т.д. и т.п. Все в принципе болванка готова, осталось настроить автозапуск xbmc и smbnetfs и можно пользоваться. Однако с пульта все же удобнее. Для начала нужен приемник - я собрал простенький по схеме с lirc.org. Затем включение:
sudo dpkg-reconfigure lirc # указываем Home-brew (16x50 UART compatible serial port) и порт на который он подключен sudo xmode2 -d /dev/lirc0 # нажимаем на кнопки на пульте и если все правильно - видим на экране веселые графикиЗатем, если вашего пульта нет в базе данных lirc - надо снять его характеристики:
sudo su - cd /etc/lirc irrecord -n -d /dev/lirc0 xoro.confтут вас попросят 2 раза зажимать разные кнопки в течении секунды пока на экране не появятся 80 точек, затем нужно каждую кнопку записать и если все хорошо, то создастся конфиг к вашему пульту. Затем:
echo 'include "/etc/lirc/xoro.conf"' >>lircd.conf service lirc restart irw # тут нажимаем кнопки на пульте чтобы увидеть все ли правильноВсе пульт настроен, теперь нужно указать xbmc как реагировать на команды с пульта. Для этого копируем /usr/share/xbmc/system/Lircmap.xml в $home$/.xbmc/userdata/ и правим файл согласно шаблону, нужно исправить название пульта и названия кнопок под свои. Затем запускаем xbmc и смотрим есть ли управление.
Вроде все, есть несколько замечаний правда:
- Все это можно сделать и под виндой, есть проект winlirc
- Можно добавить несколько пультов
- Если вашего пульта нет в базе lirc стоит отправить конфиг по адресу в irrecord
- Надо подумать как удаленно включать компьютер, мне в голову кроме переделки приемника под микроконтроллер пока ничего не приходит
- todo: Надо добавить картинок в пост, а также положить конфиги
- Также надо попробовать подцепить тв-тюнер и торренты
# Please make this file available to others # by sending it to <lirc@bartelmus.de> # # this config file was automatically generated # using lirc-0.8.7-pre3(default) on Fri Dec 3 15:19:21 2010 # # contributed by # # brand: xoro # model no. of remote control: HSD 308 # devices being controlled by this remote: # begin remote name xoro bits 16 flags SPACE_ENC|CONST_LENGTH eps 30 aeps 100 header 9044 4501 one 572 1684 zero 572 555 ptrail 570 repeat 9044 2243 pre_data_bits 16 pre_data 0xFF gap 108362 toggle_bit_mask 0x0 begin codes power 0x30CF mute 0x10EF open 0x00FF setup 0x807F pbc 0xC23D ntsc 0x42BD search 0x827D clear 0xA25D title 0x32CD audio 0x12ED subtitle 0x22DD ip 0x02FD menu 0xF00F return 0xC03F up 0xE01F down 0xD02F left 0x708F right 0x50AF enter 0x609F display 0xC837 stop 0xF807 play 0x1AE5 slow 0x2AD5 pause 0xBA45 ab 0x9A65 fastfr 0xAA55 fastff 0x8A75 resume 0x7A85 repeat 0x5AA5 skipr 0x6A95 skipf 0x4AB5 volup 0xCA35 voldown 0xEA15 angle 0x38C7 shuffle 0x18E7 zoom 0x28D7 prog 0x08F7 k1 0xB04F k2 0x906F k3 0xA05F k4 0xF20D k5 0xD22D k6 0xE21D k7 0x728D k8 0x52AD k9 0x629D k0 0xB24D k10plus 0x926D end codes end remote~/.xbmc/userdata/Lircmap.xml:
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml --> <!-- --> <!-- How to add remotes --> <!-- <remote device="name_Lirc_calls_the_remote"> --> <!-- --> <!-- For the commands the layout following layout is used --> <!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND> --> <!-- --> <!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml --> <lircmap> <remote device="xoro"> <play>play</play> <pause>pause</pause> <stop>stop</stop> <forward>fastff</forward> <reverse>fastfr</reverse> <left>left</left> <right>right</right> <up>up</up> <down>down</down> <select>enter</select> <pageplus>pp</pageplus> <pageminus>pm</pageminus> <back>return</back> <menu>menu</menu> <title>tite</title> <info>More</info> <skipplus>skipf</skipplus> <skipminus>skipr</skipminus> <display>display</display> <start>Home</start> <volumeplus>volup</volumeplus> <volumeminus>voldown</volumeminus> <mute>mute</mute> <power>power</power> <myvideo>Videos</myvideo> <mymusic>Music</mymusic> <mypictures>Pictures</mypictures> <mytv>TV</mytv> <one>k1</one> <two>k2</two> <three>k3</three> <four>k4</four> <five>k5</five> <six>k6</six> <seven>k7</seven> <eight>k8</eight> <nine>k9</nine> <zero>k0</zero> <clear>clear</clear> </remote> </lircmap>