Задался целью, сделать для своих любимых дома HTPC сервер.
Используемая аппаратная часть:
Корпус:
MiniATX 90WMotherboard:
Intel Atom 330HDD:
Samsung 1Tb + радиаторПривод:
DVD-RW IDE от ноутбукаRAM:
1Gb Transcend х 2 шт.Шаги создания:
1. Установка Ubuntu 9.10 Desktop;
2. Настройка сетевого интерфейса;
3. Обновление установленной системы;
4. Установка XBMC 9.11;
5. Создание автоматического входа в систему;
6. Пайка IR-приемника (не пугаться, очень легко);
7. Настройка IR-приемника;
8. Настройка запуска XBMC с кнопки "POWER" с ПДУ;
9. Настройка XBMC, для управления с пульта ДУ.
Ну что начнем. Сильно не ругайте, так как это мой первый пост на форуме. Если что то неправильно написал или сделал, ткните пальцем.
Шаг 1. Установка Ubuntu 9.10 Desktop
Устанавливаем Ubuntu 9.10 Desktop стандартно.
Думаю что осложнений не будет с этим.
Будем считать что у нас домашняя сеть со следующими параметрами
Имя ПК:
xbmcIP address static:
192.168.1.5Network:
192.168.1.0Gateway:
192.168.1.1 # ADSL настроен в виде роутера
Шаг 2: Настройка сетевого интерфейса eth0Запускаем терминал.
Удаляем
avahi-daemon и
network-manager-gnome командой:
$ sudo aptitude remove avahi-daemon network-manager
Редактируем
/etc/hosts и добавляем следующую строчку:
$ sudo nano /etc/hosts
127.0.0.1 xbmc
127.0.1.1 xbmc
192.168.1.5 xbmc xbmc.local xbmc
...
Сохраняемся!!!
Редактируем
/etc/hostname
$ sudo nano /etc/hostname
xbmc.local
Редактируем файл
/etc/network/interfaces$ sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.5 #IP адресс компьютера в домашней сети
netmask 255.255.255.0 #Маска подсети
network 192.168.1.0 #Сеть в которой находится ПК
broadcast 192.168.1.255
gateway 192.168.1.1 # Шлюз в нашей домашней сети
Сохраняемся!!!
Перезапускаем интерфейс командой:
$ sudo /etc/init.d/networking restart
Перезапускаем сетевой интерфейс командой:
$ sudo /etc/init.d/networking restart
Шаг 3 : Обновление установленной системыПроизводим обновление системы:
$ sudo aptitude update
$ sudo aptitude upgrade
Шаг 4: Установка XBMC 9.11Добавляем в
source.list репы XBMC командой:
$ sudo add-apt-repository ppa:team-xbmc
Обнавляем репозитории командой
$ sudo aptitude update
Устанавливаем XBMC командой:
$ sudo aptitude install xbmc
Еще раз обнавляем репозитории:
$ sudo apt-get update
При такой установке Вам не нужно будет добавлять PPA ключи. XBMC уже установлен.
Шаг 5: Создание автоматического входа в системуИдем: Система -> Администрирование -> Экран входа в систему (System -> Administration -> Login Window)
Нажимаю кнопочку: Разблокировать и ввожу пароль пользователя User (например)
Далее нажимаю кнопку: Закрыть.
Шаг 6: Пайка IR-приемникаСразу не надо ужасаться, потому что ничего сложного нет вообще. Схема очень проста, даже проще некуда. Выпаял IR приемник с умершего видеомагнитофона. COM разъем купил, он не дорогой. Аккуратно спаял схему и встроил в корпус. А схема вот такая:
Обязательно надо что бы ИК-приемник был 5-ти вольтовый. Даже не задумываясь, выпаял несколько резисторов с платы старого видеомагнитофона, и диод, даже не зная марки его. Резисторы номиналом не такие были.
Шаг 7: Настройка IR-приемникаУстанавливаем LIRC командой:
$ sudo aptitude install lirc liblircclient0 lirc-modules-source setserial
Нам выкинет окно с выбором IR приемника, честное слово я незнал какой именно выбирать, выбрал примерно
16550A port Srial port, а на следующий вопрос ответил
Custom, выбрал
/dev/ttyS0 и все.
В файле
/var/lib/setserial/autoserial.conf удаляем все и прописываем это если приемник на
СОМ1:
$ nano /var//lib/setserial/autoserial.conf
/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
У меня получилось следующее:
user@xbmc:~$ lsmod | grep lirc
lirc_serial 11892 0
lirc_dev 10804 1 lirc_serial
Потом надо было проверить само устройство, вообще оно работает???
Делаем символьную ссылку на
/dev/lirc$ sudo ln -s /dev/lirc0 /dev/lirc
Запускаю:
$ sudo mode2
Беру любой пульт старый как раз от того видеомагнитофона который уже давно отошел в мир иной, и начинаю клацать на кнопочки направляя на свой ИК приемник, уаля, у меня побежали вот такие цыфры.
space 1831558
pulse 9076
space 4451
pulse 610
space 1652
pulse 589
space 517
pulse 615
space 519
pulse 640
space 493
pulse 592
space 1653
pulse 643
space 1606
Значит ИК-приемник работает, и пульт еще тоже живой.
Редактируем файлик
/etc/lirc/hardware.conf удаляем все и вписываем нижние строчки
$ sudo nano /etc/lirc/hardware.conf
LOAD_MODULES=true
MODULES="lirc_serial"
LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_DEVICE="/dev/lirc0"
Рестартим
lirc$ sudo /etc/init.d/lirc restart
sudo /etc/init.d/lirc restart
* Stopping remote control daemon(s): LIRC [ OK ]
* Loading LIRC modules [ OK ]
* Starting remote control daemon(s) : LIRC [ OK ]
Теперь мне осталось сделать конфиг пульта, который от видеомагнитофона
Для создания своего конфига запускаем специальную программу:
$ sudo irrecord -d /dev/lirc0 ~/lircd.conf
Нажимаем 2 раза Enter. Здесь нас просят понажимать кнопки на пульте, должны пройти две полоски по 80 точек. После этого появится приглашение ввести имя считываемой кнопки, а только потом нажать эту кнопку для записи в конфиг
Please enter the name for the next button (press to finish recording)
Вводим имя кнопки (например:
Menu) и жмем
Enter, нажимаем кнопку
Menu на пульте, и повторяем это для всех остальных кнопок пульта. Главное при создании конфига пульта не медлить, если программа не дождется от вас действий в течении 5 сек, то она оборвет создание конфига и прийдется начинать все с начала.
Записанный конфиг копируем в
/etc/lirc/lircd.conf
$ sudo cp ~/lircd.conf /etc/lirc/lircd.conf
Немного отредактируем файлик
/etc/lirc/lircd.conf$ sudo nano /etc/lirc/lircd.conf
и изменим в поле
name, где у нас прописан путь, просто удалим, и напишем например
myir(Например)
cat /etc/lirc/lircd.conf
# Please make this file available to others
# by sending it to
#
# this config file was automatically generated
# using lirc-0.8.6(default) on Fri Dec 11 01:23:03 2009
#
# contributed by
#
# brand: /root/lircd.conf
# model no. of remote control:
# devices being controlled by this remote:
#
begin remote
name myir
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9075 4448
[...]
Сохраняемся
Проверить как работает пульт можно командой
irw, она же показывает имя нажимаемой кнопки
user@xbmc:~$ irw
000000008c73817e 00 Power myir
000000008c73837c 00 Up myir
000000008c73a35c 00 Enter myir
Теперь осталось создать конфиг для приложения, которым мы будем управлять дистанционно. Управляться с LIRC могут не все приложения, а только те которые имеют его поддержку. Но XBMC точно поддерживает lirc.
Шаг 8:Настройка запуска XBMC с кнопки "POWER" с ПДУЗаходим в терминал, и в папке
/home/user/ создаем файл
.lircrc и заполняем следующими строчками
$ cd /home/user
$ sudo touch .lircrc
$ sudo nano .lircrc
begin
prog = irexec
button = Power
config = sh ~/.scripts/irexec/xbmc.sh
end
Далее в папке
/home/user/ создаем следующие директории
/.scripts/irexec и создаем файлик
xbmc.sh и даем права на запуск.
$ sudo mkdir .scripts
$ cd .scripts
$ sudo mkdir irexec
$ cd irexec
$ sudo touch xbmc.sh
$ sudo nano xbmc.sh
#/bin/sh
if [ "`ps -C xbmc.bin -o comm=`" != 'xbmc.bin' ]; then
nohup xbmc &
exit 1
fi
Огромную благодарность приношу за помощь в этом Виталию Катраеву по нику Zawullon.
Теперь при запуске в консоле
irexec и нажатии кнопки
Power на пульте, запускается XBMC
Шаг 9: Настройка XBMC, для управления с пульта ДУ.Раньше в старых версиях
xbmc необходимо было настраивать файл
Lircmap.xml в папке
/home/user/.xbmc/userdata/Lircmap.xml , а сейчас в данной версии, надо просто будет отредактировать файл
Lircmap.xml в папке
/usr/share/xbmc/system и вписать туда названия наших кнопок, они выделены жирным шрифтом
В данном файле можно просто дописав свою конфигурацию под свой пульт, но я не стал себя сильно утруждать, и исправил прямо в первой же конфигурации под свои нужды.
Пример вот такой:
$ cat /usr/share/xbmc/system/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="myir">
<play>Enter</play>
<pause>Pause</pause>
<stop>Source</stop>
<forward>Forward</forward>
<reverse>Rewind</reverse>
<left>Left</left>
<right>Right</right>
<up>Up</up>
<down>Down</down>
<select>Enter</select>
<pageplus>KeyUp</pageplus>
<pageminus>KeyDown</pageminus>
<back>Back</back>
<menu>Menu</menu>
<title>Guide</title>
<info>More</info>
<skipplus>Skip</skipplus>
<skipminus>Replay</skipminus>
<display>Teletext</display>
<start>Home</start>
<record>Record</record>
<volumeplus>VolumeUp</volumeplus>
<volumeminus>VolumeDown</volumeminus>
<mute>Mute</mute>
<power>Power</power>
<myvideo>Videos</myvideo>
<mymusic>Music</mymusic>
<mypictures>Pictures</mypictures>
<mytv>TV</mytv>
<one>One</one>
<two>Two</two>
<three>Three</three>
<four>Four</four>
<five>Five</five>
<six>Six</six>
<seven>Seven</seven>
<eight>Eight</eight>
<nine>Nine</nine>
<zero>Zero</zero>
<star>Star</star>
<hash>Hash</hash>
<clear>Clear</clear>
<enter>Enter</enter>
<red>Red</red>
<green>Green</green>
<yellow>Yellow</yellow>
<blue>Blue</blue>
</remote>
<remote device="XboxDVDDongle">
<play>PLAY</play>
<pause>PAUSE</pause>
<stop>STOP</stop>
<forward>FORWARD</forward>
<reverse>REVERSE</reverse>
[...]
Осталось последнее, добавить запуск irexec в автозапуск
Идем в
Система -> Параметры -> Запускаемые приложения -> ДобавитьИмя:
Запуск IrexecКоманда:
irexec -dСохраняемся и перезапускаем систему. Все. С настройкой видеокарты для ТВ, я думаю осложнений не вызовет. А настройка самого
xbmc для просмотра, видеорежима, калибровки и локализации ничего сложного, выполняеться в самом
XBMC Могу добавить, для перевода на русский шрифт, выберите в настройках, язык
Русский, и обязательно укажите Шрифт
Arial, и будет у вас русский XBMC
Далее создаем папку для видео, фото на жестком диске. А в XBMC указываем папки назначения. Сам интерфейс XBMC очень понятен и красиво сделан.
Все