カテゴリ
リンク

当サイトは、玄箱PRO (KURO-BOX/Pro)を中心とした組み込み、Linuxと電子工作を扱っています。
会社案内

情報セキュリティおよび個人情報の取り扱いについて


コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。コメントはそれぞれ投稿した人のものです。

■赤外線リモコン受信機として使えるか
 デバイス・ドライバをインストールしてテストしたところ KURO-RS が学習リモコンとして使えそうなことは、わかりました。それでは、玄箱PROをリモコンで操るための受信機として使えるのでしょうか。それを調べてみました。

玄人志向 KURO-RS

■rs_rec の出力を調べる
 hexdump コマンドを使って、rs_rec で記録したファイルを調べてみました。1 と 2 が、記録したファイルです。押したリモコンのボタンは同じです。
kurobox@kurobox:~/kuro-rs/Linux/LinuxApp$ hexdump -C 1 
00000000  ff ff ff ff ff ff ff ff  ff ff ff 07 00 00 00 00  |................| 
00000010  00 1f f8 01 00 7e f0 03  00 f8 01 00 7e 00 00 3f  |.....~......~..?| 
00000020  f8 01 00 7e 00 00 3f f8  01 00 7c e0 07 3f f8 01  |...~..?...|..?..| 
00000030  00 7c e0 07 3f 00 80 0f  fc e0 07 3f f0 81 1f fc  |.|..?......?....| 
00000040  00 00 3e f0 01 00 fc 00  00 7e 00 80 1f 00 c0 07  |..>......~......| 
00000050  00 f0 03 00 f8 00 00 00  00 00 00 00 00 00 00 00  |................| 
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 
* 
00000080  00 00 00 00 00 00 c0 ff  ff ff ff ff ff ff ff ff  |................| 
00000090  ff ff 00 00 00 00 00 e0  07 3f 00 80 1f fc 00 00  |.........?......| 
000000a0  3f 00 80 1f 00 e0 07 3e  00 80 1f 00 c0 07 7e 00  |?......>......~.| 
000000b0  80 1f f8 c0 07 7e 00 00  1f f8 c0 0f 00 f0 03 1f  |.....~..........| 
000000c0  f8 c1 0f 7e e0 03 3f 00  c0 0f 7e 00 00 3f 00 c0  |...~..?...~..?..| 
000000d0  0f 00 e0 07 00 f8 01 00  7c 00 00 3f 00 00 00 00  |........|..?....| 
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 
000000f0

1回目のデータ

kurobox@kurobox:~/kuro-rs/Linux/LinuxApp$ hexdump -C 2 
00000000  ff ff ff ff ff ff ff ff  ff ff ff 07 00 00 00 00  |................| 
00000010  00 1f f8 01 00 7e e0 03  00 f8 01 00 7e 00 00 3f  |.....~......~..?| 
00000020  f8 01 00 7c 00 00 3f f8  01 00 7c e0 07 3f f8 01  |...|..?...|..?..| 
00000030  00 fc e0 07 3f 00 80 0f  fc e0 07 3e f0 81 1f fc  |....?......>....| 
00000040  00 00 3e f0 03 00 fc 00  00 3e 00 80 1f 00 c0 07  |..>......>......| 
00000050  00 f0 03 00 f8 00 00 00  00 00 00 00 00 00 00 00  |................| 
00000060  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 
* 
00000080  00 00 00 00 00 00 c0 ff  ff ff ff ff ff ff ff ff  |................| 
00000090  ff ff 00 00 00 00 00 e0  07 3f 00 80 1f fc 00 00  |.........?......| 
000000a0  3e 00 80 1f 00 c0 07 3e  00 80 1f 00 c0 07 7e 00  |>......>......~.| 
000000b0  80 1f f8 c0 07 7e 00 00  1f f8 c0 0f 00 e0 03 1f  |.....~..........| 
000000c0  f8 c1 0f 7e e0 03 3f 00  c0 0f 7c 00 00 3f 00 c0  |...~..?...|..?..| 
000000d0  0f 00 e0 07 00 f8 01 00  fc 00 00 3f 00 00 00 00  |...........?....| 
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................| 
000000f0

2回目のデータ

 1回目と2回目で、同じボタン押したのに結果が違っています。それでも、rs_send で送ると同じリモコンのボタンと同様に機能します。どうやら KURO-RS は光の点滅をそのまま覚えているようです。 

■赤外線リモコンの信号(光の点滅)
 赤外線リモコンでは、赤外光を約 38から40kHz の高速で点滅させています。これは太陽光や白熱灯の光による誤動作を防ぐためです。そして高速な点滅を一定時間 ON/OFF することにより、データを送っています。
  家電協フォーマット、NEC フォーマットと呼ばれる方式では、最初に長めの一定時間の ON 、次に長めの OFF を送ります(リーダ部)。そして、データ(メーカのIDやチェック・サムを含む)を送ります。データは、ON / OFF の長さの違いで送ります。'0' のときは、 ON/OFF の時間は同じ T で、'1'のときは ON 時間は T, OFF 時間は 3T となっています。データを送り終わったら、一定時間光を出しません(トレーラ部)。ほかにも、ソニー・フォーマットと呼ばれる形式があります。 

■点滅の正確さ 
 リモコンの点滅時間は実はそれほど正確ではありません。ON/OFF の時間の比は割と正確ですが、Tの長さは電池の残量や温度などによって変動しています。そのため、リモコンの信号を受ける側で、その変動分を吸収する処理をしているのです。
  KURO-RS のサンプル・プログラムの場合には ON/OFF 信号をそのまま記録し、再生することで学習リモコンとしています。リモコンの変動分が記録されてしまいますが、KURO-RS の記録・再生の精度は十分に高いので、それでもかまいません。家電協、NEC、ソニー・フォーマットを問わずに学習できるメリットもあります。 

■リモコンの信号をデコードする
 玄箱 PRO にリモコンで指示を与えるためには、玄箱PROで信号を解釈しないと、信号の変動を吸収できないことがわかりました。そこで家電協フォーマットを仮定してON/OFF 信号を元の符号に直す簡単なプログラムを書いて、rs_rec が記録したファイルを解析してみました。
kurobox@kurobox:~/kuro-rs/Linux/LinuxApp$ ./rs_analyze2 < 1 
LEADER 
01011101101000100100000010111111 
TRAILER 
LEADER 
01011101101000100100000010111111 
TRAILER

1回目

kurobox@kurobox:~/kuro-rs/Linux/LinuxApp$ ./rs_analyze2 < 2 
LEADER 
01011101101000100100000010111111 
TRAILER 
LEADER 
01011101101000100100000010111111 
TRAILER

2回目

 1回目、2回目とも、リーダ部から始まり、データが記録されて、トレーラ部が2回続いていることがわかります。どうやら、このリモコンはボタンを押している間、同じ信号を繰り返すようです。これなら、リモコンで玄箱PROをコントロールすることができそうです。

  ■ダウンロード 
 上記の解析に使ったrs_anaylze2.cです。

 カテゴリ 

 

トラックバック(0)

このブログ記事を参照しているブログ一覧: 学習型赤外線リモコン (KURO-RS) を調べる

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/1032

コメントする

おすすめ書籍
Powered by
Movable Type 4.1