赤外線学習リモコンのサイトと日経LINUXを参考にさせていただき、Raspberry Piで家電の制御をテストしてみた。
本当にやりたかったのは【部屋に入ったときに部屋の明かりがつく】だ。
基本的にはほぼ同じだけど、参考サイトと違うのは以下。
- LED拡散キャップがない
- GPIOのピン番号が違う
- 赤外線受信は PL-IRM2161-XD1
- 赤外線LEDは OSI5LA5113A
- 抵抗が 2.4kΩ と 51Ω を利用
パッケージの導入して、GPIOピン番号を指定
$ sudo apt-get install lirc $ sudo modprobe lirc_rpi gpio_in_pin=4 gpio_out_pin=17
リモコンを学習
$ irrecord -n -d /dev/lirc0 ~/control.conf
上記コマンドを打つと「Press Return to Continue」と表示されるのでエンターを押す。
次に「Press Return now to start recording」と表示されるので、さらにエンターを押す。
覚えたいリモコンを持って、赤外線受信モジュールに向けてボタンを押す。
ガンガンすべてのボタンを押していく。
すると、画面上のドットが増えていき、2行分埋まると「Prease enter the name for the next button」とメッセージが表示されるので、登録したいボタン名を入力し、エンターを押す。
ちなみこ俺は power と入力して、リモコンの電源を押した。
この作業を繰り返すことで、ボタンを登録してくようだ。
学習したリモコンの設定ファイルを、以下コマンドで正しい格納場所に追記する。
$ sudo cat ~/control.conf » /etc/lirc/lircd.conf
lirc設定ファイルを編集
設定ファイル「/etc/lirc/hardware.conf」の以下4項目を修正する。
$ sudo vi /etc/lirc/hardware.conf
- LIRCD_ARGS=”—uinput”
- DRIVER=”default”
- DEVICE=”/dev/lirc0”
- MODULES=”lirc_rpi”
lircサービスの起動
以下コマンドでサービスを起動する
$ sudo /etc/init.d/lirc start
リモコン制御
以下コマンドでリモコンの制御
$ irsend SEND_ONCE control.conf power
結果的には
部屋のオーディオの電源の制御は全然問題なかったけど、部屋の電気はできなかった。
リモコンを学習させるところで、いくらやってもドットが増えなかったのだ(厳密には増えたけど、5分やって1つとか・・・)。
何がいけないのかわからないけど、また後日、いろいろやってみるかな。
電気は上手くできなかったけど、オーディオは動いたわけだし、ワクワクしてきたなぁ。