-title: USB赤外線リモコン on Mac OS X

			河野真治 Tue Dec 26 16:36:20 JST 2006

パソコン用学習リモコン PC-OP-RS1 用のツールです。

　http://buffalo.jp/products/catalog/item/p/pc-op-rs1/index.html

昔は、Crossam 2+ と、そのUSB version があったんだけど、ちょ
っと高い。もう売ってないし。これは、5,000円切っている。もち
ろん、ドライバはWindows しかありませんが、シリアルドライバ
なんて、なんとでもなる。libusb使ってもいいし。

　http://su-u.jp/juju/%CA%AC%B2%F2%A4%B7%A4%C6%A4%DF%A4%E8%A4%A6/PC-OP-RS1.html

によると、FTDI FT232BL という汎用シリアルいわゆるUART(う、
懐かしすぎ...)らしい。

ちなみに、このチップは、bang mode という8bit parallel I/O 
にも使えるモードがあるらしいです。ふーん。

なんだが、意外に難い。OS X って汎用USBシリアルのドライバっ
てdefaultで入ってないんだよね。んじゃ、libusb 使うかと思っ
たら、libfti とかいうのがあるらしい。

　http://www.intra2net.com/de/produkte/opensource/ftdi/

で、うまく動かないなとか思っていたら、本家本元に、Virtual COM
port driver があるじゃん。

　http://www.ftdichip.com/Drivers/VCP.htm

もちろん、USBのVender Id, Products Id が異なるので、ドライ
バをインストールした後、

　 /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
に、
　　　　　　　　<key>BUFFALO RemoteStation PC-OP-RS1</key>
　　　　　　　　<dict>
　　　　　　　　　　　　<key>CFBundleIdentifier</key>
　　　　　　　　　　　　<string>com.FTDI.driver.FTDIUSBSerialDriver</string>
　　　　　　　　　　　　<key>IOClass</key>
　　　　　　　　　　　　<string>FTDIUSBSerialDriver</string>
　　　　　　　　　　　　<key>IOProviderClass</key>
　　　　　　　　　　　　<string>IOUSBInterface</string>
　　　　　　　　　　　　<key>bConfigurationValue</key>
　　　　　　　　　　　　<integer>1</integer>
　　　　　　　　　　　　<key>bInterfaceNumber</key>
　　　　　　　　　　　　<integer>0</integer>
　　　　　　　　　　　　<key>idProduct</key>
　　　　　　　　　　　　<integer>179</integer>
　　　　　　　　　　　　<key>idVendor</key>
　　　　　　　　　　　　<integer>1041</integer>
　　　　　　　　</dict>
程度を追加する必要があります。

これで jerm で、

　jerm -b 115200 -p none -d 8 -s 1 -f none /dev/cu.usbserial-00000539

程度でつながるらしい。で、最近は、java 書くことが多いので、
Interface を書いて、無事、OS X から、赤外線リモコンが使える
ようになりました。Perl open3 あたりで、jerm を呼んでもいい
んだけどね。

ただ、ちょっと赤外線の出力が弱い。デジカメで信号が出ている
のかどうか見るんだけど、いまいち良くわからなかった。libusb/
libfti でも、一応は、動作していたみたいです。 

ケーブルがうざい。切っちゃおうかな。出力は、4本の出力を切替
えられて、受光は、二つのプラグの真中らしいです。

　　　% java pcoprs/RemoteCommander /dev/cu.usbserial-00000539 led
　　　% java pcoprs/RemoteCommander /dev/cu.usbserial-00000539 read > open
　　　% java pcoprs/RemoteCommander /dev/cu.usbserial-00000539 write 4 < open

こんな感じ。この三つのコマンドしかないです。

