SSブログ

ラズパイオーディオをリモコンで操作 Raspbian buster Lirc Moode 6 [Raspberry Pi]

ラズパイオーディオ Moode 6 を赤外線リモコンで操作できるようにしたらかなり楽になった。OSのシャットダウンもリモコンで出来る。  
また,リモコンの追加登録も可能なので,2台登録しておけば1台が見当たらなくなっても困らない。
前記事,もう一台のラズパイがリモコン信号を受けてラズパイオーディオをコントロールする方法 
ラズパイオーディオをもう1台の赤外線レシーバ..    
前々記事,USB接続の赤外線レシーバーをラズパイオーディオに直接接続する方法
ラズパイオーディオを赤外線リモコンで操作

赤外線レシーバ付ラズパイを作っているので,このラズパイからリモートホストのラズパイオーディオを操作することにした。

IMG_20191028_001316

mpc はラズパイオーディオのmpdをコマンドラインで操作できるクライアントソフト。
mpc –h [IPアドレス] [コマンド] でリモートホストのmpdも操作できる。
リモコンの信号を受信すると指定したコマンドラインを実行する irexecで,mpcをキックする。
赤外線リモコンの信号データは irrecord –n で学習した結果,生成されるコンフィグファイルを/etc/lirc/lircd.conf.d/下に置く。リモコン名がそれぞれWIZZ,SBの2台のリモコンを学習・登録した。 

/etc/lirc/lircd.conf.d/WIZZ.lircd.conf
/etc/lirc/lircd.conf.d/SB.lircd.conf

irexec の設定ファイルは,

/etc/lirc/irexec.lircrc

ファイルを編集したら lircd, irexec を再起動する。

systemctl restart lircd irexec

mpc コマンドをリモコンボタンに対応させてみた。

mpc toggle
再生/一時停止ボタン

mpc play / mpc stop
再生ボタン / 停止ボタン

mpc play n
数字ボタン(プレイリストのn番目を再生)

mpc next
mpc prev
スキップボタン(プレイリスト内でのスキップ)

mpc seek +00:00:05
先送りボタン(5秒先送り)

mpc seek –00:00:05
巻き戻しボタン(5秒巻き戻し)

mpc load Favorates
リストボタン(プレイリストFavoratesをロード)

mpc vloume +10
音量プラスボタン

mpc volume –10
音量マイナスボタン

mpc repeat
戻るボタン(リピートモード)

実際に作成した irexec.lircrc ファイルはリモートホストのラズパイオーディオを操作しているのでmpc –h [IPアドレス] [コマンド]になっている。
リモコン・・・IRレシーバ付ラズパイZero-----無線LAN------ラズパイオーディオ Zero W
以下は,リモコンWIZZ(remote = WIZZ)部分の抜粋だが,remote = SB を指定すれば次の button はもう1台のリモコンSBのボタン指定となる。remote は button の前に指定する必要がある。remote を省略した場合は,デフォルトがワイルドカードなので,button 名が同じならどちらのリモコンでも動作する。

begin
        prog    = irexec
        remote  = WIZZ
        button  = PLAYPAUSE
        config  = mpc -h 192.168.0.60 toggle
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = NEXT
        config  = mpc -h 192.168.0.60 next
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = PREV
        config  = mpc -h 192.168.0.60 prev
  end
  #数字ボタンでplaylistのn番目を再生
begin
        prog    = irexec
        remote  = WIZZ
        button  = KEY1
        config  = mpc -h 192.168.0.60 play 1
  end
  begin
         prog    = irexec
        remote  = WIZZ
        button  = KEY2
        config = mpc -h 192.168.0.60 play 2
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = KEY3
        config = mpc -h 192.168.0.60 play 3
  end
  #音量下げる
begin
        prog    = irexec
        remote  = WIZZ
        button  = LEFT
        config = mpc -h 192.168.0.60 volume -5
  end
  #決定ボタンもPLAY/PAUSE
  begin
        prog    = irexec
        remote  = WIZZ
        button  = OK
        config = mpc -h 192.168.0.60 toggle
  end
  #音量上げる
begin
         prog    = irexec
        remote  = WIZZ
        button  = RIGHT
        config = mpc -h 192.168.0.60 volume +5
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = UP
        config = mpc -h 192.168.0.60 prev
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = DOWN
        config = mpc -h 192.168.0.60 next
  end
  begin
        prog    = irexec
        remote  = WIZZ
         button  = STOP
        config = mpc -h 192.168.0.60 stop
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = BACK
        config = mpc -h 192.168.0.60 repeat
  end
  begin
         prog    = irexec
        remote  = WIZZ
        button  = REV
        config = mpc -h 192.168.0.60 seek -00:00:05
  end
  begin
        prog    = irexec
         remote  = WIZZ
        button  = FWD
        config =  mpc -h 192.168.0.60 seek +00:00:05
  end
  begin
        prog    = irexec
        remote  = WIZZ
        button  = MUTE
         config = mpc -h 192.168.0.60 clear
  end
  #プレイリストをクリア,プレイリストRadio_listをロード,再生
begin
        prog    = irexec
        remote  = WIZZ
        button  = PROG
        config = mpc -h 192.168.0.60 clear; mpc -h 192.168.0.60 load Radio_list; mpc -h 192.168.0.60 play
  end
  #プレイリストをクリア,プレイリストFavorites をロード,再生
begin
        prog    = irexec
        remote  = WIZZ
        button  = LIST
        config  = mpc -h 192.168.0.60 clear; mpc -h 192.168.0.60 load Favorites; mpc -h 192.168.0.60 play
  end
# Moodeをリモートシャットダウン
begin
         prog    = irexec
         remote  = WIZZ
         button  = POWER
         config = sshpass -p moodeaudio ssh -t pi@192.168.0.60 'sudo poweroff'
  end
#ラズパイをシャットダウン
begin
        prog    = irexec
        remote  = WIZZ
        button  = ORANGE
        config  = sudo systemctl poweroff
end

リモコンでプレイリストをロード再生できるので,インターネットラジオのプレイリストをロードすれば,リモコンでラジオのチャンネル替えのようなことができる。
リモコンの電源ボタンでラズパイオーディオをシャットダウン,オレンジボタンで自分をシャットダウン。


nice!(0)  コメント(0) 

ラズパイオーディオをもう1台の赤外線レシーバ付ラズパイから操作 [Raspberry Pi]

IMG_20191025_235404

赤外線受光モジュールを搭載したラズパイでリモコン信号を受け,リモートホストのラズパイオーディオを操作。   
ラズパイ(赤外線受光モジュール付)については,
Raspberry Pi Zer o W で赤外線リモコン ユニバーサル基板に実装
ラズパイオーディオについては,   
ラズパイオーディオ Raspberry Pi Zero W + IQAudIO Pi-DACZero

mpc コマンドは,リモートホストの mpd(music player daemon) をコントロールできる。

mpc –h 192.168.0.60 mpc play

なお,IPアドレスは固定。左のZero(W)は192.168.0.60(むう)で右のZeroは192.168.0.81(ぱい)としている。
lirc は,カーネル4.19 の raspbian buster の場合,ソースにパッチを当ててビルドしないと正常に動作しない。   
kernel 4.19以降を搭載したRaspbian Stretch/Busterでlircを利用する   

lircd にヤマハ・リモコンVQ95010のコンフィグをロードさせるため /etc/lirc/lircd.conf.d/下にVQ95010.lircd.confをおく。
irget_db コマンドでVQ95010のコンフィグをダウンロードする。

root@raspberrypi:/home/pi# irdb-get find yamaha
yamaha/AVPhile_715_RC.lircd.conf
yamaha/AX-960.lircd.conf

yamaha/VP60840.lircd.conf
yamaha/VP79430.lircd.conf
yamaha/VP84950.lircd.conf
yamaha/VQ08640.lircd.conf
yamaha/VQ95010.2
yamaha/VQ95010.lircd.conf

root@raspberrypi:/home/pi# irdb-get download yamaha/VQ95010.lircd.conf
Downloaded https://sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/yamaha/VQ95010.lircd.conf as VQ95010.lircd.conf

root@raspberrypi:/home/pi# cp VQ95010.lircd.conf /etc/lirc/lircd.con.d/.

irexec はリモコンボタンの信号を受信すると指定したコマンドを実行する。
VQ95010.lircd.confには以下のようにボタン名とコードが書かれているので,ボタン名を参照しながら irexec.kircrc を設定する。

begin codes
     KEY_OPEN                 0x000000009E61807F        #  Was: OPEN/CLOSE

    KEY_PLAY                 0x000000009E6140BF        #  Was: PLAY
    KEY_PAUSE                0x000000009E61AA55        #  Was: PAUSE
     KEY_STOP                 0x000000009E616A95        #  Was: STOP
     :
    SKIP_FWD                 0x000000009E61E01F
    SKIP_REV                 0x000000009E6120DF

irexec の設定ファイル  /etc/lirc/irexec.lircrc

# PLAY
begin
    prog   = irexec
    button = KEY_PLAY      
    config = mpc -h 192.168.0.60 play      
end
# PREV     
begin
    prog   = irexec
    button = KEY_REV     
    config = mpc -h 192.168.0.60 prev
end
# STOP    
begin
    prog   = irexec
    button = KEY_STOP     
    config = mpc -h 192.168.0.60 stop
end
# NEXT    
begin
    prog   = irexec
    button = KEY_FWD     
    config = mpc -h 192.168.0.60 next     
end     

irw を起動してからリモコンボタンを押してみて,応答があれば正しく設定されている。

root@raspberrypi:/etc/lirc# irw
000000009e6128d7 00 KEY_4 VQ95010
000000009e618877 00 KEY_1 VQ95010
000000009e616897 00 KEY_6 VQ95010

irexec の実行結果の確認 journalctl -b0 /usr/bin/irexec

root@raspberrypi:~# journalctl -b0 /usr/bin/irexec
-- Logs begin at Sat 2019-10-26 15:00:49 BST, end at Sat 2019-10-26 15:02:10 BST
Oct 26 15:01:57 raspberrypi irexec[264]: Igor Gehenot Trio - SANTIAGO
Oct 26 15:01:57 raspberrypi irexec[264]: [playing] #2/10   0:00/4:53 (0%)
Oct 26 15:01:57 raspberrypi irexec[264]: volume:100%   repeat: off   random: off
Oct 26 15:02:01 raspberrypi irexec[264]: Igor Gehenot Trio - SANTIAGO
Oct 26 15:02:01 raspberrypi irexec[264]: [paused]  #2/10   0:04/4:53 (1%)
Oct 26 15:02:01 raspberrypi irexec[264]: volume:100%   repeat: off   random: off
Oct 26 15:02:08 raspberrypi irexec[264]: Igor Gehenot Trio - SANTIAGO
Oct 26 15:02:08 raspberrypi irexec[264]: [playing] #2/10   0:10/4:53 (3%)
Oct 26 15:02:08 raspberrypi irexec[264]: volume: 89%   repeat: off   random: off

手持ちのリモコンのコンフィグがlircのデータベースにあれば問題ないが,コンフィグがない場合は irrecord コマンドで学習してコンフィグを生成する。
受信レシーバがUSB接続のリモコンは,irrecord は使えなかった。



nice!(0)  コメント(0) 

ラズパイオーディオを赤外線リモコンで操作 [Raspberry Pi]

USB接続の赤外線レシーバーとリモコン Asus DH remote を使ってラズパイオーディオ moode Audio を操作。


IMG_20191026_183723


USB赤外線レシーバーをOTGケーブルでラズパイに接続する。

moode に Lirc をインストールする。
moode 6はカーネルが 4.19 なので,Lirc のソースにパッチを当ててビルドしないと正常に動作しない。 
kernel 4.19以降を搭載したRaspbian Stretch/Busterでlircを利用する 
moode 7はパッチ当て不要

/etc/lirc 下のコンフィグファイルを書き換える。
./lircd_options.conf(driver=asusdh  device=/dev/usb/hiddev0)


[lircd]
nodaemon        = False
driver          = asusdh
device          = /dev/usb/hiddev0
:


asusdh.lircd.conf をダウンロードして,./lircd.conf.d にをセットする。


root@moode:/etc/lirc/lircd.conf.d# irdb-get find asus
asus/DigiMatrix.lircd.conf
asus/DigiMatrix.lircd.conf
asus/Digital_Home.lircd.conf
asus/RC1974502_00.lircd.conf
asus/TVBox.lircd.conf
asus/asus.lircd.conf
asus/asusdh.lircd.conf
asus/digimatrix.lircd.conf
asus/digimatrix.lircd.conf
root@moode:/etc/lirc/lircd.conf.d# irdb-get download asus/asusdh.lircd.conf
Downloaded https://sourceforge.net/p/lirc-remotes/code/ci/master/tree/remotes/asus/asusdh.lircd.conf as asusdh.lircd.conf
root@moode:/etc/lirc/lircd.conf.d#


このファイルにはリモコンの赤外線コードの情報が書かれている。

lircd と irexec をイネーブルにする。


systemctl enable irexec
systemctl enable lircd


irexec は押されたボタンの信号をリモコンから受信すると指定されたコマンドを実行する。
./irexec.lircrc に各ボタンと指定コマンドを設定する。KEY_POWER は シャットダウン(poweroff)を指定した。
asusdh.lircd.conf(リモコンボタンの情報)を参照しながら irexec.lircrc を作成する。


begin
    prog   = irexec
    button = KEY_POWER
    config = sudo poweroff
end

begin
    prog   = irexec
    button = QUICK_POWER
    config = mpc play
end

begin
    prog   = irexec
    button = NOISE_OFF
    config = mpc stop
end

begin
    prog   = irexec
    button = KEY_KPPLUS
    config = mpc volume +10
end

begin
    prog   = irexec
    button = REV
    config = mpc prev
end

begin
    prog   = irexec
    button = KEY_PLAYPAUSE
     config = mpc toggle
end

begin
    prog   = irexec
    button = KEY_FORWARD
    config = mpc next
end

begin
    prog   = irexec
    button = KEY_KPMINUS
    config = mpc volume -10
end


mpc は mpd(music player daemon)のクライアントコマンドで,mpdにコマンドを送ってすぐに終了する。
接続は以下のとおり。


asusdhリモコン・・・IRレシーバ----(USB)OTG-----(microUSB)ラズパイ Raspberry Pi Zero 


 



nice!(0)  コメント(0) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。