以前の記事で、Raspberry Piのヘッドホンジャックからスピーカーを鳴らしてみました。
今回はBluetoothスピーカーを鳴らしてみましょう🎶
ペアリングが必要なので、若干手順が複雑です。 実は私はLinuxオーディオには詳しくないので、こちらの記事を参考にさせていただきました。
この記事の通りにすれば、ちゃんと鳴りました! 単なるやってみた記事で恐縮ですが、早速紹介していきます。
使用するスピーカー
Amazon.co.jpで買ったEWA A106というスピーカーを使ってみました。
2,000円くらいで買える、バッテリー内蔵の超小型スピーカーです☺️ 小さいのでRaspberry Piにピッタリですね。
事前準備
必要なパッケージのインストール
Bluetoothスピーカーを使うには、PulseAudioとPulseAudioのBluetoothスピーカーのモジュールを使うのが手っ取り早いみたいです。 早速インストールしましょう。
$ sudo apt-get install pulseaudio pulseaudio-module-bluetooth
これらをインストールしないと、Bluetoothスピーカーにペアリングもできませんでした🙅♀️
PulseAudioの設定
続いて、PulseAudioの設定をしておきましょう。/etc/pulse/default.pa
を編集します。
$ sudo vim /etc/pulse/default.pa
ファイルの最後にでも、次の行を追加してください。
# automatically switch to newly-connected devices load-module module-switch-on-connect
権限の追加
sudoなしでBluetoothが制御できるようにするために、pi
ユーザーをbluetooth
グループに入れます。
bleutooth
グループにはBluetoothデバイス操作の許可が与えられています。
$ sudo usermod -G bluetooth -a pi $ sudo reboot
反映には再起動が必要なので、ここで再起動します。
ペアリング
再起動したら、いよいよペアリングします。
PulseAudioの起動
Bluetoothスピーカーをペアリングするには、pulseaudioが起動していなければなりません。 次のコマンドで起動できます。
$ pulseaudio --start
スキャン
ここから先は、bluetoothctl
コマンドを起動して操作します。
$ bluetoothctl
起動すると、[blueooth] #
というプロンプトが出てきて、コマンドを受け付けます。
次のコマンドで、スキャンができます。(Bluetoothスピーカーの場合は大抵agent onは不要かも)
[bluetooth]# power on [bluetooth]# agent on [bluetooth]# scan on (略) [NEW] Device 30:21:B0:70:83:33 EWA Audio A106
大量のデバイスが見つかりましたが、目的のスピーカーを見つけられました。
30:21:B0:70:83:33
がMACアドレスのようです。
ペアリング
引き続きbluetoothctlコマンドの中で操作します。
先ほど見つかったスピーカーのMACアドレスにpair
コマンドでペアリングします。
[bluetooth]# pair 30:21:B0:70:83:33 Attempting to pair with 30:21:B0:70:83:33 [CHG] Device 30:21:B0:70:83:33 Connected: yes [CHG] Device 30:21:B0:70:83:33 UUIDs: 00001108-0000-1000-8000-00805f9b34fb [CHG] Device 30:21:B0:70:83:33 UUIDs: 0000110b-0000-1000-8000-00805f9b34fb [CHG] Device 30:21:B0:70:83:33 UUIDs: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Device 30:21:B0:70:83:33 UUIDs: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Device 30:21:B0:70:83:33 UUIDs: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Device 30:21:B0:70:83:33 ServicesResolved: yes [CHG] Device 30:21:B0:70:83:33 Paired: yes Pairing successful
Pairing successfulと出れば成功です。ついでにtrust
コマンドでTrustリストに登録しておきます。
[bluetooth]# trust 30:21:B0:70:83:33 [CHG] Device 30:21:B0:70:83:33 Trusted: yes Changing 30:21:B0:70:83:33 trust succeeded
最後に、ペアリングしたスピーカーに接続します。connect
コマンドを使います。
[bluetooth]# connect 30:21:B0:70:83:33 Attempting to connect to 30:21:B0:70:83:33 [CHG] Device 30:21:B0:70:83:33 Connected: yes Connection successful [CHG] Device 30:21:B0:70:83:33 ServicesResolved: yes [EWA Audio A106]#
スピーカーから接続音が鳴り、接続ができました。プロンプトも[EWA Audio A106]#
に変わりました。
[EWA Audio A106]# quit
quit
コマンドでbleutoothctl
を終了してbashに戻りましょう。
動作チェック
音を鳴らしてみましょう。
$ aplay /usr/share/sounds/alsa/Front_Center.wav
Bluetoothスピーカーから音が鳴れば成功です👌
音量調整、Pythonからの再生などは、過去の記事で紹介している方法と同じです。