赤外線リモコンボタンを押すとbashコマンドを実行しようとします。 IRレシーバーデバイスは、Anysee e30 Combo plus DVB-Tチューナーに付属のUSBデバイスです。それ以外の場合は正常に動作します。
ir-keytable 出力の出力:
Found /sys/class/rc/rc0/ (/dev/input/event0) with:
Driver dvb_usb_anysee, table rc-anysee
Supported protocols: NEC
Enabled protocols:
Name: Anysee
bus: 3, vendor/product: 1c73:861f, version: 0x0100
Repeat delay = 500 ms, repeat period = 125 ms
ir-keytable -t
これは、ボタン押下が受信されたことを確認するためにテストを実行したときに機能し、スキャンコードとボタンラベル(KEY_UPなど)が表示されることがあります。ボタンを押してbashコマンドを実行するには、LIRCのirexecコマンドを使用することが唯一のオプションだと思います。 lircをインストールして設定し、irw
lircのテストコマンドを実行します。出力がありません。 lircdが実行中で、irwがデーモンに接続できることを確認しました。
LIRCは、ir-keytableコマンドでサポートされているプロトコルの影響を受けません。これは、この目的のためにハードウェアを使用できないという意味ですか?
root@raspberrypi:/home/pi# modprobe ir-lirc-codec
root@raspberrypi:/home/pi# ir-keytable -c -p NEC,LIRC
Old keytable cleared
/sys/class/rc/rc0//protocols: Invalid argument
Couldn't change the IR protocols
私はいくつかのサイトでlircをプロトコルとして追加するためにこれを行う人を見ました。しかし、これが失敗することは驚くべきことではありません。単に名前をファイルにエコーして、サポートされていないプロトコルを追加することができれば奇妙です。
root@raspberrypi:/home/pi# echo lirc > /sys/class/rc/rc0/protocols
bash: echo: write error: Invalid argument
私はRaspberry Pi v2をシステムとして使用しています(Debian Wheezy)
答え1
プロトコルを有効にするには、プロトコルの前に「+」を付ける必要があります。
echo +lirc > /sys/class/rc/rc0/protocols