少し前にラズベリー・パイ専用 学習リモコン基板 ADRSIRを買って色々弄ったので、 今日はADRSIRの使い方をまとめておこうと思います
- 物理的な操作編
- 赤外線を記憶させる
- ボタンからテレビの電源を付ける・消す
- プログラムでの操作編
- 記憶させている赤外線データを取得する
- Pythonからテレビを付ける・消す
1.赤外線を記憶させる
始まりの状態
真ん中のスイッチをLEARN状態に変更して、青いランプが光る。 そして記憶させたいボタンを1回押す 今回は5番ボタンにする
記憶させたいリモコンボタンを押す
緑のランプが光ったら成功!
2. ボタンからテレビの電源を付ける・消す
5番のボタンを押して、テレビのオン・オフをしています。
3. 記憶させている赤外線データを取得する
手順1で5番ボタンに記憶させた、テレビの電源赤外線データを取得してみます。
リモコンいじり放題!!ラズパイ専用 学習リモコン基板で使えるソフトウェア3種詰め合わせ公開 このページからダウンロードが出来るIR-remocon02-commandline.pyを使います。
ダウンロードした資材を /home/pi/に置きます
物理ボタンは1,2,3,4,5,6,7,8,9,10で指定されていますが、 プログラムで指定する場合は0,1,2,3,4,5,6,7,8,9になります。
Python3で
python3 I2C0x52-IR/IR-remocon02-commandline.py r 4 > 5.dat
のコマンドを実行すると、
物理ボタン5に設定した赤外線データを/home/pi/5.dat
ファイルに出力することが出来ます
デフォルトだと、下のような内容のファイルが出来ると思います
3
[8]
memo_no write= [8]
data_num = 50
[133, 0, 67, 0, 18, 0, 16, 0, 19, 0, 50, 0, 18, 0, 16, 0, 18, 0, 18, 0, 18, 0, 16, 0, 18, 0, 18, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 17, 0, 19, 0, 17, 0, 51, 0, 18, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 18, 0, 18, 0, 18, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 19, 0, 50, 0, 18, 0, 50, 0, 18, 0, 16, 0, 19, 0, 16, 0, 19, 0, 50, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 18, 0, 17, 0, 17, 0, 18, 0, 18, 0, 51, 0, 17, 0, 17, 0, 17, 0, 19, 0, 17, 0, 51, 0, 17, 0, 17, 0, 18, 0, 51, 0, 18, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 19, 0, 16, 0, 18, 0, 51, 0, 18, 0, 50, 0, 18, 0, 66, 5]
8500430012001000130032001200100012001200120010001200120012001100120011001200110012001100120011001200110011001300110033001200100013001000130010001300100013001000120012001200100013001000130010001300320012003200120010001300100013003200120011001200110012001100120011001200110012001100110012001200330011001100110013001100330011001100120033001200100013001000130010001300100013001000120033001200320012004205
必要なのは、配列より後ろの
8500430012001000130032001200100012001200120010001200120012001100120011001200110012001100120011001200110011001300110033001200100013001000130010001300100013001000120012001200100013001000130010001300320012003200120010001300100013003200120011001200110012001100120011001200110012001100110012001200330011001100110013001100330011001100120033001200100013001000130010001300100013001000120033001200320012004205
部分なので、他の部分は削除しても構いません。コマンドを実行すればすぐにとれますしね。
これで、赤外線データを取得することが出来ました。
4. Pythonからテレビを付ける・消す
まずは公式から提供されているプログラムを修正します笑 提供されているものはどう頑張っても動きません
202行目の
write_command(memo_no,block2)
を
trans_command(memo_no,block2)
に変更します
trans_commandの第二引数のblock2へ
8500430012001000130032001200100012001200120010001200120012001100120011001200110012001100120011001200110011001300110033001200100013001000130010001300100013001000120012001200100013001000130010001300320012003200120010001300100013003200120011001200110012001100120011001200110012001100110012001200330011001100110013001100330011001100120033001200100013001000130010001300100013001000120033001200320012004205
が流れます。
これで、
python3 I2C0x52-IR/IR-remocon02-commandline.py t `cat I2C0x52-IR/5.dat`
を実行すると、テレビの電源がつきます。 もう一回実行すると、テレビの電源が消えます。
まとめ
- 物理ボタンでテレビをオン・オフしました
- 赤外線コードを取得しました
- Pythonからテレビをオン・オフしました
公式のコードに手を加えて、動かすようにしました。 もう少しわかりやすくコードを直して、誰でも使えるようにしたいです。
I2Cがよくわからないなぁ… どうしたらいいんだろ。