赤外線学習リモコンを使用して、簡単なコードで動作シーケンスを組み、周囲のリモコン使用機器の制御自動化や、特定のシステムの動作検証を実施する事を目的としたライブラリを公開します。
ここでは、上記の目的を手軽に実現する為、Rubyのクラスライブラリとして実現させることにしました。
制御ドライバには、PC-OP-RS1-CONTROL.DLLを使用する為、Windowsベースシステム専用です。
このスクリプトは、ユーザーがPC-OP-RS1を使用して自在に赤外線コマンドのシーケンスを組むために、Rubyを使用する際のインタフェースです。
require 'RemoController'
# インスタンスの作成
remo = RemoController.new()
# モジュールのバージョン取得
v_maj,v_min = remo.GetModuleVersion
printf("DLLバージョン : %d.%d\n",v_maj,v_min)
# ポートのオープン(COM2)
remo.Open(2)
if(remo.Led() == RemoController::RET_OK) then
printf("コール成功\n")
else
printf("コール失敗\n")
end
# 格納用バッファを確保
buff = remo.GetIrBuff()
# リモコンコードを受信する
remo.Receive(buff)
# 送信をするループ
while(1)
printf("Press any key to transmit")
gets
# Ch.0の出力ポートから出力する
remo.Transmit(0,buff)
end
remo.Close()
Ruby上で240バイト長のリモコンコマンドデータ格納用バッファを取得するインターフェースです。
全てのメソッドは以下の戻り値を持ちます。
RemoController::RET_OK 正常終了 RemoController::RET_ERR 異常終了 RemoController::RET_TIMEOUT タイムアウト
サンプルコードは、COM2を使用する事を前提にコーディングしています。
各自の環境に合わせてポート番号を変更して下さい。
| sample01.rb | リモコンのデータを受信し、その次にそのまま受信したバッファ内容を使用してリモコンコマンド送出を行います |
| sample02.rb | リモコンのデータを受信し、その後データ列としてRubyソース中に埋め込む為のハッシュ定義形式にて表示する。この表示コードをソース中に張り付けることで、予め記録しておいた赤外線コマンドを任意のタイミングで送出する事ができます |
| sample03.rb | sample02.rbを使用して取得したテーブルを元に、リモコンコードの送出を行う。サンプルでは、ソニーのDVDプレーヤーの電源を制御しています |
| sample04.rb | 別なハッシュテーブルとして定義した、コイズミの照明器具とパナソニックのテレビをシーケンス制御するサンプルです |
アクセスカウント(累計) : - アクセスカウント(本日) : - アクセスカウント(昨日) : -