Raspberry PiでLIRCをインストールする手順です。
LIRCを動かすためにはいくらか電子工作のようなことが必要なのでそれも同時に行います。
#前提
- 使用するRaspberry Pi: Raspberry Pi 2
- IR(赤外線)受信モジュール: PL-IRM2161-XD1
- IR LED: 手持ち(OSI5FU5111C-40 かな?)
- その他用意するもの:ブレッドボード、100Ωとかの抵抗、ジャンパワイヤ
#LIRCとは
LIRCは、Linux Infrared Remote Controlの略でLinux上からIRコントロールを簡単にできるようにするデーモンです。
いわゆる学習リモコンのような機能が実装されています。
#LIRCのインストール
まず、Raspberry PiにLIRCをインストールします。
apt-get install lirc
でパッケージがインストール出来ます(簡単!)
インストールしたら赤外線向けの回路を作るので一旦シャットダウンします
shutdown -h now
回路の作成
とりあえずソフト側は出来たのでさっくり回路を作ります。
今回は3.3VのIOですので、LEDについてはLED計算機で適当に計算します。今回は100Ωを挟みました。
また、PL-IRM2161-XD1についてはデータシートにサンプル配線がありますが、当方でテストした限りでは抵抗を挟むとRaspberry Piが落ちたり認識しなかったりするので直結にしてあります。
皆さんはとりあえず抵抗を挟んで、動かなければ少しずつ抵抗を外していってください。
今回はFritzingで回路図を作りました。(楽でいいですね)
注意点としては3.3Vの供給とGNDの入れ違えなどがよくあります。
ジャンパーワイヤーの色をあらかじめ決める(3.3Vは赤、GNDは黒、信号線は白)などして、回路が問題無いことを確認してからRaspberry Piに接続しましょう。
#配線の確認
次にとりあえずLEDが光るか確認します。
sudo echo 18 > /sys/class/gpio/export
とすると/sys/class/gpio/
にgpio18というフォルダができています。
sudo echo out > /sys/class/gpio/gpio18/direction
でこのGPIOが出力方向であると明示します。
そして、sudo echo 1 > /sys/class/gpio/gpio18/value
とするとLEDが点灯し、
sudo echo 0 > /sys/class/gpio/gpio18/value
とすると消灯します。
IR LEDの場合にはスマートフォンやデジタルカメラで確認すると良いかと思います。
(iPhoneなど一部機種はリアカメラはIRカットがされているようなので、フロントカメラで見ましょう)
#LIRCの設定
まず、Raspberry Pi 2のGPIOポートのどれを使用するか決めます。
Raspberry Pi 2のピンアサインはRaspberry Pi2 GPIO Headerにあります。
1番ピンがある列はmicroUSB側で、Video/Audio側が2番ピンの列、microSD側が1,2pinです。
今回はGPIO17(11Pin)をIN側(受信側)とGPIO18(12Pin)をOUT側(送信側)にします。
/etc/modules
を編集し、以下のモジュールを追加します。
lirc_dev
lirc_rpi gpio_in_pin=17 gpio_out_pin=18
この時、物理ピンの番号を指定すると動きませんのでご注意ください。
/etc/lirc/hardware.conf
を編集します。
変更する項目はこれくらいです。
LOAD_MODULES=true
DRIVER="default"
DEVICE="/dev/lirc0"
MODULES="lirc_rpi"```
ここで一旦再起動します。
再起動するとlircサービスが自動で起動します(ここは大事)
# 動作確認
動作確認をします。
```sudo mount -t debugfs debugfs /sys/kernel/debug
sudo cat /sys/kernel/debug/gpio```
と入力すると、
GPIOs 0-53, bcm2708_gpio:
gpio-17 (lirc_rpi ir/in ) in lo
gpio-18 (lirc_rpi ir/out ) in lo
gpio-47 (led0 ) out lo
などと出力されます。
出力されない場合には、```/etc/modules```の書き間違え、配線ミス、Device Treeが原因のケースがあります。
前2個が問題無ければ、[以前書いた記事](http://qiita.com/Library/items/adcd66694e3068bd672b)を参考にDevice Treeを無効にしましょう。
次にLIRCがロードされているか確認します。
```ls -l /dev/lirc*```でlirc0が居ることを確認しましょう。
居たら、IR受信センサの動作を確認するためにLIRCを一旦停止します。
```/etc/init.d/lirc stop```
次に適当な赤外線リモコンを用意して、以下のコマンドを実行します。
``` mode2 -d /dev/lirc0```
実行した後、IR受信センサに向けてリモコンを操作してみると、何か出てくるかと思います。
出てこない場合、IR受信センサの配線に何らかの問題があると思いますので、確認してみてください。
ここまでくればLIRCはインストールされました。
後はLIRCを設定するだけですが、それはまた別の機会に。