LIRC / MythTV s dálkovým ovládáním
13. Leden 2009
Nejtežší na celém procesu zprovoznění dalkového ovládání do MythTV je rozběhání podpory ovládání v linuxu. Pokud se nám toto podaří, tak už máme celkem vyhráno.

Pokud jsme zakoupili TV kartu s IR čidlem, pro kterou má linux plnou podporu tak jsme šťastlivci. V ostatních případech se buďto můžeme pustit do hledání návodů na internetu a patchování kernelu (jako když jsem zprovozňoval kartu KWorld DVB-T 210) nebo se smířit, že počítač budem dálkově ovládat pokřikem na ženu:-D
Pokud by se někdo chtěl pustit do bastlení vlastního IR příjmače, tak by se měl podívat na návod na sestrojení IR na linuxzone.cz

V našem návodu budeme předpokládat, že linux kartu úspěšně identifikoval a nebude potřeba žádných harakiri. To zda-li systém IR čidlo "vidí" můžeme snadno zjistit z dmesg, např. následujícím příkazem, kdy jedna z řádek měla být smysluplná informace, že se jedná o infrared zařízení.

grep IR-receiver

Poblíž tohoto záznamu v logu by měla být informace o nově vytvořeném zařízení s adresou /dev/input/eventX. Linux totiž dálkové ovládání připojí stejně jako klávesnici, nebo myš a vytvoří adresu ve tvaru /dev/input/eventX (X je nahrazeno číslem). Tato adresa zařízení je pro nás velmi důležitá, neboť bude potřeba pro konfiguraci LIRC (Linux Infrared Remote Control).

To, zda-li dálkové ovládání funguje, můžeme snadno vyzkoušet pomocí programu evtest (debian balík dvb-utils), kterému předáme adresu IR zařízení. Tedy např.:

evtest /dev/input/event9

Po stisku tlačítka na dálkové ovladači bychom měli vidět v konzoli novou řádku s informací, které tlačítko bylo zmáčknuto.

Teoreticky by nyní náš dálkový ovladač měl pracovat jako klávesnice. Např. stisknutí tlačítka 1 by mělo vyvolat stejnou akci jako při stisku této klávesy na klávesnici - tedy napsání číslice jedna.

Vzhledem k tomu, že my budeme potřebovat inteligentněší chování, budeme muset zprovoznit LIRC. Tento program nainstalujeme následujícím příkazem

sudo apt-get install lirc

Během instalace bychom měli být vyzvání k výběru našeho dálkového ovladače. Ovšem seznam je velmi chudý a pravděpodobně v seznamu naše karta není. Toto není problém, v následujícím postupu popíši jak nakonfigurovat jakoukoliv kartu.

Pomocí programu irrecord si můžeme "nahrát" kódy tlačítek z dálkového ovladače a vytvořit tím konfigurační soubor pro LIRC.
Program spustíme s následujícími parametry (eventX nahradíme skutečnou adresou našeho zařízení)

irrecord --driver=devinput --device=/dev/input/eventX /home/josef-kyrian/nas_ovladac-lirc.conf

Nyní budeme dělat to, co nám program přikazuje. Nejprve po nás bude chtít, abychom drželi stisknuté jakékoliv tlačítko z čehož pozná mezeru v signálu, aby pak mohl rozpoznávat kódy tlačítek.
Pokud program tuto mezeru úspěšně identifikuje, oznámí nám to a nyní po nás bude chtít, abychom postupně pojmenovali a stiskli všechna tlačítka na ovladači. Názvy jsou libovolné. Tyto názvy poté budeme používat v nastavení ovladání jednotlivých programů, jako je MythTV mplayer, atd...

V tento moment máme kompletní konfigurační soubor pro náš ovladač pro LIRC. Nyní musíme LIRC nastavit, tak aby náš konfigurák používal. Toto provedeme editací souboru /etc/lirc/hardware.conf. Ten by měl mít následující tvar (hodnoty REMOTE_DEVICE a REMOTE_LIRCD_CONF nastavte podle sebe)


# /etc/lirc/hardware.conf

# Arguments which will be used when launching lircd
REMOTE_LIRCD_ARGS=""

# Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
REMOTE_DRIVER="dev/input"

REMOTE_MODULES=""

LIRCMD_CONF=""

# !!! adresa naseho IR zarizeni
REMOTE_DEVICE="/dev/input/event4"

# !!! cesta k souboru s nastavenim
REMOTE_LIRCD_CONF="home/josef-kyrian/nas_ovladac-lirc.conf"


Po uložení souboru a restartu aplikace, by nám již měl spolupracovat LIRC s naším dálkovým ovladačem. Nyní tedy provedeme restart aplikace a vyykoušíme, zda-li funguje správně.

sudo /etc/init.d/lirc restart

Zda-li nám LIRC funguje, vyzkoušíme pomocí programu irw. Spustíme jej následujícím příkazem. Pokud LIRC neběží, nebo nefunguje správně, dostaneme hlášku Connection refused.

irw

Stiskem tlačítka na dálkovém ovladači, by se nám do konzole měl vypsat název tlačítka, tak jak jsme si jej pojmenovali, když jsem sbírali kódy pomocí irrecord.

Pokud Vám do této chvíle všechno funguje, tak máte vyhráno. Teď už zbývá jen nakonfigurovat dané programy využívající LIRC jako např. MythTV, mplayer atd...

Konfigurace mplayer


mplayer používá sdílený kofigurační soubor pro LIRC. Nevím proč jej nevyužívá i MythTV, proč má vlastní ačkoliv formát je úplně stejný. Cesta k tomuto souboru je ~/.lirrc
Formát je následující:

begin
button = NAS_NAZEV_TLACITKA
prog = nazev_programu
config = prikaz_co_se_ma_provest
end
...
example:

begin
button = PAUSE
prog = mplayer
config = pause
end

begin
button = BACK
prog = mplayer
config = seek -300s
end

begin
button = FORWARD
prog = mplayer
config = seek +300s
end

Seznam použítelných příkazu najdete na stránkách mplayeru v sekci control slave mode


Konfigurace MythTV


Narozdíl od mplayeru a dalších aplikací MythTV používá konfigurační soubor umístěný ve svém adresáři. Cesta k tomuto souboru je ~/.mythtv/lircrc Formát je úplně stejný jako v příkladu uvedeným nahoře. Konfigurační soubor může vypadat např. takto:

begin
prog = mythtv
button = DOWN
config = Down
end

begin
prog = mythtv
button = UP
config = Up
end

begin
prog = mythtv
button = RIGHT
config = Right
end

begin
prog = mythtv
button = LEFT
config = Left
end

begin
prog = mythtv
button = MENU
config = m
end
...

MythTV nepoužívá samo o sobě extra příkazy, ale je potřeba nastavit tlačítkům různé akce, simulující stisknutí tlačítka na klávesnici. Seznam použitelných klávesových zkratek a jejich akcí najdete na stránkách MythTV v sekci Keybindings. Podrobný návod na nastavení naleznete v sekci MythTV LIRC


<< Na začátek < Novější články | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | Starší články > Na konec >>

Poslední příspěvky
Enable MySQL's slow query log without restarting MySQL
Chrome jako výchozí aplikace pro odkazy v Thunderbird
OpenVPN jako náhrada za SixXS IPv6 tunel
Linux command line (G)UI disk usage tool
Linux mouse speed & acceleration
Linux console set US keyboard layout
Disable baloo baloo_file_cleaner etc...
GRUB repair
Převod ext3 na ext4
Set display brightness via command line
Compare debian packages version
Yakuake Ctrl+Shift+X shortcut
Vytvoření iso souboru
Přidání ubuntu PPA repositáře (Personal Package Archive)
Instalace oracle java z repositáře
Analýza obsazenosti disku
Zabití stromu procesu
Diakritika v názvech souborů v zipu z windows
Odstranění souborů podle určitého filtru
Výpočet autoconf ipv6 adresy z mac adresy
Použití vimdiff
Network top-like program
Preferování IPv4 před IPv6
Výpis disků a jejich UUID
Výroba síťového UTP kabelu s konektory RJ-45
Sony Vaio F11 vs ubuntu vs 802.11n
Ping rozsahu ip adres
Zjištění sériového čísla disku
Linux hotswap HDD
Logování přístupu programů na disk
Omezení rychlosti netu spuštěného programu
Výpis neplatných symlinků
Výpis programů naslouchajících na některém portu
MySQL Per-Table Tablespaces
Kopírování složek přes ssh
Synchronizace aktuálního času
Duplicitní soubory na disku
Rezervované místo na disku pro roota
Vypsání složek seřazených podle velikosti
Změna zdroje symbolických linků
Java decompiler
Buildování debian source balíčků
Vypnutí/zapnutí monitoru přes command line
Priorita přístupu procesů na disk v linuxu
Zobrazení rychlosti kopírování dd
Midnight Commander unzip problem
Interlaced video v mplayeru
Odstranění AppArmor
Network stream vs mplayer
Generování hesla pod linuxem
Vytvoření /dev/null
Vyprazdnění disk cache v linuxu
Reverzní proxy nginx -> apache se zachováním remote ip
Spouštění php skriptu v apachi pod UID skriptu
Edimax nLite EW-7711UAn vs. ubuntu (linux)
jEdit match whole word only
Pocket PC development
Změna Linux Login Shell
Windows media video ve Firefoxu v linuxu
Předávání parametrů do BASH funkcí referencí
Web browsing via ssh/socks proxy
Ubuntu live z usb flash
Vypnutí automatické synchronizace ActiveSync ve Windows Mobile
Automatické odpojení GPRS na Windows Mobile
Windows fonty v linuxu
Java plugin do Firefoxu pod linuxem
Mysql default encoding
MythTV samozapnutí PC před nahráváním
Wake on LAN vs linux / Zapínání PC mobilem
Text to speech
VirtualBox rozlišení 1920x1080
LIRC / MythTV s dálkovým ovládáním
VirtualBox rebuild kernel modulu
Cool'n'Quiet vs linux
KWorld DVB-T 210 vs linux
NVIDIA PureVideo vs linux
Bluetooth myš vs linux
Copyright © 2007-2017 Josef Kyrian, designed by Luke