Volumioのプラグインを使ってリモコンで操作できるようにします。
リモコンは秋月電子で購入できるオプトサプライ赤外線リモコンを使い、受信モジュールは同じく秋月電子で購入可能なシャープ製のGP1UXC41QSを使いました。Volumio 3のバージョンはVERSEION:3.251です。
IR Remote Controllerプラグインのインストール
インストールはメニューのプラグインからプラグイン管理画面のプラグイン検索タブでUser InterfaceをクリックしてリストアップされているIR Remote Controllerのインストールボタンをクリックします。

lircd.conファイルとlircrcファイルの作成
オプトサプライの赤外線リモコンは当然Volumioには登録されていないので登録する必要があります。それには端末からsshでVolumioにログインして行いますが、ログイン出来ない場合ブラウザでvolumioのIPアドレス/devで表示されるSSHの項目にあるENABLEボランをクリックしてsshを許可してください。

Volumioにログインしたら
cd /data/plugins/system_hardware/ir_controller/configurations/
としてここにlircd.confとlircrcファイルを置くディレクトリを作成します。ディレクトリ名はOptoSupply_OE13KIRとしました。
mkdir OptoSupply_OE13KIR
OptoSupply_OE13KIRディレクトリに移動してファイルを作成します。
nano lircd.conf
として、空のファイルを作成し以下の内容をコピペします。
begin remote
name OptoSupply
bits 16
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9000 4500
one 560 1690
zero 560 565
ptrail 560
pre_data_bits 16
pre_data 0x8F7
repeat 9000 2250
gap 108000
toggle_bit_mask 0x0
begin codes
KEY_POWER 0x1BE4
KEY_A 0x1FE0
KEY_B 0x1EE1
KEY_C 0x1AE5
KEY_UPLEFT 0x8D72
KEY_UP 0x05FA
KEY_UPRIGHT 0x847B
KEY_LEFT 0x08F7
KEY_SELECT 0x04FB
KEY_RIGHT 0x01FE
KEY_DOWN 0x00FF
end codes
end remote
Ctrl+O returnで保存し、Ctrl+Xでnanoを終了。同様にlircrcファイルを作成します。
begin prog = irexec button = KEY_SELECT config = /usr/local/bin/volumio toggle end begin prog = irexec button = KEY_A config = /usr/local/bin/volumio volume toggle repeat = 0 end begin prog = irexec button = KEY_UP config = /usr/local/bin/volumio volume plus repeat = 1 end begin prog = irexec button = KEY_DOWN config = /usr/local/bin/volumio volume minus repeat = 1 end begin prog = irexec button = KEY_LEFT config = /usr/local/bin/volumio previous end begin prog = irexec button = KEY_RIGHT config = /usr/local/bin/volumio next end begin prog = irexec button = KEY_POWER ignore_first_events = 30 config = sudo poweroff end begin prog = irexec button = KEY_UPLEFT config = /usr/local/bin/volumio seek minus end begin prog = irexec button = KEY_UPRIGHT config = /usr/local/bin/volumio seek plus end
プラグインの設定
インストール済みプラグインタブをクリックして表示されるIR Remote Controllerをアクティブ(offからonにする)にします。すると設定ボタンが表示されるのでこの設定をクリックします。
IR Remote ConfigurationのSelect Profileで新たに登録された[ OptoSupply_OE13KIR ]を選択し、Saveします。

ProfileのリストにOptoSupply_OE13KIRが登録されていなかった場合、戻るをクリックし、インストール済みプラグインタブで一旦IR Remote Controllerを非アクティブにし、再度アクティブにすることで登録されます。また、lircd.confまたはlircrcファイルを編集した場合は一度適当なProfile(例えばApple Remote 1294)を選択、Saveし再度OptoSupply_OE13KIRを選択、Saveすると変更内容が反映されます。
次に赤外線受信モジュールからの出力を接続するGPIOの設定をします。デフォルトではGPIO-25になっているので、ここではそのままにしておきます。もちろん25以外のGPIO番号を選択する事もできます。
GPIOピンのプルアップ/ダウンの設定は[up]に、Active Stateを[on]に、そして入力信号の論理は[active-low]に設定して[Save]します。

赤外線受信モジュールの接続
確認は、赤外線受信モジュールをブレッドボードに実装し、接続はRaspberry PiのGPIOコネクタに直接はんだ付けしたジャンパー線を使い行いました。
赤外線モジュールの1ピン(Vout)とGPIOコネクタの 22ピン(GPIO-25)、赤外線モジュールの2ピン(GND)とGPIOコネクタの20ピン(GND)そして赤外線モジュールの3ピン(Vcc)とGPIOコネクタの1ピン(3.3V)を接続します。


動作確認
リモコンのキーと対応する機能です。

シャットダウンは3秒程度の長押しで開始します。Seek+は10秒先に飛び、Seek-は10秒前に戻って再生します。割り当てた機能の一通りの動作は問題なく確認できました。
