Raspbian Stretch Lite に PeteManchester の MediaPlayer をインストールして OpenHome のレンダラーを作る

"Raspberry Pi 3 B(Stretch Lite) に "MPD" と "Media Player" をインストールして、OpenHome のレンダラーを作ってみました。

機器の構成は、
----
Raspberry Pi 3 MODEL B
PLANEX GW-USNANO2A(WiFi 子機)
HiFiBerry DAC(互換品)
となっています。
----

内蔵 WiFI が購入一週間でダメになったので、"PLANEX GW-USNANO2A" を使います。
実験なので、音声はとりあえず本体のイヤホンジャックから出れば良しということで。
----

Raspbian Stretch Lite をダウンロード。

Win32 Disk Imager 等を使って、ダウンロードしたイメージを microSD カードに焼く。

Raspbian Stretch では、SSH が OFFになっているので、"ssh" というファイをエディターで作成して MicroSD のルートディレクトリに書き込む。"ssh" は空のファイルで OK。

SSH でログイン
$ ssh pi@raspberrypi.local
password: raspberry

root ファイルシステムを拡張
$ sudo raspi-config
Advanced Options -----> Expand Filesystem
Would you like to reboot now?  ------> <Yes>

SSH でログイン

パッケージをアップデート
$ sudo apt-get update
$ sudo apt-get upgrade

リブート
$ sudo reboot

SSH でログイン

Java がインストールされているか確認
$ java -version

インストールされていません。

インストール可能な Java を調べる
$ apt-cache search oracle jdk
oracle-java7-jdk - Java? Platform, Standard Edition 7 Development Kit
oracle-java8-jdk - Java? Platform, Standard Edition 8 Development Kit

Java8 をインストール
$ sudo apt-get install oracle-java8-jdk

MPD をインストール
$ sudo apt-get install mpd

Mediaplayer をインストール
"PeteManchester" から "Media Player" をダウンロード。
$ wget https://github.com/PeteManchester/MediaPlayer/releases/download/v20180320/mediaplayer.zip
$ unzip  mediaplayer.zip
$ cd /home/pi/mediaplayer
----

MediaPlayer の起動
$ sudo chmod +x run.sh
$ sudo /home/pi/mediaplayer/run.sh

↑Media Player が起動すると、コンソールが反応しなったので " Ctrl+C" 停止させました。もっとスマートな方法があるのかな?(^^;)
----
自動起動の設定
$ cd scripts
$ sudo install -m 755 -T mediaplayer.init /etc/init.d/mediaplayer
$ sudo install -m 755 -T mediaplayer.sh /usr/local/bin/mediaplayer
$ sudo insserv mediaplayer
sudo: insserv: command not found  ← エラーメッセージが(^^;)

"insserv" がインストールされていないようです(^^;)
$ sudo apt-get install insserv
$ sudo insserv mediaplayer

今度は無事インストールできたようです(^^)
.....
☆MediaPlayer のコントロールは以下のコマンドで。
sudo service mediaplayer status/start/stop/restart
----

再起動
$ sudo reboot

SSH でログイン

WiFi の設定
"Stretch" では "/etc/network/interfaces" を使わないのが正しい設定方法と書かれているサイトがあるのですが、使わないとうまく設定できなかったので、"Jessie" と同じ方法で設定しました。
----

WiFi 子機のパワーマネージメントを OFF にする
 "PLANEX GW-USNANO2A" の WiFi 接続を安定させるため、パワーマネージメント機能を OFF にします。

$ sudo nano /etc/modprobe.d/8192cu.conf
options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1
----

リブート
$ sudo reboot

確認
$ sudo ifconfig wlan0
----

不必要な機能停止
こちらのページに記載している方法で、
・内蔵 WiFi の停止
・内蔵 Bluetooth の停止
・HDM への信号出力 OFF ← 多分できていない
などを行いました。

ルート・ファイルシステムのリードオンリー化
こちらのページの手順で、電源の「ブチ切り」をしてもシステムが壊れる可能性を減らすため、「ルート・ファイルシステムのリード・オンリー化」を行いました。

なお、まだ作業が残っているので、以下の方法でルート・ファイルシステムを一度書き込み可能に戻します。

microSD を PC に接続し、エディタで "/boot/cmdline.txt" の先頭にある " boot=overlay" を削除
----


(追記)
Hifiberry DAC の互換品を持っている友達用に設定を調べてみました。

"/boot/config.txt" を修正。

$ sudo nano /boot/config.txt
dtparam=audio=on            ←存在するなら削除
dtoverlay=hifiberry-dac  ←末尾に追加


"ALSA" の設定(オプション)
以下の行を末尾に追加。

$ sudo nano /etc/asound.conf
pcm.!default  {
 type hw card 0
}
ctl.!default {
 type hw card 0
}

$ sudo reboot
----

<参考>

HiFiBerry DAB の設定
HiFiBerry (Configuring Linux 4.X Or Higher)

"insserv" コマンドについて
ゆとりIT:Debianでinsservを使って起動時に実行されるスクリプトを登録する







このブログの人気の投稿

電力会社と音質

メディアサーバーの Plex, Emby, Jellyfin を試す

日本のオーディオメーカー一覧

増え続ける iTunes のコンピレーションを減らす(Windows)

Topping A90 をポチってしまった