Bluetoothスピーカーとつなぐ
ラズパイマガジン 2017年8月号の「Raspberry Piで楽しむPCオーディオ」を参考にしました。
今回はとくにスマホからの操作をしたいわけではないので、途中の手順は飛ばしてます。
スピーカーは、SonyのSRS-X33を使います。
パッケージとファームウェアの更新
$ sudo apt update $ sudo apt upgrade $ sudo apt install rpi-update $ sudo rpi-update
Bluetoothの設定
音を出すだけなら、PulseAudio関係の設定はいらないですね、きっと。
BlueZとpulseaudio-module-bluetoothをインストール
$ sudo apt install bluez pulseaudio-module-bluetooth
PulseAudioのsystemdサービス化
ラズパイ起動時にPulseAudioが起動するよう、サービス化の設定
$ sudo vi /etc/systemd/system/pulseaudio.service [Unit] Description=Pulse Audio [Services] Type=simple ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm [Install] WantedBy=multi-user.target
PulseAudioサービスのポリシー設定
PulseAudioとBlueZの通信を許可するポリシーを設定
$ sudo vi /etc/dbus-1/system.d/pulseaudio-bluetooth.conf <busconfig> <policy user="pulse"> <allow send_destination="org.bluez"/> </policy> </busconfig>
PulseAudioのモジュール設定
Bluetooth関連のサービスを読み込む設定をファイルの最後に追加
$ sudo vi /etc/pulse/system.pa ... ### Automatically load driver modules for Bluetooth hardware .ifexists module-bluetooth-policy.so load-module module-bluetooth-policy .endif .ifexists module-bluetooth-discover.so load-module module-bluetooth-discover .endif
PulseAudioの起動・有効化
$ sudo systemctl start pulseaudio.service $ sudo systemctl enable pulseaudio.service
piユーザをPulseAudioで音声を出力するためのグループに追加
$ sudo usermod -a -G pulse,pulse-access pi
Bluetoothスピーカーと接続
Bluetoohデバイスとペアリング
$ sudo bluetoothctl [NEW] Controller XX:XX:XX:XX:XX:XX raspberrypi [default] [NEW] Device YY:YY:YY:YY:YY:YY W01_********* [NEW] Device ZZ:ZZ:ZZ:ZZ:ZZ:ZZ SRS-X33 [bluetooth]# agent on #エージェント有効 Agent registered [bluetooth]# default-agent #エージェントリクエスト発行 Default agent request successful [bluetooth]# scan on #デバイス探索開始 Discovery started [CHG] Controller XX:XX:XX:XX:XX:XX Discovering: yes [CHG] Device YY:YY:YY:YY:YY:YY RSSI: -96 [CHG] Device ZZ:ZZ:ZZ:ZZ:ZZ:ZZ RSSI: -38 #デバイス探索で見つかったデバイスとペアリング [bluetooth]# pair ZZ:ZZ:ZZ:ZZ:ZZ:ZZ #発見したデバイスとペアリング Attempting to pair with ZZ:ZZ:ZZ:ZZ:ZZ:ZZ Failed to pair: org.bluez.Error.AlreadyExists [CHG] Device ZZ:ZZ:ZZ:ZZ:ZZ:ZZ Connected: yes [DEL] Device YY:YY:YY:YY:YY:YY W01_************ [NEW] Device YY:YY:YY:YY:YY:YY W01_************ [bluetooth]# trust ZZ:ZZ:ZZ:ZZ:ZZ:ZZ #デバイスをtrustして、次回以降自動接続する Changing ZZ:ZZ:ZZ:ZZ:ZZ:ZZ trust succeeded [bluetooth]# connect ZZ:ZZ:ZZ:ZZ:ZZ:ZZ #ペアリングしたデバイスを接続 Attempting to connect to ZZ:ZZ:ZZ:ZZ:ZZ:ZZ Connection successful #これが出ると、PAIRINGボタンが点滅から点灯に変わる [bluetooth]# exit Agent unregistered [DEL] Controller ZZ:ZZ:ZZ:ZZ:ZZ:ZZ raspberrypi [default]
音声テスト
$ cd /usr/share/sounds/alsa $ ls ront_Center.wav Noise.wav Rear_Right.wav Front_Left.wav Rear_Center.wav Side_Left.wav Front_Right.wav Rear_Left.wav Side_Right.wav $ aplay Noise.wav 再生中 WAVE 'Noise.wav' : Signed 16 bit Little Endian, レート 48000 Hz, モノラル
スピーカーから音が出ました。成功!!