lircは、レシーバーを作らなくても使えます!!

lircといえば、部品を買ってきてシリアルポートに接続する赤外線受光部(lirc_SIRデバイス)を製作することが常だと思われていますが、
実はそのほか大抵の赤外線受信デバイスが「使えます」。


lirc_SIRデバイス以外の赤外線受信デバイスは、受信機に搭載している専用コントローラで、
リモコンからとんで来た赤外線を解析しどのボタンが押されたかを認識します。
そしてその情報は、ボタンを表す数バイトのシリアルデータに変換されて、シリアルポートに入力されます。
ある程度のインテリジェントな動作をするわけで、外付のモデムに近いです。


対してlirc_SIRデバイスは、受信した赤外線信号をそのままシリアルポートに流し、lircに含まれるカーネルモジュール(lircd_serial等)が解析します。
こちらは、モデムのDSP的な機能までCPUで肩代りする昨今のPCIモデムに近いです。


ですんで市販されてる赤外線受信デバイスを利用する場合、lircデーモンに対しては/dev/ttySx(xはデバイスを接続したポート)等シリアルポートを指定するだけでよく、
lirc_SIRデバイスの場合のように「カーネルモジュールを組み込む必要はない」わけです。


それを以下のリンクの図(Driver Model)でみることができます。
http://www.lirc.org/html/technical.html
上記の図の下の方の'Kernel space'が直接ハードウェアを叩く一番下になる部分で、市販のものは大抵右の'character device'になります。



うちでは、REALmagicのhollywood+に付属した、リモコンと受信機があるので、
それを付けて動作確認してみました。


まずは本家からtarボールをとって来る。
http://prdownloads.sourceforge.net/lirc/lirc-0.7.1.tar.bz2


# ./configureを実行すると、設定画面がでるんで
1.Driver configtation -> 4.Other serialport device -> c. REALmagic
を選択する(c. REALmagicは適宜自分の利用する受信デバイスに変更する)。


そのあとはmake; make installで終了。
シリアルポート接続デバイスの場合は、'# lircd -d /dev/ttyS0'で終了。
あとはirexecなどを適当に設定して動作テストしてみれば問題なく動きます。


これを知らなかったので、わざわざlirc_SIRな赤外線受光部つくってしまった。
まあMythTVマシンのマザーボードにはD-subなシリアルポートがでてないから直
でつながらなかったからそれほど無駄ではないのですけど・・・。


いまから作ろうとしている人は、とりあえず./configureしてみて、作らなくても使えるデバイスがあるか調べてみると幸せになれるかも。
USBデバイスATiのやnVidiaの奴とか、MCEの奴とかiMonとか軒並サポートされてます。
とくにiMonは電源コネクタにも接続してリモコンのボタンでPCを起動する機能のあるものもありますし。



LIRC
http://www.lirc.org/