2016年11月13日日曜日

RaspiをJPLAYのNASにする

NAS : RaspberyPi 2B(上のケース)とUSB-HDD(下の黒い箱) 

これまでNASを使ってこなかった。それは、PC内臓HDDの方が直結で音質の劣化が少ないと思ったからだ。

しかし、JPLAYデュアルで、ホームネットワークとJPLAYネットワークを分離することで、劇的に音質が向上することがわかった。

ネットワークを別にすることが高音質の重要な要素だったのだ。

そこで、今回、楽曲も内臓HDDから外部のNASへ移行してみることにした。

NASを購入しようかと思ったが結構高価だ。

そもそもNASはLinuxにHDDが付いたPCであり、中古のPCにHDDを付ければ簡単に構築できるはずだ。

そこで、最近出番がなくなり寂しい思いをしていた(であろう)RasperryPiをNASに仕立てることにした。

幸いに、MnimServerのHPにRaspberryPi用のMnimServerがあり、メディアサーバーにも簡単にできそうだ。

HDDは、手元にあった玄人志向のHDDケース(USB2.0)にWDの3TBHDDを搭載したUSB-HDDを使う。


1.USB-HDDをフォーマットする

LINUXでHDDを使う場合、Windows標準フォーマットであるNTFSが使えない。

そこで、LINUXの大容量HDD用フォーマットである ext4 でフォーマットしようかと考えたが、ネットにWindowsで認識されない場合もあるとか書いてある。

結局、WindowsでもLinuxでも使える  exFAT フォーマットを使うことにした。これだとMacでも読める。

USB-HDDをUSBでWindowsPCに繋ぎ、「ディスクの管理」でフォーマットする。

フォーマットが終わったら、フォルダー「MUSIC」を作成し、この中に楽曲をコピーしておく。

2.MicroSDカードをフォーマットする

4GBのMicroSDカードを用意し、SDFormatterでフォーマットする。

再利用の場合で元の容量と合ってない場合は、オプション設定で、論理サイズ調整をONにしてフォーマットすると元の適正なサイズに戻る。




3.RaspberryPiにOSをインストール

コマンドラインで作業および動作させるので、RASPBIAN JESSEIE LITE を使う。(最新は(2018-03-13-raspbian-stretch-lite)。
ディスクトップを使いたい場合は、RASPBIAN JESSEIEをダウンロードする。

RaspberryPiのHPからダウンロードし解凍したら、イメージをDDWin(管理者)でMicroSDカードに書き込む。




3.SDカードから起動しIPアドレスを確認する

RaspberryPiに、LANケーブル、SDカードを挿入し、HDMIでディスプレイに接続し、電源を接続してRASPBIAN JESSEIEを起動する。

LOGIN  : Pi
PASSWORD : Raspberry
を入力し、コマンド、プロンプトが出たら、

$ ifconfig

でルーター(DHCPサーバー)から割り振られた eth0 のIPアドレスを控えておく。


4.SSHでログインし設定をする

Windowsで作業をする方が断然楽なので、RaspberryPiをディスプレイから外し、WindowsからSSHで作業を行う。

Puttyに先ほど調べたIPアドレスを入力しアクセスする。




5.USB-HDDをマウントする

RaspberyPiでexFAT が扱えるように以下のファイルをインストールする。

$ sudo apt-get install exfat-fuse exfat-utils

USB-HDDをマウントするためUUIDを調べる。

$ sudo blkid


/etc/fstabにマウント設定を書き込む

$ sudo vi /etc/fstab


 UUID="AA41-69F2"        /mnt/hdd/usbhdd    exfat-fuse    async,auto,dev,exec,gid=65534,rw,uid=65534,umask=007    0       0

再起動。
$ sudo reboot

再起動後、マウントできているか確認。

$ sudo df



6.samba をインストールする

$ sudo apt-get install samba

sambaの設定
$ /etc/samba/smb.conf

[NAS]                                          ・・・共有名
   comment = RaspPiNAS      ・・・コメント
   path= /mnt/hdd/usbhdd/music  ・・・楽曲のフォルダー
   read only = No
   guest ok = Yes
   force user = pi

sambaの起動
$ sudo /etc/init.d/samba restart

これで、WindowsかRaspberryPiのNASにアクセスが可能となるので、Windowsのネットワークドライブの割り当てで「\\raspberrypi\pi」を(Z:)等に割り当てておく。

普段は使わないが、Windowsから楽曲をコピーする際に使用できる。

これで、NASの完成だ!


7.NASのIPアドレスをJPLAYのネットワークに変更する

(追記 H28.11.16)
NASのIPアドレスを変更する前に(インターネットにつながっている環境で)、
「9.JAVAのインストール」を先に実行しておく。

さてNASは完成したが、このNASのIPアドレス192.168.11.10は、ホームネットワークのルーターから割り振られたもので、192.168.11のホームネットワークに属している。

しかし、JPLAYは音質向上の為ホームネットワークから分離させて192.168.2のネットワークを使っている。

JPLAYのNASとして使うためには、NASのIPアドレスをJPLAYのネットワークに変更する必要がある。192.168.2.10を固定的に設定する。

ここで再び、SSHでアクセス

従来、ネットワークの設定は、/etc/network/interfaces であったが、RaspberryPiのJessieでは、/etc/dhcpcd.conf に変更されているので注意が必要だ。(最初これがわからず、何度設定しても変更できなかった。)

/etc/dhcpcd.conf に以下のように書き加える。

$ sudo vi /etc/dhcpcd.conf
interface eth0
static ip_address=192.168.2.10/24
static routers=192.168.0.1
static domain_name_server=192.168.0.1

JPLAYのネットワークはルーターやインターネット等に接続しない閉ざされたネットワークなので、ルーターやドメイン名は変更しない(しなくても問題は起きない)。

これで、JPLAY用のNASが完成した。

次は、このNASをJPLAYのメディアサーバーにする。


8.JAVAのインストール

WindowsのSSHから raspi にログインし、

JAVAをインストールする。
$ sudo apt-get install oracle-java8-jdk


9.Minimserverのダウンロード

Windowsで minimserver HPより以下のファイルをダウンロードする。
http://minimserver.com/downloads/index.html
最新は、
MinimServer-0.8.5-2-linux-armhf.tar.gz

10.MinimServer on the Raspberry Piのインストール

Windowsのエクスプローラーで(Z:)(\\raspinas\pi)を開き、ダウンロードしたMinimserverファイルをコピーしておく。

次に、SSHでアクセスし、上記ファイルを $ /home/pi にコピーする。
sudo cp /mnt/hdd/usbhdd/music/MinimServer-0.8.5-2-linux-armhf.tar.gz /home/pi

インストール
ディレクトリを移り、tarで解凍すると、minimserverディレクトリーが作成される。
$ cd /home/pi
$ sudo tar xf MinimServer-0.8.5-2-linux-armhf.tar.gz


◎SSHを終了し、直接HDMIでRaspberryPiの画面を出す。

minimsserverの起動
$ sudo minimserver/bin/startc

スタートアップに登録され次回OS起動時にmininserverが自動的に起動する。

楽曲のあるディレクトリを聞いてくるので、
/mnt/hdd/usbhdd/music と入力

全楽曲のスキャンが開始される、結構時間がかかる


スキャンが終わると、WindowsのUPNP ControlPonitにMininserverが現れる。

以上、手持ちのHDDとRaspberryPiでJPLAYのNAS兼メディアサーバーを作ることができた。

全て手持ちの機器で作ったので、掛った費用は0円。


12.JPLAYでNAS再生!

JRIVERでRASPINASの楽曲をJPLAYStreamerで再生中。

一聴して断然静かになった。ネットワークを分けた成果があったようだ。