赤外線リモコン受信モジュールを使うには
LIRC(Linux Infraed Remote Control)を使います。
LIRCの使い方は、Raspbianのバージョンによって違うようで、「Raspberry Pi で遊ぼう!改定第4版」本の通りには行きませんでした。
その変更点について記載しておきます。
入力(GPIO17)と出力(GPIO18)のポートを定義
/boot/config.txt を編集して、入力と出力のポートを定義します。
入力:GPIO17
出力:GPIO18 を使います。
$ sudo nano /boot/config.txt
[変更前]
dtoverlay=lirc-rpi,gpio_in_pin=17,gpio_out_pin=18
[変更後]
dtoverlay=gpio-ir,gpio_pin=17
dtoverlay=gpio-ir-tx,gpio_pin=18
デバイス(/dev/lirc0)を定義
/etc/lirc/lirc_options.conf を定義します。
$ sudo nano /etc/lirc/lirc_options.conf
[変更前]
driver = devinput
device = auto[変更後]
driver = default
device = /dev/lirc0
ここまで定義したら、再起動!
デバイスを確認します。
$ ls -l /dev/lirc*
デバイスは、2つ作動しています。
なぜ、デバイスが2つ作動しているのかがわかりません。
最後に動作環境を掲示していますので、わかる方がいらっしゃれば教えてください。
一旦LIRCを終了させ、mode2コマンドで読み込みテストします。
LIRCの終了コマンドは、[lirc]を[lircd]とするとうまく動作しました。
[変更前]
$ sudo /etc/init.d/lirc stop
$ mode2 -d /dev/lirc0
[変更後]
$ sudo /etc/init.d/lircd stop
$ mode2 -d /dev/lirc1
Using driver default on device /dev/lirc1
Trying device: /dev/lirc1
Using device: /dev/lirc1
pulse 2381
space 623
pulse 575
デバイス(/dev/lirc1)で、うまく動作しました。