<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nighto.net &#187; controle remoto</title>
	<atom:link href="http://nighto.net/tag/controle-remoto/feed/" rel="self" type="application/rss+xml" />
	<link>http://nighto.net</link>
	<description>tecnologia, ciclismo e aleatoriedades afins</description>
	<lastBuildDate>Thu, 22 Mar 2012 04:19:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Controlando o XBMC com o LIRC</title>
		<link>http://nighto.net/lirc-xbmc/</link>
		<comments>http://nighto.net/lirc-xbmc/#comments</comments>
		<pubDate>Fri, 14 Nov 2008 22:21:21 +0000</pubDate>
		<dc:creator>Nighto</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[controle remoto]]></category>
		<category><![CDATA[lirc]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://nighto.net/?p=130</guid>
		<description><![CDATA[Olá, hoje vou falar sobre a minha recente experiência de utilizar controles remoto com o computador, utilizando o Linux e o LIRC. Realizei os procedimentos no Ubuntu 8.10 Intrepid Ibex, mas imagino que em outras distribuições o processo deva ser &#8230; <a href="http://nighto.net/lirc-xbmc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Olá, hoje vou falar sobre a minha recente experiência de utilizar controles remoto com o computador, utilizando o Linux e o <acronym title="Linux Infrared Remote Control">LIRC</acronym>. Realizei os procedimentos no Ubuntu 8.10 Intrepid Ibex, mas imagino que em outras distribuições o processo deva ser semelhante.</p>
<p>Você vai precisar dos seguintes equipamentos:</p>
<ul>
<li>
<div class="wp-caption alignright" style="width: 190px"><a href="http://en.wikipedia.org/wiki/Image:Dsubs.png"><img src="http://upload.wikimedia.org/wikipedia/en/thumb/9/9a/Dsubs.png/180px-Dsubs.png" alt="Espelho de portas serial e paralela" width="180" height="135" /></a><p class="wp-caption-text">Espelho de portas serial e paralela</p></div>
<p>Um computador com uma porta serial livre. Porta serial é a famosa DB-9, uma portinha de 9 pinos que se usava o mouse antigamente. Verifique atrás do gabinete do seu computador se você tem essa porta, caso você não tenha, pode ser que a sua placa-mãe tenha a porta disponível onboard mas você não tenha o espelho como este ao lado (que foi o meu caso) ou não ter mesmo. Arranjar o espelho de porta serial pode ser um saco, eu consegui pegar de um computador antigo; talvez o mais fácil seja desativar a porta serial na placa mãe e comprar uma <a href="http://www.dealextreme.com/details.dx/sku.4632">placa serial PCI como esta à venda no DealExtreme</a>. Note que adaptadores <acronym title="Universal Serial Bus">USB</acronym>-serial <strong>não</strong> servem.</li>
<li>Um receptor de infravermelho, como <a href="http://www.lirc.org/receivers.html">um destes</a> (esquemático). Se você não quiser ter de soldar componentes eletrônicos, pode procurar por algum já pronto, no Mercado Livre tem alguns à venda.</li>
<li>Um controle remoto qualquer.</li>
</ul>
<p>Com tudo isto, mãos a obra. Primeiro instalamos o LIRC:</p>
<p><code>sudo apt-get install lirc lirc-x</code></p>
<p>Na instalação do pacote, ele irá lhe perguntar três coisas: o modelo do receptor infravermelho, o modelo do transmissor infravermelho e o modelo do controle remoto. O receptor infravermelho do esquemático acima consta como &#8220;Homebrew Serial&#8221;, não estamos usando um transmissor infravermelho portanto &#8220;none&#8221;, e como estamos usando um controle remoto qualquer podemos escolher a opção &#8220;custom&#8221;.</p>
<p>Podemos testar se o sinal está chegando OK no transmissor com o seguinte comando:</p>
<p><code>sudo ln -s /dev/lirc0 /dev/lirc ; xmode2</code></p>
<p>Ao pressionar um botão qualquer no controle remoto, deverá aparecer uma seqüência de pulsos na tela. Alternativamente você poderá utilizar o <code>mode2</code> em modo texto e ver um monte de números.</p>
<p>Caso não tenha funcionado até aqui, verifique se o cabo serial está OK e se o controle remoto está funcionando. Dica: aponte o controle remoto para uma câmera, por exemplo a de um celular, e verifique se há um feixe esbranquiçado no visor do mesmo. Isto acontece porque as câmeras (a maioria, pelo menos) consegue captar parte do espectro que não enxergamos.</p>
<p>OK, agora que sabemos que o receptor infravermelho está funcionando OK, precisamos configurar o LIRC para aceitar os comandos do controle remoto. Em outras palavras, é preciso pressionar cada botão e dar um nome para que o computador saiba quantos e quais botões existem. Fazemos isto com o comando:</p>
<p><code>sudo irrecord -d /dev/lirc0 meu-controle-remoto</code></p>
<p><a href="http://nighto.net/wordpress/wp-content/uploads/2008/11/irrecord.png"><img class="alignright size-thumbnail wp-image-131" title="irrecord" src="http://nighto.net/wordpress/wp-content/uploads/2008/11/irrecord-150x150.png" alt="" width="150" height="150" /></a>O programa <code>irrecord</code> apresenta um passo-a-passo simples, onde você irá pressionar todas as teclas do controle remoto por um determinado tempo para que ele detecte como o controle remoto funciona (tecnicamente falando, qual é a seqüência de pulsos que ele emite), e então dará um nome para cada tecla e a pressionará. Faça isto com todas as teclas, mesmo que não pretenda utilizar todas.</p>
<p>Alternativamente, você poderá verificar se já existe o controle remoto que você está utilizando no <a href="http://lirc.sourceforge.net/remotes/">banco de dados do LIRC</a>. Se não existir, você poderá se quiser enviar o arquivo gerado pelo comando acima para poupar o trabalho de outras pessoas que poderão porventura utilizar o mesmo controle remoto que você.</p>
<p>Muito bem, agora que você tem o arquivo de configuração do controle remoto, seja gerado pelo irrecord ou baixado do site, vamos ativá-lo:</p>
<p><code>sudo mv meu-controle-remoto /etc/lirc/lircd.conf &amp;&amp; sudo /etc/init.d/lirc restart</code></p>
<p>Podemos verificar se os comandos do controle remoto estão sendo reconhecidos com o comando:</p>
<p><code>irw</code></p>
<p>Agora que os botões já estão sendo reconhecidos, só precisa configurar os programas que deseja. No meu caso, eu só quis configurar o <abbr title="XBoX Media Center">XBMC</abbr>, neste caso o procedimento foi editar o arquivo <code>/usr/share/xbmc/system/Lircmap.xml</code> e adicionar ao arquivo <acronym title="eXtensible Markup Language">XML</acronym>, dentro da tag <code>&lt;lircmap&gt;</code>, a seguinte estrutura:</p>
<pre>&lt;remote device="nome do controle remoto"&gt;
	&lt;comando do xbmc&gt;nome do botão&lt;/comando do xbmc&gt;
&lt;/remote&gt;</pre>
<p>Por exemplo, o meu arquivo <code>/etc/lirc/lircd.conf</code> está assim:</p>
<pre>begin remote

  name  LG_6710V00090N
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       8992  4542
  one           529  1704
  zero          529   591
  ptrail        512
  repeat       8985  2294
  pre_data_bits   16
  pre_data       0x20DF
  gap          108095
  min_repeat      2
  toggle_bit_mask 0x0

      begin codes
          POWER                    0x10EF
          MUTE                     0x906F
          1                        0x8877
          2                        0x48B7
          3                        0xC837
          4                        0x28D7
          5                        0xA857
          6                        0x6897
          7                        0xE817
          8                        0x18E7
          9                        0x9867
          0                        0x08F7
          APC                      0xB24D
          TVVIDEO                  0xD02F
          MENU                     0xC23D
          CAPTION                  0x9C63
          VOLMINUS                 0xC03F
          VOLPLUS                  0x40BF
          CHMINUS                  0x807F
          CHPLUS                   0x00FF
          ENTER                    0x22DD
          FCR                      0x7887
          SLEEP                    0x708F
          EYEASTERISK              0xA956
          AUTOPRG                  0x2AD5
          MEMORYERASE              0xAA55
          REVIEW                   0x58A7
          MTS                      0x50AF
          PICTURE                  0x30CF
      end codes

end remote</pre>
<p>E o meu <code>/usr/share/xbmc/system/Lircmap.xml</code> está assim:</p>
<pre>&lt;lircmap&gt;
	&lt;remote device="LG_6710V00090N"&gt;
		&lt;up&gt;CHPLUS&lt;/up&gt;
		&lt;down&gt;CHMINUS&lt;/down&gt;
		&lt;left&gt;VOLMINUS&lt;/left&gt;
		&lt;right&gt;VOLPLUS&lt;/right&gt;
		&lt;pageplus&gt;APC&lt;/pageplus&gt;
		&lt;pageminus&gt;TVVIDEO&lt;/pageminus&gt;
		&lt;select&gt;ENTER&lt;/select&gt;
		&lt;start&gt;MENU&lt;/start&gt;
		&lt;info&gt;CAPTION&lt;/info&gt;
		&lt;volumeminus&gt;FCR&lt;/volumeminus&gt;
		&lt;volumeplus&gt;SLEEP&lt;/volumeplus&gt;
		&lt;display&gt;EYEASTERISK&lt;/display&gt;
		&lt;mute&gt;MUTE&lt;/mute&gt;
		&lt;power&gt;POWER&lt;/power&gt;
	&lt;/remote&gt;
&lt;/lircmap&gt;</pre>
<p>Antes de terminar, o quase-obrigatório vídeo de como ficou:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/t2lpze2IxWY&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/t2lpze2IxWY&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>]]></content:encoded>
			<wfw:commentRss>http://nighto.net/lirc-xbmc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

