IRServer: USB学習リモコンを手軽に使おう

作成日: 2008/10/19  最終更新日: 2008/10/27



◆はじめに

USB赤外線学習リモコン(Buffalo PC-OP-RS1 / 玄人志向 Kuro-RS)は,一般的なパソコンからUSB経由で赤外線信号を制御して,さまざまな家電機器を制御できるデバイスです(図1).

IRServerは,赤外線デバイスの登録/学習/送信テストが手軽に行えるGUIと,TCPサーバーを一体化したソフトウェアです(図2).TCPソケット経由でシンプルなテキストメッセージを送信するだけで,パソコン用学習リモコンを手軽に制御することができます.既存の多くの家電機器は赤外線リモコンでの操作に対応しているため,IRServer を用いれば,テレビ,ビデオ,オーディオ,照明,エアコン,扇風機など多数の家電機器を制御することができます.

MobiServerで紹介するさまざまなミドルウェア群と組み合わせることで,実世界のさまざまな機器をシンプルな方法で手軽に操作することが可能です.

x10device

図1 USB赤外線学習リモコンの外観
(Buffalo PC-OP-RS1 / 玄人志向 Kuro-RS

図2 IRServerのスクリーンショット
(左:初期状態,右:3つの操作対象を登録した状態)





◆ダウンロード

  • IRServer.zip
    実行ファイルです.事前に.Net Framework2.0をインストールしておく必要があります.Windows2000/XP/Vista上で動作するはずです.詳しくは下記のインストールを参照してください.
  • IRServerSource.zip
    ソースコードです.Visual Studio .NET 2008 を用いて,C#で書かれています.

◆ライセンス

プログラムのソースコードは修正済みBSDライセンスに従って配布します.完全に無保証です.

◆インストール

IRServerを実行する前に,上記のPC-OP-RS1 ドライバと,Microsoft .NET Framework再頒布パッケージ (23.7 MB) をインストールしておく必要があります.

これらのインストールが完了後,IRServer.zipを解凍し,X10Server.exeをダブルクリックすればプログラムが起動します.



◆使い方

1. USB赤外線学習リモコンの接続と切断

IRServerを起動後,PCにUSB赤外線学習リモコンを接続します.そして,フォーム下部のコンボボックスを用いてデバイスがつながっているポートを選択し,「接続」ボタンを押します.終了時には「停止」をクリックします.

※シリアルポートの確認は,WindowsXPの場合,コントロールパネル→システム→ハードウェア→デバイスマネージャ→ポートから行います.

-
2. 赤外線デバイスの登録

「モジュール追加」から[Category],[Product]をプルダウンメニューからそれぞれ選択し,最後に「追加」ボタンを押します.

-

3. 赤外線デバイスの制御

モジュールを追加すると,左図のような画面が表示されます.プルダウンメニューから[Command]を選択し,「送信」ボタンを押すと,赤外線デバイスを制御することができます.右図では,Power(電源)コマンドを送信しています.

また,新しいコマンド名をコンボボックスに入力して,受信ボタンを押すと,赤外線受信待機状態となります.ここで,赤外線リモコンから信号を送信することで,新しいコマンドを学習することができます.なお,コンボボックス内でデリートキーを押すと,表示されているコマンドを削除します.

◇その他の使い方
ネットワーク経由の使い方はMobiServerのページや以下の通信仕様を参考にしてください.


◆通信仕様

ここでは,IRServerの基本的な通信仕様について説明します.
詳細な通信仕様(エクセル形式, PDF形式)も参照してください.

基本仕様(共通)

基本仕様は以下のようになります.(全てのMobiServerに共通です.)

  • 送受信文字列は全てASCIIテキスト形式.
  • コマンドは「デリミタ」で指定した行区切り子("\r\n","\r","\n","\0")のいずれかで区切られる.
  • コマンド内の各要素は指定した項目区切り子(",", "\t")のいずれか で区切られる.

また,クライアントからコマンドを送信する際の注意事項は以下のようになります.

  • コマンドにミスがあった場合は無視される.(エラーは返さない.)
  • 各コマンドは厳密に指定する必要がある.
    • 大文字/小文字は区別される.
    • スペースを入れない.
  • <Port>, <Data>は各コマンド毎に適切な範囲を指定する.

基本的なコマンド構成

IRServerの各コマンドの,基本的な構成は,以下のようになります.

IR,<CommandType>,<Category>,<Product>[,...]

  • <CommandType>は以下の4種類
    • Attach
    • Detach
    • Out
    • Set
  • <Category>はTV, Audio, AirConditionerなどの製品カテゴリ.
  • <Product>はSharp1,Sharp2,Sony1などのメーカー毎の実際の製品群.(赤外線信号の種類で分類)
IRServer→クライアント
  • IR,Attach,<Category>,<Product>
    • 赤外線デバイス(Category - Product)が登録された.
    • e.g.) IR,Attach,TV,Sharp1
  • IR,Dettach,<Category>,<Product>
    • 赤外線デバイス(Category - Product)が削除された.
    • e.g.) IR,Dettach,TV,Sharp1
クライアント→IRServer
  • IR,Out,<Category>,<Product>,<Command>
    • 赤外線デバイス(Category - Product)のコマンド(Command)を送信する.
    • e.g.) IR,Out,TV,Sharp1,Power
  • IR,Set,<Category>,<Product>,<Command>
    • 赤外線デバイス(Category - Product)のコマンド(Command)を受信(学習)する.
    • e.g.) IR,Set,TV,Sharp1,Mute





◆参考URL
  • 玄人志向 Kuro-RS
    - 今回利用したUSB学習リモコンです.下記Buffalo製品とデバイス自体は同一ですが,制御用ソフトウェアがついておらず,代わりに通信仕様が公開されています.
  • Buffalo PC-OP-RS1
    - 今回利用したUSB学習リモコンのBuffalo版モデルです.制御用ソフトウェアが付属していますが,COMポートを常時監視&占有するようなのでIRserver起動時には終了しておく必要があります.
  • クロッサム2USB
    - 残念ながら販売修了してしまいましたが,パソコンから制御できるマルチリモコンとして一世を風靡した(?)クロッサム2のUSB版です.


[MobiServer]