なお、Raspberry Piの設定はさまざまなサイトやブログで紹介されているので端折ります。
ちなみにRaspberry PiはTypeBで、OSはNOOBSからRaspbianをインストールしています。
今回構築したシステムの構成図はこんな感じです。
ポイント
・Windows用のNAS I-O DATA NAS HDL-A2.0/EをMP3ファイル置き場とする
・有線ルータにELECOMのホテル用無線LANルータ WRH-300BKを繋げて一部無線LAN可
・AndroidからRaspberry PiにアクセスしてMPDを操作
・Raspberry Piからの出力はONKYO USBデジタルワイヤレスシステム UWL-1(S)を使い、そこからアンプ&スピーカーに接続
■構築手順
①MPDのインストールと設定
1.インストール
sudo apt-get install mpd mpc |
2.MPDの起動
sudo service mpd start |
3.設定ファイルの編集
sudo vi /etc/mpd.conf auto_update "yes" # プレイリストの自動更新(#を外す) mixer_type "software" # クライアントからの音量調整機能(#を外す) |
※MPD起動時に下記のようなエラーが出た場合は、
[....] Starting Music Player Daemon: mpdlisten: bind to '[::1]:6600' failed: Failed to create socket: Address family not supported by protocol (continuing anyway, because binding to '12 |
bind_to_addressの行をコメントアウトすれば解決します。
sudo vi /etc/mpd.conf #bind_to_address "localhost" # コメントアウト |
4.MPD再起動
sudo /etc/init.d/mpd restart |
②NASのマウント
今回はNFSに対応していないWindows用のNASにMP3ファイルを置きます。
なので、CIFSでマウントします。
1.cifs-utilsのインストール
sudo apt-get install cifs-utils |
2.マウント用ディレクトリ作成
sudo mkdir /mnt/mp3 sudo chmod 777 /mnt/mp3 |
3.自動マウント設定
NASのIPが192.168.0.3で、contentsディレクトリに共有設定をしてます。
id ⇒uidとgidを確認(今回は共に"1000") sudo vi /etc/fstab # 最後の行に以下を追記(1行で) //192.168.0.3/contents /mnt/mp3 cifs username=****,password=****,iocharset=utf8,rw,uid=1000,gid=1000,defaults 0 0 |
再起動
sudo reboot |
マウントされているか確認
df Filesystem 1K-blocks Used Available Use% Mounted on //192.168.0.3/contents 1949058076 188937176 1760120900 10% /mnt/mp3 |
実際にディレクトリに移動してファイルがあるか確認
今回はNASの/contents/MUSICに音楽ファイルがあります。
cd /mnt/mp3 ls -l drwxrwxrwx 552 pi pi 0 Mar 16 23:34 MUSIC |
4.mpdのmusic_directoryにシンボリックリンクを作成
mpdが音楽ファイルを読み込むディレクトリはデフォルトで"/var/lib/mpd/music"です。
/etc/mpd.confで変更可能ですが、今回は変更せずNASをマウントしたディレクトリにシンボリックリンクを貼ります。
cd /var/lib/mpd/music sudo ln -s /mnt/mp3/music/ |
※パーミッションエラーが起こったらchmod 755しましょう。
③出力の設定
今回はUSBデジタルワイヤレスシステムを使っているので、出力をUSBデバイスに設定します。
1.出力設定の確認
cat /proc/asound/cards 0 [ALSA ]: BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA bcm2835 ALSA 1 [Set ]: USB-Audio - C-Media USB Headphone Set C-Media USB Headphone Set at usb-bcm2708_usb-1.3.1, full speed |
2.出力設定の変更
sudo vi /etc/modprobe.d/alsa-base.conf options snd-usb-audio index=-2 ↓ options snd-usb-audio index=0 # 0に変更 |
再起動
sudo reboot |
順番が入れ替わっていることを確認
cat /proc/asound/cards 0 [Set ]: USB-Audio - C-Media USB Headphone Set C-Media USB Headphone Set at usb-bcm2708_usb-1.3.1, full speed 1 [ALSA ]: BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA bcm2835 ALSA |
では音が出るか確認しましょう。
3.音量設定
alsamixerコマンドで音量設定
※CardがUSBデバイスになっているか確認
4.再生
まずmpc ls [マウント先ディレクトリ] で音楽ファイルが表示されることを確認
もし表示されなかったらmpc updateを実行
mpc ls MUSIC |
次にプレイリストに追加
mpc ls MUSIC | mpc add |
プレイリストを確認
mpc playlist |
再生
mpc play |
先頭の曲が再生されます
※この時 /var/log/syslog を tail -f で監視してください。
再生中に大量のログが出ていたら、以下の対応をして再起動します。
sudo vi /etc/modprobe.d/alsa-base.conf options snd-usb-audio nrpacks=1 # 追記 |
これでサーバ側の設定は終わりです。
④Androidから制御
今回はMPDroidという無料アプリを使いました。
また、前提としてAndroidはRaspberry Piと同じLAN内に接続してください。
1.接続設定
インストール後起動すると、Settings画面になります。
Connection settings ⇒ Default connection settings ⇒ Host でRaspberry PiのIPを指定します。
2.操作
これでもう操作できるはずです。
以上です。
☆実際使い始めた感想☆
家のどこにいても操作できるので便利です。
音質も悪くないですし、音飛びも滅多にしません。
ただしスマホが手元にない時は、わざわざ取りに行くか、
いちいちPCからSSHで接続して操作しなければいけないので、
ちょろっと操作したいときは若干面倒です。
というわけで、次は物理スイッチを接続して、
スイッチからも操作できるようにしようと思います。
今回の構築で参考にした本、サイト、ブログ
Raspberry Piで遊ぼう! 改訂第2版
Raspberry PiをMPD(Music Player Daemon)サーバにする
Music Player Daemon (MPD) を使ってみる
Raspberry Pi で格安ミュージックサーバを作る~その2~
0 件のコメント:
コメントを投稿