Raspberry Pi 3とポタアンでNASの音楽を再生するネットワークオーディオプレーヤーを作った(DLNA編)
夏休みがNAS休みに。
前回、NAS上の音源を再生する環境をRaspberry Pi 3で構築したのですが
我が家はUPSを設置しておらず、NASを常時起動する運用ではブレーカーが飛んだ時にデータが飛んでしまうかもしれないので基本的には使う時だけ起動するという運用スタイルとなっている。そのため、
NASを起動し忘れて再生できないあるある。
ということで、NASなしでも動作する環境を考えました。
構成
Raspberry Pi 3 | ネットワーク上の音源ファイルを再生する |
Anker PowerCore 20100 | Raspberry Pi 3に電源供給する |
DENON DA-10 | USB-DAC兼ポタアンとして音声出力する |
Smartphone | Raspberry Pi 3を操作する。音源ファイルをネットワーク上に公開する |
QNAP | 音源ファイルをネットワーク上に公開する |
Ponkotsu | 音楽を楽しむ |
図中の「DMS」やら「DMR」やら「DMC」とはなんぞ?というヒトは以下参照。
ようは
NASやスマホ上にある音源ファイルをDLNA経由でRaspberry Pi 3上で再生する環境を作りましょう
というのが今回のテーマ。だったら
スマホにポタアンつけて聴けばいいじゃない
とかそういうツッコミは無しで。
前回までに構築したRaspberry Pi 3をベースに作業スタート。
Raspberry Pi 3をDMR化する
以下を導入すれば完了。
An UPnP Audio Media Renderer based on MPD
upmpdcli is an UPnP Media Renderer front-end to MPD, the Music Player Daemon. It supports both pure UPnP and the OpenHome ohMedia services.
https://www.lesbonscomptes.com/upmpdcli/upmpdcli.html
一言で言えばDLNAで使われているUPnPを解釈してMPDを操作するMPDクライアントである。
インストール
公式外のリポジトリでパッケージが提供されている。
$ sudo vi /etc/apt/sources.list.d/upmpdcli.list
「upmpdcli.list」というファイルを新規作成。
- upmpdcli.list
deb http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ unstable main deb-src http://www.lesbonscomptes.com/upmpdcli/downloads/debian/ unstable main
これだけだと「apt-get update」で署名関連のエラーがでてインストールできないのでそれを解決する。
$ gpg --export '32D9C2A835ED066C' | sudo apt-key add - $ gpg --export '7808CE96D38B9201' | sudo apt-key add -
以下のようなワーニングがでる。
gpg: WARNING: nothing exported gpg: no valid OpenPGP data found.
鍵をインストールする。
$ gpg --recv-key '4C6E 80B6 374D CD5F 53AB 706A 32D9 C2A8 35ED 066C' $ gpg --recv-key 'F8E3 3472 5692 2A8A E767 605B 7808 CE96 D38B 9201'
こんな感じのメッセージがでる。
gpg: requesting key xxxxxxx from hkp server keys.gnupg.net gpg: /home/pi/.gnupg/trustdb.gpg: trustdb created gpg: key xxxxxxxx: public key "Jean-Francois Dockes <jf@dockes.org>" imported gpg: Total number processed: 1 gpg: imported: 1
先程のコマンドをもう一度実行する。
$ gpg --export '32D9C2A835ED066C' | sudo apt-key add - $ gpg --export '7808CE96D38B9201' | sudo apt-key add -
成功すると以下の出力となる。
OK
後は普通にインストールするだけ。
$ sudo apt-get update $ sudo apt-get install upmpdcli
インストール完了で自動起動設定となる。
$ /etc/init.d/upmpdcli status ● upmpdcli.service - LSB: UPnP Renderer front-end to MPD Loaded: loaded (/etc/init.d/upmpdcli) Active: active (running) since Fri 2016-08-19 12:52:04 UTC; 32s ago CGroup: /system.slice/upmpdcli.service └─4780 /usr/bin/upmpdcli -D -c /etc/upmpdcli.conf
MPDのポート番号がデフォルトでセキュリティとか変更してなければインストールしたままの設定で問題ないはず。
再生確認
upmpdcli自体はDMRなのでDMCから操作する。また、スマホ内の音源ファイルをDLNA経由で公開するにはDMSの機能も必要となる。ということでDLNAのDMSとDMCの機能をもつアプリを導入する必要がある。
DMRの設定
画面左上「三」のタップ。
「RENDERER(レンダラー)」はデフォルトで自分(Local Renderer)になっているのでタップ。
選択可能なレンダラーがリスト表示されるので「UpMpd」を選択*1。
以下の設定になっていることを確認。
RENDERER | UpMpd(Raspberry Pi 3) |
LIBRARY | Local Media Server(スマホ) |
アプリがDMCとなるので、この状態でライブラリから曲を選択して再生すると
Raspberry Pi 3に接続されたDA-10から音が出力される。
ふう。完成だ。
NASが「DMS」として機能するのであれば、LIBRARYの選択候補にNASも表示されるのでLIBRARYにNASを選択しても問題はない。
なお「upmpdcli」はUPnPを解釈するだけであってDLNA認証を受けている訳ではない。そのため、DLNA認証機器との相互接続性が保証されているわけではないので注意してほしい。
*1:upmpdcliの設定ファイルで名称を変更している場合はその名称を選択