PC Servis a prodej Vondra

Vondra Tomáš, s.r.o.

Návody

Dálkové ovládání na linuxu

Neaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnoceníNeaktivní hodnocení
 

Instalace na Gentoo linux

 

Konfigurace jádra

 

Loadable module support --->

[*] Module unloading

Device Drivers --->

Input device support --->

[*] Event interface

 

Nastavení se liší podle použitého adaptéru, osvědčené jsou irda přes seriový port

audio

audio_alsa

caraca

irman

parallel

serial

uirt2

 

 

Úprava /etc/make.conf


pokud nechceme přeložit všechny dostupné moduly, uvedeme kýžené jako parametr "LIRC_DEVICES"

LIRC_DEVICES="driver"

 

Některá zařízení mají již dostupnou podporu v jádře, viz sekce networking support/irda subsystem support (vytvoří /dev/input/eventX), použijte dev/input driver. Pracuje uspokojivě pro následující zařízení ( netestováno):

 

* X10/Medion/ATI remote controls (ati_remote kernel module)

* Hauppage NOVA-T

 

LIRC_DEVICES="devinput"

 

Jinak zkompilujete podporu pro všechny:

LIRC_DEVICES="all"

 

Instalace balíku setserial

 

emerge setserial

 

rc-update add setserial default

pro automatický start při rebootu

 

nastavení konfiguračního souboru /etc/serial.conf:

/dev/ttyS0 uart none

/dev/ttyS1 uart none

/dev/ttyS2 uart none

/dev/ttyS3 uart none

 

pro jistotu pro všechny dostupné porty

 

Instalace balíku lirc

emerge lirc

rc-update add lircd default

pro automatický start při rebootu

 

pokud nechceme hned restartovat, do konzole napiseme

 

setserial /dev/ttyS0 uart none

modprobe lirc_serial type=1

a výstup logu /var/log/messages by měl vypadat takto:


Sep 15 08:37:18 s_local@pracovna kernel:lirc_dev: IR Remote Control driver registered, major 61
Sep 15 08:37:18 s_local@pracovna kernel:BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/1079
Sep 15 08:37:18 s_local@pracovna kernel:caller is 0xf859f3ac
Sep 15 08:37:18 s_local@pracovna kernel:Pid: 1079, comm: modprobe Tainted: P           2.6.30-gentoo-r6 #1
Sep 15 08:37:18 s_local@pracovna kernel:Call Trace:
Sep 15 08:37:18 s_local@pracovna kernel:[<c02a0698>] ? debug_smp_processor_id+0xa4/0xb8
Sep 15 08:37:18 s_local@pracovna kernel:[<f859f3ac>] ? 0xf859f3ac
Sep 15 08:37:18 s_local@pracovna kernel:[<f85ad000>] ? init_module+0x0/0x287 [lirc_serial]
Sep 15 08:37:18 s_local@pracovna kernel:[<f85ad110>] ? init_module+0x110/0x287 [lirc_serial]
Sep 15 08:37:18 s_local@pracovna kernel:[<c010112d>] ? do_one_initcall+0x44/0x111
Sep 15 08:37:18 s_local@pracovna kernel:[<c016f5eb>] ? tracepoint_module_notify+0x21/0x24
Sep 15 08:37:18 s_local@pracovna kernel:[<c0150af2>] ? notifier_call_chain+0x2a/0x47
Sep 15 08:37:18 s_local@pracovna kernel:[<c0150cfd>] ? __blocking_notifier_call_chain+0x3f/0x49
Sep 15 08:37:18 s_local@pracovna kernel:[<c015bbf7>] ? sys_init_module+0x87/0x187
Sep 15 08:37:18 s_local@pracovna kernel:[<c011cacc>] ? sysenter_do_call+0x12/0x28
Sep 15 08:37:19 s_local@pracovna kernel:lirc_serial: auto-detected active low receiver
Sep 15 08:37:19 s_local@pracovna kernel:lirc_dev: lirc_register_driver: sample_rate: 0
Sep 15 08:37:19 s_local@pracovna kernel:lirc_serial $Revision: 5.104 $ registered

Důležité je, aby lirc_serial byl v módu "low receiver", což nastaví parametr type=1 ( pokud nastavit lze), jinak irda s dálkovým ovládáním nefunguje.

Parametry modulu zapíšeme do souboru /etc/modprobe.d/lircd.conf

options modprobe lirc_serial type=1

otestujeme jestli prijima kody (lircd daemon musi byt zastaven):

mode2 -d /dev/lirc0

meli by se vypisovat kody pri stisknuti nejakych tlacitek,pokud funguje pokracujeme dal...

postupujeme dal podle instrukci,nastavime tim tlacitka pojmenujeme apod.

irrecord -d /dev/lirc0 remote.lirc

zkopirujeme config

cp remote.lirc /etc/lirc/lircd.conf

/etc/init.d/lirc start

[editovat] nastaveni tlacitek a funkci

ve svem home vytvorime soubor .lircrc

do nej napiseme funkce ktere chceme

[editovat] amarok

begin

prog = irexec

remote = remote

button = vol+

config = dcop amarok player volumeUp

end

begin

prog = irexec

remote = remote

button = vol-

config = dcop amarok player volumeDown

end

funkce jedou pres dcop, musi byt pusteny dcopserver

dale je potreba pusteny irexec (pod uzivatelem,ne pod rootem)

irexec -d

seznam kodu pro amarok [1]

[editovat] amarok2

begin

prog = irexec

remote = remote

button = play

config = qdbus org.mpris.amarok /Player Pause

end

begin

prog = irexec

remote = remote

button = prev

config = qdbus org.mpris.amarok /Player Prev

end

pro vol+ a vol-

begin

prog = irexec

remote = remote

button = vol+

config = env /home/vondra/lirc-amarok.sh volUp

end

begin

prog = irexec

remote = remote

button = vol-

config = env /home/vondra/lirc-amarok.sh volDown

end

v amarok 2 neni vyreseno pridavani/ubirani hlasitosti proto to resime skriptem

pracovna@pracovna:~$ cat lirc-amarok.sh

#!/bin/bash

if [ $1 ];

then

if [ $1 == "volUp" ];

then

CURRENT_VOLUME=`qdbus org.mpris.amarok /Player VolumeGet`

NEW_VOLUME=`expr $CURRENT_VOLUME + 8`

`qdbus org.mpris.amarok /Player VolumeSet $NEW_VOLUME`

elif [ $1 == "volDown" ];

then

CURRENT_VOLUME=`qdbus org.mpris.amarok /Player VolumeGet`

NEW_VOLUME=`expr $CURRENT_VOLUME - 8`

`qdbus org.mpris.amarok /Player VolumeSet $NEW_VOLUME`

elif [ $1 == "seekUp" ];

then

CURRENT_POS=`qdbus org.mpris.amarok /Player PositionGet`

NEW_POS=`expr $CURRENT_POS + 2000`

`qdbus org.mpris.amarok /Player PositionSet $NEW_POS`

elif [ $i == "seekDown" ];

then

CURRENT_POS=`qdbus org.mpris.amarok /Player PositionGet`

NEW_POS=`expr $CURRENT_POS - 2000`

`qdbus org.mpris.amarok /Player PositionSet $NEW_POS`

fi

else

if [ `ps aux | grep "irexec --name amarok" | grep -v "grep" | wc -l` -le 0 ]

then

echo "Starting irexec"

irexec -d

else

echo "Already running"

fi

fi

[editovat] vlc

begin

prog = vlc

remote = remote

button = pres-

config = key-vol-down

end

begin

prog = vlc

remote = remote

button = tuner

config = key-play-pause

end

je potreba pustit vlc s podporou lirc, melo by to fungovat diky tomuhle souboru

#$home/.vlc/vlcrc

control=lirc

ale mne to nejak nefunguje, takze postim vlc takhle

vlc --control lirc

seznam kodu pro vlc [2]

lock screen

begin

prog = irexec

remote = remote

button = power

config = qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock

end

odkazy ...

http://www.vdr-wiki.de/wiki/index.php/Debian_-_LIRC_Installation

http://amarok.kde.org/wiki/RemoteControl

http://en.gentoo-wiki.com/wiki/VLC/LIRC

Copyright © 2024 PC servis a prodej Vondra. Všechna práva vyhrazena.
Joomla! je svobodný software vydaný pod licencí GNU General Public License.