#まえがき
Volumioと言えば、ラズベリーパイの代表的なデジタルオーディオプレーヤーのディストリビューションであり、多くの人がDACボードを接続し、AVコンポ等で楽しんでいることと思う。
しかし、AVコンポを持っていない私は、何とかBluetoothスピーカーで再生できないかと考えた。
Volumioの設定にひととおり目を通したがBluethoothの設定は無し。
プラグインの一覧にもBluetoothの文字は無し。
ネットで「volumio bluetooth スピーカー」で検索しても有効な情報が見つからない。
日本語サイトではだめそうなので、検索キーワードを「volumio bluetooth plugin」としてみた。
すると、Volumioのフォーラムに「BLUETOOTH SPEAKER PLUGIN」という投稿(トピック)があるのを発見した。
奇特なお方がプラグインを作って下さっていた。
英語による投稿なので、Google Chromeで日本語に翻訳して投稿の内容を読んだ。
BLUETOOTH SPEAKER PLUGIN
https://volumio.org/forum/bluetooth-speaker-plugin-t7432.html
#環境
- 本体:Raspberry Pi 3 model B
- Bluetoothスピーカー:Logicool X300
- Volumio:VERSION: 2.389
#手順
手順をまとめると以下のとおりである。
この手順は「BLUETOOTH SPEAKER PLUGIN」内の以下の投稿を参考にした。
https://volumio.org/forum/bluetooth-speaker-plugin-t7432-70.html#p45596
1.以下のサイトからプラグインとUI(ユーザーインターフェース)を作業用PCにダウンロードする。
-
プラグイン (bluetooth_controller.zip):
https://www.dropbox.com/s/uu8wncyz22vmmw6/bluetooth_controller.zip?dl=0 -
UI (ui.zip):
https://www.dropbox.com/s/gs748pet0351lys/ui.zip?dl=0
2.ui.zipを解凍する。以下のフォルダとファイルが解凍される。
- フォルダ
- app
- fonts
- scripts
- styles
- ファイル
- index.html
3.ターミナルソフトでssh接続し、/volumio/http/www フォルダへ移動する。
$ cd /volumio/http/www
このフォルダ内には以下のフォルダとファイルが存在する。
- フォルダ
- app
- fonts
- scripts
- styles
- ファイル
- index.html
4./volumio/http/www フォルダ内のフォルダとファイルを全て削除する。
$ rm -rf *
5.手順[2.]で解凍したフォルダとファイルをWinSCP等のソフトで、/volumio/http/www フォルダ内にコピーする。
6.Volumioを再起動する。
7.Chrome等のブラウザからVolumioにアクセスする。
8.歯車アイコン(設定の表示)→プラグインを選択し、プラグイン管理画面を表示する。この画面に「プラグインのアップロード」タブがあることを確認する。
もしなければ、ブラウザの再読み込みボタンを押して、「プラグインのアップロード」タブを表示する。
9.「プラグインのアップロード」タブをクリックする。
10.「クリックしてプラグインを選択するか、ここにドロップ」欄に手順[1.]でダウンロードしたbluetooth_controller.zipをzipファイルままドラッグ&ドロップする。
11.プラグインのインストールが実行される。インストール完了まで約5分かかる。
12.「プラグイン済みのプラグイン」タブに「Bluetooth Manager」が表示される。
13.Volumioを再起動する。
14.ターミナルソフトでssh接続し、以下のコマンドを実行し、bluetooth関連のサービス状況を確認する。
$ systemctl | grep blue
結果は以下の様に bluezalsa.service が「loaded failed」となる。
volumio@volumio:~$ systemctl | grep blue
sys-subsystem-bluetooth-devices-hci0.device
loaded active plugged /sys/subsystem/bluetooth/devices/hci0
bluetooth.service
loaded active running Bluetooth service
● bluezalsa.service
loaded failed failed BluezAlsa proxy
bluetooth.target
loaded active active Bluetooth
bluezalsa.service の詳細な状態を確認すると、以下の様に「Active: failed」となる。
$ systemctl status bluezalsa
【実行結果】
volumio@volumio:~$ systemctl status bluezalsa
● bluezalsa.service - BluezAlsa proxy
Loaded: loaded (/lib/systemd/system/bluezalsa.service; enabled)
Active: failed (Result: exit-code) since 土 2018-04-28 00:09:19 JST; 7min ago
Process: 711 ExecStart=/usr/bin/bluealsa --disable-hfp (code=exited, status=1/FAILURE)
Main PID: 711 (code=exited, status=1/FAILURE)
4月 28 00:09:19 volumio systemd[1]: Starting BluezAlsa proxy...
4月 28 00:09:19 volumio systemd[1]: Started BluezAlsa proxy.
4月 28 00:09:19 volumio bluealsa[711]: /usr/bin/bluealsa: unrecognized opt...'
4月 28 00:09:19 volumio bluealsa[711]: Try '/usr/bin/bluealsa --help' for ....
4月 28 00:09:19 volumio systemd[1]: bluezalsa.service: main process exite...RE
4月 28 00:09:19 volumio systemd[1]: Unit bluezalsa.service entered failed...e.
Hint: Some lines were ellipsized, use -l to show in full.
15.bluezalsa.serviceを修正する。
★ここがポイント★
$ sudo vim /lib/systemd/system/bluezalsa.service
修正前:
ExecStart=/usr/bin/bluealsa --disable-hfp
修正後:
ExecStart=/usr/bin/bluealsa --a2dp-force-audio-cd
16.Volumioを再起動する。
17.ターミナルソフトでssh接続し、以下のコマンドを実行し、bluetooth関連のサービス状況を確認する。
$ systemctl | grep blue
結果は以下の様になっていればOKである。
volumio@volumio:~$ systemctl | grep blue
sys-subsystem-bluetooth-devices-hci0.device
loaded active plugged /sys/subsystem/bluetooth/devices/hci0
bluetooth.service
loaded active running Bluetooth service
bluezalsa.service
loaded active running BluezAlsa proxy
bluetooth.target
loaded active active Bluetooth
念のためbluezalsa.service の詳細な状態を確認する。
$ systemctl status bluezalsa
結果は以下の様に「Active: active (running)」となっていればOKである。
volumio@volumio:~$ systemctl status bluezalsa
● bluezalsa.service - BluezAlsa proxy
Loaded: loaded (/lib/systemd/system/bluezalsa.service; enabled)
Active: active (running) since 土 2018-04-28 00:29:35 JST; 3min 10s ago
Main PID: 717 (bluealsa)
CGroup: /system.slice/bluezalsa.service
mq717 /usr/bin/bluealsa --a2dp-force-audio-cd
4月 28 00:29:35 volumio systemd[1]: Starting BluezAlsa proxy...
4月 28 00:29:35 volumio systemd[1]: Started BluezAlsa proxy.
18.Chrome等のブラウザからVolumioにアクセスする。
19.歯車アイコン(設定の表示)→プラグインを選択し、「Bluetooth Manager」が「On」で「アクティブ」となっていることを確認する。
20.「Settings」ボタンをクリックする。
21.「Discoverable」を「On」にした後、「Seve」ボタンをクリックする。
22.Bluethoothスピーカーをペアリングできる状態にする。
23.「Refresh」ボタンを何度かクリックし、Bluethoothスピーカーを検出する。
24.Bluethoothスピーカーを検出するとスピーカーの名称が表示されるので、「Connect」ボタンをクリックし、接続する。
25.Volumioで音楽を再生し、スピーカーから音が出ればOK。
#参考情報
###bluealsaのヘルプ
bluezalsa.serviceで実行しているbluealsaのヘルプを掲載する。
バージョンは1.2.0である。
このバージョン(?)では --disable-hfp オプションは無いようなので、bluezalsa.serviceの起動は失敗したと考えられる。
volumio@volumio:~$ bluealsa -V
1.2.0
volumio@volumio:~$ bluealsa -h
Usage:
bluealsa [OPTION]...
Options:
-h, --help print this help and exit
-V, --version print version and exit
-S, --syslog send output to syslog
-i, --device=hciX HCI device to use
-p, --profile=NAME enable BT profile
--a2dp-force-mono force monophonic sound
--a2dp-force-audio-cd force 44.1 kHz sampling
--a2dp-volume control volume natively
Available BT profiles:
- a2dp-source Advanced Audio Source
- a2dp-sink Advanced Audio Sink
- hsp-hs Headset
- hsp-ag Headset Audio Gateway
- hfp-hf Hands-Free
- hfp-ag Hands-Free Audio Gateway
By default only output profiles are enabled, which includes A2DP Source and
HSP/HFP Audio Gateways. If one wants to enable other set of profiles, it is
required to explicitly specify all of them using `-p NAME` options.