Lirc on Ubuntu Hardy

Este artigo tem por objetivo explicar toda a instalação do LIRC no Ubuntu.

LIRC – um acrônimo de Linux Infrared Remote Control – é um pacote de programas de computador para o sistema operacional GNU/Linux utilizado para decodificar e receber sinais em infravermelho de dispositivos de controle remoto.
Este aparelho permite que o computador execute funções programadas pelo usuário, assim você pode ter o controle total de seu computador, usando um controle remoto qualquer que você tenha em casa, para controlar seu player favorito, como o XMMS, MPlayer ou Rhythmbox
O programa permite que você associe as teclas de seu teclado com os botões de qualquer controle remoto, permitindo assim que você possa realizar varias funções, como por exemplo:

  • Aumentar e diminuir o volume do som;
  • Avançar ou retroceder um música ou filme;
  • Abrir e fechar determinado programa;
  • Controle apresentações em OpenOffice Impress/ PowerPoint;
  • Controlar o uso do mouse em oito direções diferente (incluindo função dos botões)

Seguindo este artigo: Viva o linux – LIRC foi possivel criar o receptor ( placa física ) e dar uma ideia de como se configurar. Porém, já me peguei em diversas situações em que essa missão acaba dando um pouco mais de trabalho.

Então vamos lá.

1. INSTALAÇÃO DOS FONTES DO KERNEL E HEADERS

Para o funcionamento correto da instalação, é necessário que tenhamos instalado os fontes do kernel e seu headers.

Observação importante: Não será necessário recompilar o kernel.

1.1 – Instalação do kernel

# aptitude install linux-source

1.2 – Instalação dos headers do kernel

# aptitude install linux-kernel-headers

2. INSTALAÇÃO DO LIRC

Após a instalação do LIRC, irá abrir uma tela em forma de dialog que serve para configurar o driver e software utilizado pelo sistema. ( Explicado no item 2.2 desta sessão )

Caso, por algum motivo esta tela de configuração fechar, você pode chama-la novamente utilizando: dpkg-reconfigure lirc

2.1 Instalação

# aptitude install lirc

2.2 – Configurações de driver e software

Para facilitar este passo, resolvi tirar algumas screenshots, para não ficar maiores duvidas

Step 1, Step 2, Step 3

2.3 – Carregar módulos do LIRC

$ modprobe lirc_dev

$ modprobe lirc_serial

2.3.1 – Se ocorrer algum erro no carregamento dos módulos ( o que pra mim não ocorreu ):

  • Certifique-se que não existe nenhum processo utilizando a porta serial escolhida para o LIRC.
  • Em algumas situações, é necessário executar o comando abaixo antes do carregamento dos módulos, pois na inicialização o kernel ativa algumas configurações na porta serial incompatíveis com o LIRC.

#setserial /dev/ttyS0 uart none

Substitua o /dev/ttyS0 pela porta serial correta!

  • Tente passar os parâmetros da porta no carregamento do módulo lirc_serial

#modprobe lirc_serial irq=4 io=0x3f8

2.3.2 – Verifique se os módulos estão carregados

#lsmod | grep lirc

A saída esperada seria algo do tipo:

lirc_serial 12000  0

lirc_dev    12644  1 lirc_serial

3. TESTES INICIAIS

Antes de tudo, consiga um controle qualquer que funcione via infravermelho.

3.1 – Rode o programa mode2:

# mode2

Aponte seu controle para o receptor e precione algumas teclas. A saída esperada seria semelhante a esta:

space 725

pulse 3015

space 30198

pulse 901

space 647

pulse 301

Ok, receptor está funcionando corretamente.

3.2 – Se ocorrer o erro abaixo ao exercutar o mode2, siga os seguintes procedimentos:

Ao executar o mode2 aparce o seguinte erro:

mode2: error opening /dev/lirc

mode2: No such file or directory

3.2.1 – Crie um arquivo chamado rc.lirc com permissão 755 em /etc/rc0.d/ com o conteúdo deste link ( postado código no snipt para melhor visualização ).

Note, dentro deste arquivo que acabamos de criar, que temos um trecho lá em cima que diz:

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

Feito isso, cole agora este trecho abaixo no seu arquivo rc.local, localizado no direitóio /etc

if [ -x /etc/rc.d/rc.lirc ]; then
/etc/rc.d/rc.lirc start
fi

4. CONFIGURANDO O SEU CONTROLE

O site oficial do lirc ( http://lirc.sourceforge.net/ ) disponibiliza alguns modelos de controles pré configurados. Digo pré configurados por que ainda tem que atribuir os comandos para cada tecla.

Para utlizar um modelo de controle do site, basta baixar o modelo via wget e após isso mover ( mv ) o arquivo para /etc/lircd.conf

Mas no meu caso, tive que configurar manualmente. Para isto vamos utilizar o utilitário irrecord:

Para configurar, utilizo –disable-namespace para que você possa determinar o nome que gostaria que fique a tecla nas configurações. Sem ele, teriamos que respeitar a nomenclatura de teclas. ( o que eu particularmente, acho ruim )

# irrecord –disable-namespace /etc/lircd.conf

  • Tecle ENTER duas vezes;
  • Agora você deve pressionar várias teclas diferentes de seu controle remoto por aproximadamente 1 segundo, cada botão que você apertar deve gerar no mínimo um ponto na saída do programa, mas em nenhum caso mais de 10 pontos. Não pare de pressionar os botões até que 2 linhas de pontos sejam preenchidas;
  • Após isso o programa vai pedir para mapear cada tecla, coloque o nome da tecla e tecle ENTER, após isso tecle a respectiva tecla do seu controle. Repita isso até mapear todas as teclas.

Após isso rode o lircd:

# lircd

5. ATRIBUINDO FUNCIONALIDADE AOS BOTÕES DO CONTROLE

Agora chegou o tão esperado momento. O momento em que iremos atribuir tarefas para cada botão do controle remoto.

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 ~

# vim .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 “123” do meu controle é aberto o site do ProcessoLinux:
begin
button = 123
prog   = irexec
config = firefox https://processolinux.wordpress.com/ &
end

# Ao digitar a tecla “menu” do meu controle é aberto a calculadora:
begin
button = menu
prog   = irexec
config = gnome-calculator &
end

Agora vamos iniciar o irexec:

# irexec -d

Teste se seu micro responde aos comandos definidos no arquivo!

Além de abertura de aplicativos, é possivel fazer até o controle do mouse com o LIRC.

Para os curiosos, segue o link

Acredito que seja isso pessoal.

Até a próxima.

Anúncios
Marcado com:
Publicado em Uncategorized
3 comentários em “Lirc on Ubuntu Hardy
  1. […] * Aumentar e diminuir o volume do som; * Avançar ou retroceder um música ou filme; * Abrir e fechar determinado programa; * Controle apresentações em OpenOffice Impress/ PowerPoint; * Controlar o uso do mouse em oito direções diferente (incluindo função dos botões)[…]” [referência: processolinux.wordpress.com] […]

  2. Dezão disse:

    Falae!

    Cara, parabéns pelo Blog!

    Ótimas postagens, POSTS bem explicado e detalhado!

    Parabéns pelo ótimo trabalho.

    Abraços!

  3. k disse:

    ola amigo, vi que sua postagem é de janeiro mas ao instalar o lirc no 10.10 percebi algumas diferenças, consegui ir ate o mode2, as teclas sao detectadas e etc, baixei a config do meu controle no site (o controle hp que tem la) mas tem algo errado no arquivo de configuraçao (acho eu) pq eu configurar um botao pra teste e usar o botao ele nao executa açao alguma.

    i irexec carrega normal, e ate chega a ler o conf mas nao executa as açoes, alguma pista do que possa ser?

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: