LoginSignup
16
14

More than 5 years have passed since last update.

Raspberry Pi上のVolumioをBluetoothスピーカーで再生する

Last updated at Posted at 2018-04-28

まえがき

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にダウンロードする。

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ファイルままドラッグ&ドロップする。
image052.jpg

11.プラグインのインストールが実行される。インストール完了まで約5分かかる。
image054.jpg

12.「プラグイン済みのプラグイン」タブに「Bluetooth Manager」が表示される。
image055.jpg

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」で「アクティブ」となっていることを確認する。
image066.jpg

20.「Settings」ボタンをクリックする。

21.「Discoverable」を「On」にした後、「Seve」ボタンをクリックする。
image063.jpg

22.Bluethoothスピーカーをペアリングできる状態にする。

23.「Refresh」ボタンを何度かクリックし、Bluethoothスピーカーを検出する。

24.Bluethoothスピーカーを検出するとスピーカーの名称が表示されるので、「Connect」ボタンをクリックし、接続する。
image064.jpg

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.
16
14
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
14