悩み
手持ちの楽曲ファイルたちはサブスクでの配信がないもの多くて、
基本的にスマホのローカルに楽曲データを放り込んでるんだけど、
容量の問題で手持ちの楽曲ファイルを全部は入れられない。
目的
家の中でならどこにいても
手持ちの楽曲ファイルをスマホで再生できるようにしたい
構想
本体の構成
メインはraspberry pi zero 2(以下ラズパイ)で
楽曲ファイルはmicroSDと外付けHDDに保存しておく
使用方法の想定
スマホからSMBでラズパイ内のファイルを再生する
ファイルの追加はPCから
待機電力がもったいないから使いたいときだけラズパイをONにする
買ったもの
raspberry pi zero 2 wh:4300円

microSD:6600円

秋葉原のボロい電気屋で買ったけど
amazonのほうが1000円くらい安いじゃねえかよ・・・
【 サンディスク 正規品 】 SanDisk microSD カード 512GB UHS-I U1 Class10 – Amazon
作る
ブート用microSDを作成
単体で記事にしましたのでこちらを読んでみてください
ラズパイ起動
使いたいときだけ電源をONにしたいから
USBのオンオフを切り替えられるスイッチを噛ませる

HDMIとキーボードを繋いで、電源ケーブルも接続

なんか色々出てきた

ログイン完了

セットアップする
sshを有効化(PCから遠隔操作できるようにする)
sudo systemctl enable ssh
sudo systemctl start ssh

これでラズパイ本体には電源さえ繋いでおけばOKな状態になった
PCから接続する
PowerShellを管理者として実行

ssh ユーザー名@ホスト名.local
ユーザー名:Raspberry Pi Imagerで設定したユーザー名
ホスト名:Raspberry Pi Imagerで設定したホスト名
なんか訊かれたからyesって答えたらいけた

hostname -I
でIPを確認したら同じだったから多分OK
これで画面直撮りしなくて済む
色々アップデートしとく
sudo apt update

sudo apt upgrade -y

外付けHDDを繋ぐ設定をする
デバイス確認
lsblk -f
マウントポイントを作成
sudo mkdir /mnt/media
ファイルシステムに応じてマウント
(今回はexFATのHDDを繋ぐ想定)
sudo apt install exfat-fuse exfatprogs -y
sudo mount -t exfat /dev/sda1 /mnt/media
自動マウントの設定を編集
sudo nano /etc/fstab
fstabを編集する画面に遷移
末尾に以下の内容を追記
/dev/sda1 /mnt/media exfat defaults,iocharset=utf8,uid=1000,gid=1000 0 0

ctrl + O → Enterで上書き保存して
ctrl + X でこの画面を終了
microSDにもmediaフォルダを作っておく
せっかくめっちゃデカい容量のmicroSDを買ったから
こっちにも楽曲ファイルとかを置いて共有するためのフォルダを作っておく
mkdir /home/ユーザー名/media
chmod 777 /home/ユーザー名/media
/home/ユーザー名 の権限も付与しておかないとアクセスできないから
↓これも必要
chmod 755 /home/ユーザー名
Sambaの設定をする(ムズい)
Sambaをインストール
sudo apt install samba samba-common-bin -y
共有フォルダの設定を編集
sudo nano /etc/samba/smb.conf
で編集画面を開く
ここからめっちゃムズいよ
[global]ブロックの一番最後に以下の記述を追記
dos charset = CP932
unix charset = UTF-8
display charset = UTF-8
一応コメントもつけた
#These are necessary to display Japanese characters.

その下の[homes]は全部コメントアウト
「#」が頭に2個ある行が自分でコメントアウトした行

最末尾に以下の記述を追記
[microsd]
path = /home/ユーザー名/media
browseable = yes
writable = yes
create mask = 0777
directory mask = 0777
public = yes
[hdd]
comment = External Media Drive
path = /mnt/media
browseable = yes
writeable = yes
create mask = 0777
directory mask = 0777
public = yes
ここの[microsd]とか[hdd]がPC,スマホからアクセスするときのパスになるから
好きな文字列でOK

ctrl + O → Enterで上書き保存して
ctrl + X でこの画面を終了
Sambaを再起動
sudo systemctl restart smbd
動作確認
PCからアクセス
エクスプローラのアドレスバーに以下のパスを入力してアクセス
\\ホスト名.local\microsd
\\ホスト名.local\hdd
ユーザー名とパスワードを入力

アクセスできた。

日本語が含まれててもバッチリ表示できてる。
スマホからアクセス
同じような手順で接続して確認した。
正常に表示されてるし、ストリーミングもスムーズで問題ナシだった。


これでいつでも聞きたい曲を聴けるよ~~~
所要時間と費用
データのコピーには丸一日かかったけど
ラズパイのセットアップ自体は3時間くらいでできたよ
ラズパイが4300円、microSDが6600円で
あとは持ってた部品を使ったから費用は11,000円くらい
(正直もっと安く済むと思ってた)
おわりに
スマホで使うアプリは
「ファイルマネージャー+」か「Samba Player」がいい感じだったよ
アフィリエイトリンク
raspberry pi zero 2 w
俺はなぜかヘッダピンがついてるwhを買ったけど、
こっちのほうが600円くらい安いしこっちでよかった・・・

Raspberry Pi Zero 2 W 日本技適取得済商品 ラズベリーパイゼロW2
microSD

外付けHDD
ラズパイからの給電だと外付けHDDは動かせないから
コンセントでも給電できるタイプがオススメ


