Headless_RaspberryPiをVolumioをインストールする
2020/12/13
プラグインの説明を追加した。
2020/11/28
volumioのversion-up対応と
トラブルシューティングupdateを
行った。
2020/11/21
volumioのAPIのurlの追加と
トラブルシューティングを追加した。
2020/11/14
PirateAudioのボード使用時の
設定方法とサーバーのディレクトリ構成を追加した。
2020/11/8
初版
Headless RaspberryPi volumio
Headless RaspberryPi volumio
概要
Headless_RaspberryPiを以下のVolumioをインストールする。
これは、headlessの音楽プレーヤーで、webブラウザーで
volumioのhttpサーバーにアクセスすることで操作画面を実現している。
PCが起動していない場合は、スマフォのアプリ「volumio」で、PCのwebブラウザーと同様のことを実現しているので
それを利用するとPC不要でスマフォがリモコンになって家電感覚で使用できる。
また、shairport-syncを内蔵しているのでAirPlay_Receiver(server)として、
iPhoneなどからオーディオデータをWiFi経由で受信してRaspberryPiのオーディオ出力で再生できる。
インストール方法
volumioは、すでに動いているOSに何かをインストールする形ではなく 専用SDを作り、それをRaspberryPiに入れて、起動することで volumioが動く。
以下に専用SDの作成を方法を記述する:
(ホストPCとしてはubuntu20.04を使用している)
# 書き込み用SDをPCにセットする
# 以下の命令で書き込みの/dev/mmcblkXを確認する
lsblk -p
...
...
/dev/mmcblk0 179:0 0 28.9G 1 disk
# ここでは、/dev/mmcblk0 であることが分かる
cd ~/Downloads
wget http://updates.volumio.org/pi/volumio/2.853/volumio-2.853-2020-11-20-pi.img.zip
# 以下で書き込むが、mmcblk0の部分は、自分の環境に合わせること
unzip -p volumio-2.853-2020-11-20-pi.img.zip | sudo dd of=/dev/mmcblk0 bs=4M conv=fsync
# この命令の実行での出力例
0+36405 レコード入力
0+36405 レコード出力
2936012800 bytes (2.9 GB, 2.7 GiB) copied, 215.227 s, 13.6 MB/s
以上で作成したSDをRspberryPiに入れて起動する。
ここでは以下のハード構成で確認した:
device#1:
RaspberryPi 2 Model B
WiFi USB dongle (RaspberryPiで接続の実績があるもの)
USB Audio Adoputor
device#2:
RaspberryPi 4 Model B
PirateAudio(sound board)
初期設定
起動するとAP(アクセスポイント)として「volumio」という名前のSSIDが見えるので そこにWiFi接続する。(Password: volumio2)
接続したら、以下のurlをwebブラウザーでアクセスする。
http://volumio.local
すると、設定画面が表示されるので 以下のリンクの「FIRST CONNECTION TO THE WEB-UI」を参考に設定する。
https://volumio.github.io/docs/User_Manual/Quick_Start_Guide.html
SSH接続:
以下にwebブラウザーでアクセスして
http://volumio.local/dev
SSHの[Enable]をクリックする(無反応だが有効になる)
その状態で以下でSSHでログインする:
ssh volumio@volumio.local
# パスワードは以下になる:
パスワード:volumio
rootのパスワード:volumio
# タイムゾーンをJSTに変更する
sudo dpkg-reconfigure tzdata
# Asia/Tokyoを選択する
# 時刻を確認する
date
# 設定画面でのネットワークの接続が完了していない場合、
# 時刻が狂っているが、この後、ネットワークの接続が
# 完了すると、自動的に時刻が合うので、
# そのままでかまわない。
# kernelのバージョンの確認
uname -a
Linux volumio 4.19.118-v7l+ #1311 SMP Mon Apr 27 14:26:42 BST 2020 armv7l GNU/Linux
logout
# この後、ホストPCの接続しているSSIDをvolumioから通常のものに変更する。
なお、volumio最新版では、RaspberryPiZero,RaspberryPi初代は、使用しているCPUをサポートしていないので 動作しない。
オーディオ出力テスト(ラジオ)
音楽データを用意しなくても、オーディオ出力のテストができるので インターネット・ラジオでオーディオ出力してみる。
操作画面の左側画面のメニューから以下を選択する:
・[ウェブラジオ]/[Volumio Selection]/[SmoothJazz Global Radio]
これでスピーカなどに音楽が出力されればOKである。
(音が出ない場合、その放送局のサービスが停止している可能性があるので、
別の局を選択してみる)
操作画面の音量スライダーで音量調整ができる。
スマフォのvolumioを起動しておくと、スマフォの音量ボリュームで
音量調整ができる。
(PCなどの操作画面の音量スライダーと連動して動く)
なお、音楽ファイルをUSBストレージに入れておき それを接続すると自動的に認識してくれるので [音楽ライブラリ]をクリックすると 接続しているUSBの内容が見えるので、 音楽ファイルを指定できる。
オーディオ出力テスト(AirPlay)
以下を参考にAirPlayで接続する。
(AirPlayデバイス名:volumio)
・Headless_RaspberryPiをAirPlay_Receiverにする
スマフォのvolumioを起動しておくと、スマフォの音量ボリュームで 音量調整ができる。
PirateAudioボードを使用する
以下のボードを使用する際の設定について述べる:
Pirate Audio: Line-out for Raspberry Pi
サーバーにwebでアクセスして以下のように設定する:
設定/プレーバックオプション/
I2S DAC:ON
DAC Model: HifiBerry-DAC
[保存]をクリックして「sudo reboot」する。 再度、クライアントからサーバーにアクセスする。
LineOut版は仕様として音量調整はできない。
音量調節は接続したアンプ(スピーカ)側で音量調整することになる。
Headphone版より(ヘッドフォンアンプがないので)音が良いような気がする。
ボードに付いているLCDは、サポートがないので、なにも表示しない。
なお、自分の環境は、ヒードシンク兼用のアルミケースにいれてあるが ゲタを履かせると、PirateAudioボードが問題なく刺せた。
NASサーバーの接続(マウント)
(1)[設定]の[ネットワークドライブ]を選択して、
スキャンを実行する。
(2)ネットワークにある共有名が現れるので
それを指定してマウントする。
(guestでのアクセス可能に設定してあるNASサーバーであれば
パスワード不要でマウントできる)
サーバーのディレクトリ構成
必要と思われるところを表示させてみる:
$ ls -l /var/lib/mpd/music/
total 0
lrwxrwxrwx 1 root root 13 Sep 25 05:42 INTERNAL -> /mnt/INTERNAL
lrwxrwxrwx 1 root root 8 Sep 25 05:42 NAS -> /mnt/NAS
lrwxrwxrwx 1 root root 8 Sep 25 05:42 USB -> /mnt/USB
# ここにマウント・ポイントのリンクが置かれる
$ ls /data
INTERNAL backgrounds favourites laststates.json playlist queue
albumart configuration flagfiles playerstate plugins
$ ls /data/playlist/
jfolk miyuki radio
# ここに作ったplaylistが置かれる
$ cat /data/playlist/myuki
cat: /data/playlist/myuki: No such file or directory
volumio@vred:/$ cat /data/playlist/miyuki
[{"service":"mpd","uri":"mnt/USB/MUSIC/MUSIC1/iTunes/iTunes Media/Music/中島みゆき/私の声が聞こえますか/12 時代.m4a","title":"時代","artist":"中島みゆき","album":"私の声が聞こえますか","albumart":"/albumart?cacheid=992&web=Miyuki%20Nakajima/%E7%A7%81%E3%81%AE%E5%A3%B0%E3%81%8C%E8%81%9E%E3%81%93%E3%81%88%E3%81%BE%E3%81%99%E3%81%8B/extralarge&path=%2Fmnt%2FUSB%2FMUSIC%2FMUSIC1%2FiTunes%2FiTunes%20Media%2FMusic%2F%E4%B8%AD%E5%B3%B6%E3%81%BF%E3%82%86%E3%81%8D%2F%E7%A7%81%E3%81%AE%E5%A3%B0%E3%81%8C%E8%81%9E%E3%81%93%E3%81%88%E3%81%BE%E3%81%99%E3%81%8B&icon=fa-tags&metadata=false"}]
# ただし、上で表示したようにplain-textではなくjson形式になっている
$ ls /data/favourites/
favourites radio-favourites
従来のplaylistをvolumioのjson形式に変換するツールが以下にある:
https://github.com/suuuehgi/m3u2volumio
m3u2volumio - Translate .m3u files into a Volumio conform playlist. The intervention requires SSH.
まだ、動かしていないが便利そうである。
disk状況(例)
$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mmcblk0p2 2.2G 811M 1.3G 39% /imgpart
/dev/loop0 347M 347M 0 100% /static
overlay 262M 39M 203M 16% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 4.9M 2.0G 1% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs 2.0G 32K 2.0G 1% /tmp
tmpfs 2.0G 0 2.0G 0% /var/spool/cups
tmpfs 20M 972K 20M 5% /var/log
tmpfs 2.0G 0 2.0G 0% /var/spool/cups/tmp
/dev/mmcblk0p1 61M 57M 3.4M 95% /boot
/dev/sda1 115G 42G 74G 37% /media/B08A-B1E7
tmpfs 396M 0 396M 0% /run/user/1000
//RPIZWH1_WIN/MUSICz 29G 13G 16G 45% /mnt/NAS/MUSICz
/dev/sda1 は、マウントしているUSBストレージ、 //RPIZWH!_WIN/MUSICz は、マウントしているNASサーバーになる。
API for volumio
以下に、CLI、RESP_API,websocket_APIのドキュメントのリンクがある:
・Command_Line_Client
・REST_API
・WebSocket_APIs
プラグイン
[設定]から[プラグイン/プラグインの検索]からプラグインがインストールできるが
ここでは[GPIO Buttoms][Backup&Restore Data]を紹介する。
[プラグインの検索]からプラグインをインストールした後
[プラグライン/インストール済みのプラグイン]を選択すると
インストールしたプラグインの設定値を設定できる。
(1)[Backup&Restore Data]
設定画面でバックアップしたい項目をオンにして
[Backup]を押すことにより、volumioの/mnt/INTERNALに
volumio_data.tgzファイルとして保存される。
(プラグインの説明にはNASストレージに保存すると書いてあるが
実際には上のように保存される)
(2)[GPIO Buttons]
PirateAudioのボードを使用している場合
設定画面で以下のように設定する:
Enable Play/Pause: 5
Enable Previos: 6
設定した後、[保存]を押す。
これでボタンAがPlay/Pause、ボタンBがPreviousになる、
なお、PirateAudioのGPIOとして 16,20もあるが、設定しても動作しなかった。 (原因不明)
トラブルシューティング
(0)設定完了後もAPであるvolumioが現れる
WiFi設定しても、電波の状況などで接続が失敗すると
volumioのAPが現れるようなので、その場合は、
再度、volumioに接続してWiFi設定をやり直す。
何度かして接続が成功するとAPのvolumioが現れなくなる。
そうしたら、volumio.localでwebアクセスして
web-UIに入る。
(ホスト名を変更している場合、volumio.localのvolumioを変更しているホスト名にする)
(1)volumioのサーバー(mpd)が起動していない
sshログインできるがvolumioのサーバー(mpd)が起動しておらず
webブラウザーでアクセスできない状況になった。
これを解決するには、sshでログインして以下を実行する:
sudo /etc/init.d/mpd restart
webブラウザーでのユーザーインタフェースなどから
シャットダウンしないと、こうゆう状況が起きるようだ。
(2)playlistの保存が失敗に終わる
(3)NASサーバーのマウントが失敗する
真の原因が不明だがlinuxのdiskスペースが(見かけ上?)逼迫して、ファイル保存や
マウントが失敗するようになる。
→ブートSDを作り直して再起動した。
参考URL
関連アプリ:
・Volumio
有料(240円)のアプリになるがPCのwebブラウザーでやることをAndroidを使ってできる。
また、Androidの音量ボタンでvolumioの音量調整ができ、再生中のタイトルが表示されたりして便利である。
volumio自身がAirPlay対応しているのでAirPlayで接続して音楽再生しているときにもAndroidの音量ボタンでも音量調整ができる。
iPhone版は、以下になる:
・volumio
分かりやすい紹介:
・Raspberry Piをオーディオプレーヤーに!
PirateAudioのButtons関連:
・https://github.com/pimoroni/mopidy-raspberry-gpio
・https://www.raspberrypi.org/documentation/configuration/config-txt/gpio.md
以上
| 固定リンク
「RaspberryPi」カテゴリの記事
- Headless RaspberryPi(64bits)インストール方法(USB/SSD boot)(2021.06.16)
- Arduino-IDEでPicoを動かす(2021.04.01)
- Headless_RaspberryPiでSambaサーバーを動かす(2020.11.23)
- Headless_RaspberryPiでPirateAudioを使用する(2020.11.14)
- Headless_RaspberryPiをVolumioをインストールする(2020.11.08)
「volumio」カテゴリの記事
- Headless_RaspberryPiでOpenMediaVault(NASサーバー)を動かす(2020.12.06)
- Headless_RaspberryPiをVolumioをインストールする(2020.11.08)
この記事へのコメントは終了しました。
コメント