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秒前に戻って再生します。割り当てた機能の一通りの動作は問題なく確認できました。