O que você acha de operar seu Linux com um controle remoto infra-vermelho? Este artigo explica como fazer isso, você pode executar comandos a distância, simular um mouse, controlar o XMMS, mplayer e mais, tudo isso com o controle da sua TV por exemplo.
No exemplo abaixo vamos criar uma configuração para controlar o XMMS, abrir o site do VOL e desligar o micro. Leia a documentação para ver mais opções:
Crie um arquivo em seu home com o nome de .lircrc. Você vai precisar saber o nome das teclas do seu controle que estão no arquivo /etc/lircd.conf, se você configurou seu controle com o irrecord, então você deve se lembrar do nome que deu para as teclas, senão abra a arquivo /etc/lircd.conf e veja os nomes.
Criando o arquivo:
# cd ~
# vi .lircrc
# Inicio do Arquivo
# button = Nome do Botão
# prog = irexec (cliente que se conecta ao lircd para receber os comandos do controle e iniciar um aplicativo
# config = Nome do programa/Linha de Comando
# Ao digitar a tecla "100" do meu controle é aberto o site do VOL:
begin
button = 100
prog = irexec
config = firefox www.vivaolinux.com.br &
end
# Ao digitarmos a seqüência de números "1,2,3 e 5" o computador é desligado:
begin
button = 1
button = 2
button = 3
button = 5
prog = irexec
config = poweroff
end
# Abaixo controlamos o XMMS:
# Próxima música da lista
begin
button = ff
prog = irexec
config = xmms -f &
end
# Música Anterior
begin
button = rew
prog = irexec
config = xmms -r &
end
# STOP
begin
button = stop
prog = irexec
config = xmms -s &
end
# PLAY
begin
button = play
prog = irexec
config = xmms -p &
end
#PAUSE
begin
button = pause
prog = irexec
config = xmms -t &
end
# Diminuir o volume
begin
button = voldown
prog = irexec
config = aumix -w -5
end
# Aumentar o Volume
begin
button = volup
prog = irexec
config = aumix -w +5
end
# Fim do Arquivo
Agora vamos iniciar o irexec:
# irexec -d
Teste se seu micro responde aos comandos definidos no arquivo!
[3] Comentário enviado por internero em 08/12/2005 - 08:18h
Parabéns pelo artigo!! Excelente ;)
Agora... o mais legal do LIRC é que ele suporta a maior parte dos controles remotos e receptores. Eu o uso com o controle da minha placa de TV, uma PixelView BT878 =)
[4] Comentário enviado por o_lalertom em 08/12/2005 - 08:18h
Opa,
Primeiramente parabéns pelo o artigo.
Fiz o meu receptor infra-vermelho já faz um tempo :D e vai uma dica para quem procura um controle remoto incompatível com o lirc, o nome do controle remoto universal e RCA uma marca famosa nos EUA. Comprei no camelo mesmo paguei R$ 15,90 em uma loja especializada o mesmo custa R$ 36,90. O controle e universal 4 em 1 - TV, DVD, Vídeo, Receptor de TV. Gostei muito ele funcionou em todas as TVs de casa ate em uma Gradiente que no manual diz não ser compatível.
Tive problemas para encontrar o receptor infra-vermelho na minha cidade :(, Porque nem todos funcionam no lirc!
[5] Comentário enviado por icos em 08/12/2005 - 09:42h
Parabens Andrei,
Ontem mesmo no www.susebr.org havia postado uma msg pedindo ajuda aos universitários pois tinha desistido de tentar instalar o lirc no SuSE 10, no 9.3 até funcionava, mas após upgrade, nao mais.
Com sua excelente aboardagem funcionou de primeira, se bem que apenas as teclas mapeadas para funções com o IRKick, com o irexec nao.
[8] Comentário enviado por m_arco em 08/12/2005 - 12:23h
Cara, parabéns pelo artigo...
Isso mostra uma das melhores virtudes da comunidade Linux...
Em primeiro o fato de um ajudar o outro, de sempre estar disposto a compartilhar seus conhecimentos, e o segundo, é a variabilidade de coisas que nos disponibilizam a aprender...
Pode ser que muitos não vejam a importância deste artigo, aliás, pra que controle remoto se eu tenho teclado e mouse? haha Mas em muitas situações pode ser necessário o acesso do computador a distância e pronto!!! Aqui está a resposta...
Parabéns pela contribuição a comunidade...
Abraços... Marco!!!
[15] Comentário enviado por cioban em 09/12/2005 - 16:10h
Muito massa, eu já tinha visto na net isso mas não tive tempo para fazer, muito bom o seu artigo, parabéns.
Eu moro em floripa e ta ruim de achar o receptor IR.
Uma pergunta, eu desmontei um mouse velho e ele tem um receptor infravermelho para fazer a seta andar, será que eu posso usar este IR para o receptor do controle??
[18] Comentário enviado por danilorlima em 09/12/2005 - 21:23h
quando vou compilar com o make da esse erro:
make all-recursive
make[1]: Entrando no diretório `/home/danilo/IR/lirc-0.7.2'
Making all in drivers
make[2]: Entrando no diretório `/home/danilo/IR/lirc-0.7.2/drivers'
Making all in lirc_dev
make[3]: Entrando no diretório `/home/danilo/IR/lirc-0.7.2/drivers/lirc_dev'
mv Makefile Makefile.automake
cp ../Makefile.kernel Makefile
make -C /lib/modules/2.4.20-8/build/ SUBDIRS=/home/danilo/IR/lirc-0.7.2/drivers/lirc_dev modules \
KBUILD_VERBOSE=1
make[4]: Entrando no diretório `/usr/src/linux-2.4.20-8'
The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.
[20] Comentário enviado por rafamb em 10/12/2005 - 13:07h
Caramba, que artigo matador, fonte completa de informação sobre um assunto pouco discutido. Esse foi pra varrer aquela maré de artigo tosco que apareceu por aqui.
[21] Comentário enviado por danilorlima em 10/12/2005 - 17:50h
o problema acima consegui resolver, entrei na pasta /usr/scr/linux-2.4.20-8/ e executei make dep, ai consegui instalar mas agora quando vou carregar os modulos com o modprobe lirc_dev o problema é esse :
lirc_dev.o lirc_serial.o
[root@localhost misc]# modprobe lirc_dev
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol __wake_up
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol exit_fs
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol register_chrdev
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol remove_wait_queue
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol exit_mm
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol interruptible_sleep_on
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol __pollwait
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol exit_files
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol add_wait_queue
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol find_task_by_pid
/lib/modules/2.4.20-8/misc/lirc_dev.o: unresolved symbol wake_up_process
/lib/modules/2.4.20-8/misc/lirc_dev.o: insmod /lib/modules/2.4.20-8/misc/lirc_dev.o failed
/lib/modules/2.4.20-8/misc/lirc_dev.o: insmod lirc_dev failed
instalei o lirc sem o cabo serial estar conectado, sera q é por isso q os modulos nao carregam ?
[22] Comentário enviado por couver em 10/12/2005 - 19:26h
Cara Parabéns, fiquei impressionado com a riqueza de detalhes do seu artigo... Já tinha visto algo parecei para Windows e/ou Dos... Agora para Linux... Show...
estou querendo fazer um MP3 player para meu caro... e iria usar Dos mesmo... Agora meu amigo... Graças á vc até em meu carro vai ter LINUX...
+ uma vez parabéns...
[25] Comentário enviado por rafaelfreitas em 03/01/2006 - 09:45h
Putz depois d uma peregrinação pelo centro do Rio, eu achei uma loja q vende o receptor, eu achei o preço salgado.. R$ 10.00.. mas sabe como é a cabeça d um curioso.. eu acabei comprando e funcionou perfeitamente o esquema...
Pra galera do Rio, segue o endereço da loja..
Tecway Eletrônica
Rua Regente Feijo, n. 45 - loja 2 - Centro - Rio de Janeiro - Próximo a rua Republica do Líbano
Tel: 2508-8263 ou 2252-2869
email: tecway.rio@terra.com.br
[27] Comentário enviado por marcelo.laux em 23/07/2006 - 23:02h
cara estou passando pelo seguinte problema:
Tenho slack 10.1 instalado com kernel 2.6.10 e instalei o lirc 0.8 mas mesmo efetuando os seus passos das configuracoes finais ele nao inicializa sozinho.
Ao executar o mode2 aparce o seguinte erro:
mode2: error opening /dev/lirc
mode2: No such file or directory
Para fazer funcionar preciso instalar o lirc novamente.
Alguem saberia me ajudar na solucao desse problema?
[28] Comentário enviado por removido em 24/07/2006 - 02:26h
marcelo.laux
seguinte.. eu fiz um scriptzinho aqui.. dá uma olhada:
esse arquivo deverá se chamar rc.lirc e deve ficar em /etc/rc.d/ com permição 755
#---- Copie a partir daqui ------>
#!/bin/bash
# script para inicializar o servidor lirc
#
# Regido pela GPL
pegapid()
{
if [ -f /var/run/lircd.pid ];
then
PID="`cat /var/run/lircd.pid`"
else
PID=""
fi
}
start()
{
echo -n "Iniciando Lirc "
/sbin/modprobe lirc_serial
echo -n "."
mknod /dev/lirc c 61 0
echo -n "."
/usr/local/sbin/lircd
if [ -f /var/run/lircd.pid ];
then
echo ". OK"
else
echo ". ERRO"
fi
}
case "$1" in
start)
pegapid
if [ -z "$PID" ] ; then
start
else
echo "Lirc já está rodando."
exit 1
fi
;;
stop)
pegapid
if [ -z "$PID" ] ; then
echo "Lirc não está rodando."
exit 1
else
stop
fi
;;
restart)
pegapid
if [ ! -z "$PID" ] ; then
stop
fi
start
;;
status)
pegapid
if [ -z "$PID" ] ; then
echo "Lirc não está rodando."
else
echo "Lirc está rodando. O PID é $PID"
fi
;;
tem uma parte lá no começo assim:
mknod /dev/lirc c 61 0
para conferir se o seu é 61 0 também execute o comando
file /dev/lirc
você deverá ter o resultado assim:
/dev/lirc: character special (61/0)
ou seja, 61 0
se aparecer outro valor, substitua no script
depois coloque essas linhas no seu /etc/rc.d/rc.local :
#---- copie a partir daqui ----->
if [ -x /etc/rc.d/rc.lirc ]; then
/etc/rc.d/rc.lirc start
fi
#<------- até aqui --------
acho que isso deve te ajudar..
qualquer coisa, entre em contato comigo
[34] Comentário enviado por Yrrak em 27/10/2006 - 12:46h
Muito bom o artigo, mas eu queria saber o que acontece com ele... Só consigo imprimir a primeira página, é só comigo ou mais alguém teve esse problema?
[37] Comentário enviado por caiocsilva em 19/11/2006 - 16:06h
Nossa Animal, muito bem explicado, com todas as informações bem definidas . Parabéns!
Até para um novatooo igual a mim ficou de fácil compreensão
Abraços, quem sabe um dia eu consiga ^^
[40] Comentário enviado por dbs720 em 05/12/2006 - 21:41h
estou usando o mandriva 2k7 e após executar o configure ele da o seguibte erro:
checking for scsi/sg.h... yes
checking for linux/input.h... yes
checking for sys/soundcard.h... yes
configure: error: *** you need to have the Linux kernel source installed
for this driver
Please read the documentation!!!
na configuração selecionei a minha placa de tv pixelview (card=37)
vou ter que recompilar o kernel com alguma opção?
se for, qual seria?
[42] Comentário enviado por renato_pacheco em 12/12/2006 - 17:36h
UAU!! Era isso q eu precisava! Ando assistindo a filmes pelo computador ultimamente e é um saco ter q toda vez levantar da cama para pausar, passar pra frente etc., ainda mais com a namorada do lado.
[43] Comentário enviado por GilsonDeElt em 24/12/2006 - 20:18h
Cara! Muito doido seu artigo.
Faço curso técnico de eletrônica e não sabia como criar um sistema como esse no Linux.
Valeu mesmo,cara! Vou seguir seu tutorial e montar um pra mim nessas férias!
Parabéns!!!
[46] Comentário enviado por redebr2818 em 11/03/2007 - 16:08h
me loguei pra te dar parabens =D não sabia que era tão facil ainda, obrigado por me apresentar o lirc =D comprei tudo e talz, deu 10 reais, comprei um receptor de IR pra tv meio q generico, q nao tem no site, RPM6936, olhei o manual e talz e como operava em 36khz nao tive problemas, apenas tive q mudar os pinos.. hehe
[48] Comentário enviado por cain em 23/03/2007 - 08:47h
consegui fazer funcionar com a instalação enxuta do slackware. so com as lib e devel e tals
minha pergunta no xmms, xmmscrt, aumix, rexima, lalsamixer
menos kmix. pq nao tenho kde
algum comando pra mim colocar no ,lircrc para ajuste do balanço do som ??
Canais R e L
abração exelente artigo, tenho acompanhado os comentários, e tentado ajudar os colegas dentro do possivel, mais so tenho a experiencia de ter instalado o lirc umas 6 vezes. sempre no mesmo procedimento.
[52] Comentário enviado por edupbar em 23/04/2007 - 19:12h
Olá galera, comprei um receptor no mercado livre e no windos ele funciona com os seguintes rarâmetros:Dispositivo IRMan ou compatível, Serial 9600bps, 8 bits sem paridade, 1 stop bit e sem controle de fluxo. Comando de Inicialização IR.
Acredito que seja problema de configuração da porta serial... como velocidade ou outra coisa, no comando setserial -a /dev/ttyS0 da:
/dev/ttyS0, Line 0, UART: unknown, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 50000, divisor: 0
closing_wait: 50880
Flags: spd_normal skip_test auto_irq
[53] Comentário enviado por cain em 23/04/2007 - 19:48h
edupbar, pelo parece pra mim, que não não encontrada a sua porta ttyS0 (com1 no setup) tenta ver se ela nao está em conflito (endereços repetidos) com outras portas. ou mesmo desabilitada no setup...
infelizmete não posso lhe enviar o passo a passo que cada Setup de placa mae e diferente, mais semelhetes.. procure por "serial port" com ports
geralmente fica na mesma sessao da porta de impressora.... "pararel port"
[54] Comentário enviado por edupbar em 23/04/2007 - 20:22h
Cain, no setup ela esta ativa... se você tiver chagado a esta conclusão pelos valores do setserial, eles foram maio mascarados pq eu estava testando as suas opções e nao o resetei para o correto... ai vai o padrão:
[root@linux ~]# setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4
Baud_base: 115200, close_delay: 500, divisor: 0
closing_wait: 30000
Flags: spd_normal skip_test auto_irq
[root@linux ~]#
[58] Comentário enviado por hccl em 12/07/2007 - 12:44h
edupbar, também tenho o mesmo receptor que você comprou no mercado livre. O vendedor me passou as dicas de como utilizar com o lirc.
Veja http://www.ir2pc.com/inst/e_linux.php, a partir da etapa 3. Ontem consegui fazer funcionar no ubuntu.
[62] Comentário enviado por paulopalma em 05/09/2007 - 13:20h
Cara ótimo artigo vou tentar fazer no final de semana
uma dica por pessoal que está pagando pau por causa do receptor você pode encontrar no site do mercado livre mas fazer o seu sai MUITO mais em conta.
[69] Comentário enviado por kidoidera em 30/10/2007 - 09:54h
Tenho um notebook HPdv6000, vou fazer os testes .. pois ele já possui um controle proprio para controlar o media center do win vista (lentaummmmmmm) espero estar conseguindo fazer tudo funcionar no pinguim pois assim me livro de vez do win ... pois querendo ou naum a comodidade do controle ao ver algo multimidia é tudo ......
Pra quem tem um pc usado como central de multimidia na sala, essa dica vale muito a pena.
[71] Comentário enviado por kernel_rj em 20/01/2008 - 08:42h
Depois de ler o artigo por completo a única coisa que me resta é adicionar aos meus favoritos e lhe dar um 10. Parabéns pelo artigo e pela força de vontade em contribuir com a comunidade linux. São de pessoas iguais a vc que precisamos cada vez mais! Um abraço e Parabéns.
[75] Comentário enviado por julianjedi em 10/04/2008 - 11:38h
teria como montar um receptor USB ... pois no meu notebook nao tem porta serial... ja pensei em comprar um adaptador usb/serial.. serpa que da certo???
[76] Comentário enviado por wagnerdequeiroz em 10/04/2008 - 13:35h
Em tese nao funcionaria pois os acabritadores USB Serial nao geram +12v a -12V que é a tensao de operacao da porta serial. Geralmente é entre 0 a 6V. O regulador de tensao 7805 precisa de pelo menos 8V para estabilizar para 5V.
Devido a degradacao do sinal até o conversor serial USB, pode ser que o retorno nao chegue no nivel para se considerar aceitavel (A norma RS232 diz que um valor entre 0,3V e o maximo que é 12v é um nivel de tensao valido, o mesmo vale para negativo, logo o espaco entre -0,3v a +0,3V nao é valido)
A respeito de montar um USB, existe o chip FTDI (FT232R) que pode simular uma porta serial. Como tem libs com source, talvez algum doido possa fazer um. Eu nao tenho tempo para fazer, alem do mais que o chip FTDI é um pouco caro Recomendo a versao FT232R pq ela tem os componentes USB que sao necessario internamente alem da memoria EEPROM interna no chip.
[77] Comentário enviado por julianjedi em 10/04/2008 - 22:21h
humm .ok... cogitei essa ideia somente por questão de facilidade do circuito... tenho algus esquemas aqui... vou tentar ... quando conseguir posto aqui .. vlw mesmo
[80] Comentário enviado por pankdo em 23/04/2008 - 16:33h
bom galera
1º meus parabens andrey um otimo artigo
2º e so uma ideia pra calera
os componentes D1, U1 e C1 formam uma fonte de alimentação de 5V
se quiserem pode ser aproveitada essa tensão de alimentação de outro lugar onde ela ja esta regulada e estabilizada dispensando esses componentes
pode se conseguir os 5V a partir do conector USB 5V pino 1 e GND no pino 4
ou do conector ps2(teclado ou mouse) 5V no pino 4 e GND no pino 3
e o resistor R1 e so p/ pull-up e pode ser ligado nos 5V
serei sincero ainda n montei esse projeto mas creio q isso funcione com essas alterações
se alguem testar posta ai OK
eu vou ver se acho um receptor de ir jogado aqui e se der posto hj mesmo
[83] Comentário enviado por Joao Tacone em 29/10/2008 - 10:29h
Cara...
Parabéns... peguei seu artigo como base para montar um projeto na faculdade... ontem terminei de montar a placa e funcionou tudo certinho....
Obrigado mesmo..!!!
mas alguém sabe os comandos para mudar de slide no Impress?
eu quero abrir a apresentação do trabalho pelo controle remoto e mudar os slides utilizando o controle remoto.... mas não sei os comandos.... =/
[84] Comentário enviado por killerbean em 17/11/2008 - 21:20h
Oba. Finalmente funcionou o lirc no meu pc. Só depois de dar update pro ubuntu 8.10 funcionou. triste eh que tem uns controles que nao reconheçe todos os botoes. mas tá otimo. to controlando amarok, vlc, abrir alguns programas e fechar programas, e desligar o pc tb =D
....
@xuco
ano sei o atalho. as vezes vc encontra no help do impress. Mas em todo caso deve dar pra definir um atalho no openofcie pra mudar de slide. (tipo ctrl+baixo). aih eh soh vc utilizar o irxevent e colocar pra hora que vc apertar o botao ele simular o ctr+baixo. ou pode até tentar simular só o botao de pra baixo ou page down.
[88] Comentário enviado por ic0158040 em 01/02/2009 - 11:32h
Utilizo a PixelView PlayTV Mpeg2. O receptor de infravermelho fica na placa de captura. Como faço pra configurar? Em qual arquivo devo dar make e make install (eu tentei no install-sh). O erro que está dando é o seguinte:
root@douglas:/home/dsbonafe/Desktop/lirc-0.7.2# make install install-sh
Making install in drivers
make[1]: Entrando no diretório `/home/dsbonafe/Desktop/lirc-0.7.2/drivers'
Making install in lirc_dev
make[2]: Entrando no diretório `/home/dsbonafe/Desktop/lirc-0.7.2/drivers/lirc_dev'
make[2]: *** Sem regra para processar o alvo `install'. Pare.
make[2]: Saindo do diretório `/home/dsbonafe/Desktop/lirc-0.7.2/drivers/lirc_dev'
make[1]: ** [install-recursive] Erro 1
make[1]: Saindo do diretório `/home/dsbonafe/Desktop/lirc-0.7.2/drivers'
make: ** [install-recursive] Erro 1
root@douglas:/home/dsbonafe/Desktop/lirc-0.7.2#
[89] Comentário enviado por goss em 08/02/2009 - 20:50h
Olá Andrey tenho um notebook acer aspire com infravermelho não consegui fazer funcioar até agora, vou tentar com seu artigo, por acaso sabe de alguem com o mesmo note que conseguiu?
[95] Comentário enviado por jenisson em 20/11/2010 - 01:08h
Olá, eu uso acer 4520 com ubunto 10.10 64bit e não consigo fazer funcionar o lirc, instalo o pacote e tudo, dou o comando modeprobe lirc_dev e modeprobe lirc_wpc8769l que seria meu modelo, mas o retorno que tenho é "FATAL: Module lirc_wpc8769l not found", alguma idéia pessoal?
[97] Comentário enviado por dinhopereira em 17/01/2015 - 13:47h
Aqui deu tudo certinho.
Agora preciso exibir uma barra de volume quando o mesmo for acionado, como uma TV. Isso é possível?
Tentei o irmix, mas não foi pq estou usando o lubuntu minimal.