Volumio2 Bluetoothプラグイン

2021年9月18日土曜日

Volumio

t f B! P L

Volumio2の最近のリリース(Volumio 2.907, 2.909)に対応したBluetooth Managerプラグインの導入について整理しました。

最新のVolumio3に対応のBluetooth ManagerプラグインについてはVolumio3 Bluetoothプラグインをご覧ください。(2021/12/08追記)

Volumio2のBluetoothプラグイン

Bluetooth Managerプラグインについて

Volumio2のBluetooth Managerプラグインについては、Volumio公式のプラグインではないのでプラグインのリストから選ぶのではなく別途設定する必要があります。以前のプラグインの場合、VolumioのVERSION 2.799あたりまでは動作していたようですが、その後のバージョンではインストール時にエラーが発生して有効化できない状態となっていたので、2021年9月現在の最新のバージョンでプラグインを機能させる方法について説明します。

なお基本的にはhttps://community.volumio.org/t/bluetooth-speaker-plugin/6726/149に記載した内容のより詳細な手順説明となるので、SSH接続やVolumio2のUI操作に慣れている方で手っ取り早く手順を知りたい方はそちらをご参照ください。


また、今回のBluetooth Managerプラグイン修正の詳細内容については、次のページをご覧ください。

Volumio2 Bluetoothプラグイン修正の詳細

インストール手順

はじめに

まず、Bluetoothプラグインのインストール過程で強引にビルド環境を導入したりする部分があるので、対象となるVolumio2については初期イメージからの導入を強く推奨します。プラグインのインストール過程で既存環境が動作しなくなったとしても当方では環境に応じた対処方法がわかりかねますので、もしどうしてもお手持ちのすでに他のプラグイン等が動作している環境にインストールされたい場合は、現在の環境を別のmicrosdに丸ごと複製しておくなどのバックアップ対策をされてから導入をトライするようにして下さい。

動作を確認済みのVolumio2のバージョンは、VERSION 2.907VERSION 2.909です。(右クリックから名前を付けて保存)

また動作確認済みのハードウェアはRaspberry Pi 3 Model B+ と Raspberry Pi 4 Model Bです。

プラグイン関連ファイルのダウンロード

Bluetoothプラグイン関連ファイルとして以下の3つをダウンロードします。

イメージのmicrosdへの書き込み

Volumio2イメージVERSION 2.907またはVERSION 2.909のvolumio-2.9xx-2021-xx-xx-pi.img.zipのmicrosdへの書き込みにはRaspberry Pi Imagerを用います。CHOOSE OSの部分で一番下のUse Customを選択してVolumio2のimg.zip形式のファイルを指定して対象となるmicrosdカードに書き込めば終了です

Raspberry Pi Imager カスタムイメージの書き込み

SSHの有効化

Volumio2が起動してローカルのhttp://volumioから初期設定(言語設定、WiFi設定等)を一通り終えたら、http://volumio/dev/にアクセスしてSSHを有効化します。

SSH有効化

UIファイル群のアップロードと展開

次にUIファイル群 (www.zip, www3.zip) をVolumio2側にアップロードします。このwww.zip, www3.zipはBluetooth Managerのインストールと動作が可能なようにUIをカスタマイズするためのものです。

まず、Volumio2側にSSH接続するためにローカルのPC側にSSHクライアントが必要となります。Git Bashなどが手っ取り早いと思いますので、SSHが動作するターミナルソフトがPC環境にない場合はインストールします。

ターミナルを起動したらまずscpコマンドでファイルを転送してから、SSH接続でVolumio2にログインします。念のため、volumioユーザの初期パスワードはvolumioです。

$ scp www.zip www3.zip volumio@volumio:~/
The authenticity of host 'volumio (192.168.xx.xx)' can't be established.
ECDSA key fingerprint is SHA256:--------------------------------------------
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'volumio,192.168.xx.xx' (ECDSA) to the list of known hosts.
volumio@volumio's password:
www.zip                                       100% 4606KB   5.6MB/s   00:00
www3.zip                                      100% 7082KB   6.8MB/s   00:01
$ ssh volumio@volumio
volumio@volumio's password:

ここからはSSHでユーザーvolumioとしてログインした後のコマンドとなります。

volumio@volumio:~$ cd /volumio/http
volumio@volumio:~$ mv www www_bak
volumio@volumio:~$ mv www3 www3_bak
volumio@volumio:~$ mkdir www && cd www
volumio@volumio:~$ miniunzip ~/www.zip
volumio@volumio:~$ cd ..
volumio@volumio:~$ mkdir www3 && cd www3
volumio@volumio:~$ miniunzip ~/www3.zip

UIの変更

Volumio2の初期状態ではVolumio3 UIと呼ばれるContemporaryタイプのWeb UIがデフォルトになっていますが、Bluetooth ManagerプラグインをインストールするためにはClassicタイプのUIに一旦戻す必要があります。

設定→外観→一番下のUser Interface Layout Designから"Classic"を選択して保存します。

UIのClassicへの変更 (変更前)

すると以下のようにUIタイプが変更されます。

UIのClassicへの変更 (変更後)

プラグインのインストール

次に、右上の歯車マークをクリック→プラグイン をクリックすると「プラグインのアップロード」タブがあるはずなので、ここに最初にダウンロードしておいたbluetooth_controller.zipをドラッグ&ドロップするとインストールが始まります。

「プラグインのアップロード」タブ
プラグインインストール開始直後

インストールの進行は開始直後に70%になって以降しばらくそのままの状態となりますが、インストール終了まで時間がかかるので待ちます。おおよそRaspberry Pi 3 Model B+ で10分以内 Raspberry Pi 4 Model B で7分以内でインストールが終了すると以下の画面になります。

インストール終了状態

ここでEnable Pluginボタンを2回押します。すると手前のインストール画面が消えて、「インストール済みのプラグイン」タブに切り替わって Bluetooth Managerプラグインがインストールされたことが確認できます。ただし、ここではまだプラグインの状態は「非アクティブ」になっています。

Bluetooth Managerインストール直後の状態 (非アクティブ)

ここで一旦Volumio2をリブートします。UIメニューのシャットダウンが機能しないので、SSHからリブートコマンドを打ち込むのが良いですが、電源の入れなおしでも構いません。

volumio@volumio:~$ sudo reboot

プラグインの正常起動確認

これ以降はVolumio2のUIをお好みに応じてContemporaryタイプに戻してから行っても構いません。ここでは便宜上、画面の例はClassicタイプのままで進めます。

http://volumioにアクセスして、右上の歯車→プラグインをクリックすると今度は「インストール済みのプラグイン」タブ上にBluetooth Managerプラグインがアクティブ状態で表示されるはずです。

Bluetooth Manager アクティブ を確認

Bluetoothレシーバへの出力設定

次にBluetoothレシーバへの出力を有効化するために、一つおまじないをする必要があります。右上の歯車→プレイバックオプション→オーディオ出力→出力デバイスの選択肢から何か一つ選択して保存をクリックします。HDMI OutでもHeadphonesでもその他のUSB DACを接続している場合はそれでも構わないので選んで保存します。この操作を行うことでMPDテンプレートに記述されたBluetoothレシーバへの出力設定が/etc/mpd.confにコピーされ、Bluetoothレシーバへの出力が有効化されます。

このおまじないはBluetooth Managerプラグインをインストールした後、最初の1回のみ必要でそれ以降は行う必要ありません。

出力デバイス設定(何でもよい)→ 保存

Bluetoothデバイスの選択

あともう少しです。まず接続したいBluetoothレシーバをペアリングモードにして立ち上げておいてください。

その状態で右上の歯車→プラグイン→インストール済みのプラグイン→Bluetooth Manager→Settingsをクリックしてください。Bluetooth Devices以下のリストに接続したいデバイス名が表示されたら右横のConnectをクリックします。

Bluetoothデバイスの表示

Connectをクリックした後、下のRefreshボタンを何度か押しているうちに、接続したいデバイス右横のConnect表示がDisconnect表示に変化したら接続成功です。

接続成功した状態

なお当方が試した限りでは、通常PCやスマホでは問題なく使用できるのに、このプラグインのデバイスのリストにどうやっても表示されないBluetoothレシーバデバイスがあります。また上記の画面でも確認できるようにTxPower is nil等の不要な表示がされたりします。これはBluetooth接続に使用しているbluetoothctlコマンドの返答がそのようになっているためで、Bluetooth Managerプラグイン自体の問題ではないので、どうしても表示されない、接続できない場合は諦めて別のデバイスを試してください。

音だし確認

ここまで出来たらあとは通常通りオーディオトラックを再生するだけでBluetoothレシーバデバイスからオーディオ出力されるはすです。なお、Bluetoothレシーバの音量はVolumio2のボリュームとは連動しないので、Bluetoothレシーバ側でボリューム調整をします。


Bluetooth Managerプラグインのインストール手順の説明はここまでです。


引き続き今回のBluetooth Managerプラグイン修正の詳細内容については知りたい方は次のページをご覧ください。

Volumio2 Bluetoothプラグイン修正の詳細


またSpotifyプラグイン使用時にBluetoothから出力させるための設定については以下のページをご覧ください。

Volumio2 Bluetoothプラグイン Spotify編

自己紹介

自分の写真
電子工作&プログラミング、オーディオ・音楽

注目の投稿

Raspberry Pi Pico Wで電波時計を合わせる (JJY標準電波エミュレータ)

Raspberry Pi Pico Wのアプリケーションとして 最少の周辺部品で電波時計むけJJYエミュレータ(時刻合わせ用)を製作しました。 ※2023年6月6日: ソースコード修正の内容を反映させました。 時刻合わせ風景 概要 電波時計は電波が届くところで使...

QooQ