RRR: Remote Recording Reservation

前回紹介した 東芝のハードディスクレコーダ(VARDIA)への iEPG による録画システム(RRR)を github に公開したので、簡単に紹介します。

前回説明しましたとおり、
 1. RubyiEPG をパース。Google App Engine にメール送信指示。
 2. GAE から RD 専用メールアドレスにメール送信
 3. RD からメールで録画予約
という手順を行います。

試してみたい方は、
git clone git://github.com/cuzic/rrr.git
で、ダウンロードしてみてください。

簡単な使い方は以下のとおりです。

1. 準備
 Ruby をインストールする
 Ruby をお持ちでない方はインストールしてください。
  作者は ActiveScriptRuby で検証しています。
 http://arton.hp.infoseek.co.jp/indexj.html

 RD で利用するためのメールアドレスを用意する。
 作者は GMX http://gmx.com/ で用意しました。

 RD の管理者画面で、用意したメールアドレスの設定を行う。
 東芝のホームページも参考にしてください。
http://www3.toshiba.co.jp/hdd-dvd/support/faq/ans/net_mail005b.htm
 http://www.rd-style.com/network/explain2/0405.htm

2.Google App Engine を利用可能にする。
Google App Engine のアカウント登録、SDK のダウンロード、
Python のインストール等が必要です。
GAE アカウントの取得 http://appengine.google.com/
SDK のダウンロード http://code.google.com/intl/ja/appengine/downloads.html

3.GAE の「create an Application」ボタンを使って、RRR 用のアプケーションを作成しましょう。

4.3で作成したアプリケーション名や、RD で設定したパスワード画質、自動削除等の設定を適切に
./ruby/rrr-example.yaml
を編集して設定し
./ruby/rrr.yaml
として保存します。
(注意:以下カレントディレクトリは git clone したときの rrr ディレクトリ)

6.Ruby スクリプトExerb http://exerb.sourceforge.jp/コンパイルします。
rake rrr

7.作成した Ruby スクリプトiEPG ファイルに関連付けします。
FireFox の場合 「ツール」⇒「オプション」⇒「プログラム」でTVPI ファイルに、「他のプログラムを選択」を利用して、6で作成した exe ファイルを指定します。

8.3で作成したアプリーション名を
./gae/app-example.yaml
に入力し、
./gae/app.yaml
として保存します。

9. RD 側に設定したメールアドレスと
Google App Engine の管理者アドレスを
./gae/config-example.yaml
に入力し
./gae/config.yaml
として保存します。

10.Rakefile の定数 GAE_DIR を環境に適した値に設定し、gae ファイルをアップロードします。
rake update

11.すべて適切に行えていた場合、ブラウザからテレビ番組表の画面にアクセスして iEPG ボタンをクリックすると、rrr.exe が起動して GAE の方にメッセージが飛び、そのうち RD(東芝のハードディスクレコーダ)側で設定されます。

(うまくいかない場合)
1.大阪以外在住の方は、./ruby/rrr.yaml の局設定の編集が必要です。いろいろ見ながら、適切に設定してください。

2. http://RDのIP/setup/log.cgi で、RDのログを確認できます。
メールを取得していっているか確認してください。

3. Google App Engine の Data Viewer で、メール送信待ち、メール送信済みのデータを確認できます。

4.RD はメールを取得すると、サーバにメールを残しません。メールがサーバから削除されているか確認しましょう。

5.RD 側で、./app/config.yaml に設定したメールアドレスからの予約が許可されているか、確認してください。

6.RD 側で設定したパスワードと、./ruby/rrr.yaml のパスワードが一致しているか確認してください。

次回は、このスクリプトを作っていく途中の失敗エピソードなどを簡単に紹介するかもです。