Raspberry pi – bluetoothスピーカーに接続

動作環境
環境 | バージョン |
---|---|
Raspberry Pi | Raspberry Pi 3 Model B Plus Rev 1.3 |
OS | Raspbian GNU/Linux 9.4 (stretch) |
ライブラリのインストール
sudo apt-get install -y pulseaudio pavucontrol pi-bluetooth blueman pulseaudio-module-bluetooth
bluetooth接続
bluetoothctl
コマンドで対話式で接続を行います。
bluetoothctl
# 自身のbluetoothコントローラが表示される
[NEW] Controller NN:NN:NN:NN:NN:NN raspberrypi [default]
# コントローラが表示されない場合はコントローラ起動
[bluetooth] power on
# 接続可能なbluetooth機器を検索
[bluetooth] scan on
# 目的のbluetooth機器が表示されたら、scanを終了する
[bluetooth] scan off
# ペアリングする
# pair {macアドレス}
[bluetooth] pair 00:02:3C:31:39:16
Attempting to pair with 00:02:3C:31:39:16
[CHG] Device 00:02:3C:31:39:16 Connected: yes
[CHG] Device 00:02:3C:31:39:16 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb
[CHG] Device 00:02:3C:31:39:16 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb
[CHG] Device 00:02:3C:31:39:16 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb
[CHG] Device 00:02:3C:31:39:16 ServicesResolved: yes
[CHG] Device 00:02:3C:31:39:16 Paired: yes
Pairing successful
# 接続する
# connect {macアドレス}
[bluetooth] connect 00:02:3C:31:39:16
Attempting to connect to 00:02:3C:31:39:16
[CHG] Device 00:02:3C:31:39:16 Connected: yes
Connection successful
[CHG] Device 00:02:3C:31:39:16 ServicesResolved: yes
トラブルシューティング
bluetoothctlでNo default controller available
使用ユーザをbluetoothグループに追加する。
sudo usermod -a -G bluetooth {user}
再起動する。
sudo reboot
再度、bluetoothctl
を実行してみる。
bluetoothctl
[NEW] Controller B8:27:EB:58:F6:CF raspberrypi [default]
Failed to start discovery: org.bluez.Error.NotReady
power on
でコントローラを起動してやる
bluetoothctl
[NEW] Controller NN:NN:NN:NN:NN:NN raspberrypi [default]
[bluetooth] scan on
Failed to start discovery: org.bluez.Error.NotReady
[bluetooth] power on
Changing power on succeeded
[CHG] Controller NN:NN:NN:NN:NN:NN Powered: yes
[bluetooth] scan on
Discovery started
[CHG] Controller NN:NN:NN:NN:NN:NN Discovering: yes
Failed to connect: org.bluez.Error.Failed
bluetoothctl
でpairingまでできたが、connectで失敗する。
pulseaudioのデーモンを動かす必要がある。
# 一旦デーモンをkillしてみる
pulseaudio -k
# 再度スタート
pulseaudio --start
PulseAudio: Unable to connect: Access denied
aplay
で上記エラーが発生しました。rootをpulse-access
グループに追加していないことが原因でした。
# rootをpulse-accessグループに追加
sudo gpasswd -a root pulse-access
参考サイト
- Sony MESH Hubでミクさんにおかえりを言ってもらった
- Raspberry Pi 3B + BluetoothスピーカでAmazon Alexaを安く構築(1 まずは音を鳴らす)
- Error when trying to connect to bluetooth speaker:
org.bluez.Error.Failed
- RASPBERRY PI 3 MODEL B でECHO DOTをBLUETOOTHスピーカーとして利用する
- RaspberryPi Bluetoothスピーカーで音を出す方法
- 上野家のホームページ – AVS Device SDKを動かしてみる