アフィリエイト広告を利用しています

広告

posted by fanblog

リモコンサーバー その3 玄箱Proでリモコンを動かす

次にこのリモコンキットを玄箱Proで動作させます

インターネットを調べると色んな情報があり、有り難く参考にさせて頂きます。

参考ページ

PC-OP-RS1 on Linuxに関するメモ
赤外線学習リモコン PC-OP-RS1 を使ってみた
webからリモコン操作


ちなみに、私の玄箱ProはDebian 6.0 (squeeze)ベースにApache+PHPをインストールしてます。


手順としては以下の流れにそって行います。

1) リモコンキットを玄箱Proで認識させる
2) リモコンテストを行う。
3) Web上からリモコンを制御する。


リモコンキットを玄箱Proで認識させる

1) モジュール追加
> /sbin/modprobe ftdi_sio vendor=0x0411 product=0x00b3

2) リモコンキットを玄箱Proにさす。

3) 認識しているか確認。
> dmesg

以下の一行が表示されてttyUSB0にAttacheされてればOK!

[ 59.888239] usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0

4) デバイスのパーミッションを変更。
> chmod 666 /dev/ttyUSB0

折角なので・・・玄箱Proがリブートしたり、USBの抜き差しをしても認識するようにしておきます。

5) modprobeを自動的に行うようにする。
> echo "/sbin/modprobe ftdi_sio vendor=0x0411 product=0x00b3" >> /etc/rc.local

6) パーミッションの変更も自動で行えるように、以下のファイルを作成。
/etc/udev/rules.d/52-ftdi-serial.rules

そのファイルに以下の一行を追加。

BUS=="usb", SYSFS{ idVendor}=="0411", SYSFS{ idProduct}=="00b3", MODE="0666"

これでUSBを抜き差ししても、リモコンキットは認識されます。


リモコンのテストを行う

1) リモコンを制御するプログラムの入手。
ここからrc_rec.c, rc_send.cをダウンロード。

2) コンパイル
> gcc rc_rec.c -o rc_rec
> gcc rc_send.c -o rc_send

3) リモコンの学習
以下のコマンドで、学習開始。

> ./rc_rev test.data /dev/ttyUSB0
test OK
init OK
rec start

リモコンキットの受光部にリモコンを近づけて送信してrec OKが表示されたら完了。


4) リモコンの送信

>/rc_send test.data 1 /dev/ttyUSB0

ちゃんと動くかどうか確認します。
ちなみに、1というのはリモコンの送信部のポート番号を表していて、以下のように割り当てられています。

1: A - 黄色のシール(送信部付近)
2: A - シールなし
3: B - 黄色のシール
4: B - シールなし


Web上からリモコンを制御する

1) webサーバーの準備

ここに書いてあるようにちゃんとパーミッションを分けて管理することをオススメします。

私の場合、外からアクセスできないようにしているので、var/www/rcというディレクトリにrc_rec, rc_send, リモコンデータ等、全部放り込みました。

リモコンデータのファイル名にルールを決めて、テレビであれば"tv_xxx"という風に先頭の文字で判断できるようにしました。

参考までにphpファイルをここに置いておきます。

{cmVtb3RlX2lwaG9uZXNa.php}

CSSファイルは面倒なので載せませんが、適当に追加して下さい。


2) iPhoneからアクセス
safariで以下のアドレスを開くとこんな感じで表示され、ボタンを押すとちゃんと動作します。

http://玄箱ProのIPアドレス/rc/remote_iphone.php



3) 動かない場合は・・・
ちなみに、動かない場合はディレクトリやデバイスのパーミッションを怪しんで下さい。

添付のPHPの以下の箇所を変更して、メッセージを表示するようにして下さい。

//$dev="/dev/ttyUSB0"; <- コメントを外す
$dev="/dev/ttyUSB0 > /dev/null &"; // background <-コメントアウトする

また、/var/www/rc/rc_send.logというログファイルも作られているので、参考になります。



これで寝室にいてもリビングの照明やエアコンなどのコントロールができ、更にグータラ生活に拍車がかかりました。(笑)





この記事へのコメント

   
検索
検索語句
記事ランキング
最新記事
×

この広告は30日以上新しい記事の更新がないブログに表示されております。