bluetoothスピーカはとても便利なんですが、スピーカにより再接続がうまくいかないものがあります。
ダイソーで売っているスピーカを例にあげると
SR9910はOKですが、
SR1323はうまくいきません。
ネットで調べると、どうやらRaspberry Pi側というかbluetoothのドライバに原因があるようです。スマホだと問題なく再接続できますから。
以下、SR1323を例として対策を行います。
前提として、以下のようにSR1323とはペアリング、トラストが済んでいるものとします。
やり方については、bluetoothctlで検索してください。
$ sudo bluetoothctl
Agent registered
[bluetooth]# paired-devices
Device XX:XX:XX:XX:XX:XX SR1323
[SR1323]#
このデバイスアドレス(XX:XX:XX:XX:XX:XX)をメモしてください。
1)対策1
・SR1323の電源をOFF/ONする。
ピンポンという音が鳴ってRaspberry Piに接続されますが、
数秒でピロロンという音が鳴って接続が切れます。
(SR9910はこのピロロンという音が鳴らずに接続が維持されます。)
・Raspberry Piより以下のコマンドを実行する。
$ sudo bluetoothctl
[bluetooth]# connect XX:XX:XX:XX:XX:XX
Attempting to connect to XX:XX:XX:XX:XX:XX
[CHG] Device XX:XX:XX:XX:XX:XX Connected: yes
Connection successful
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: yes
# quit
rfriendsをインストールしている方は、対策2,3のほうが楽です。
2)対策2
・SR1323の電源をOFF/ONする。
・Raspberry Piより以下のコマンドを実行する。(2.9.2-b1以降)
$ cd ~/rfriends2 $ sh btutl.sh con bluetooth utility ver. 0.01 Device XX:XX:XX:XX:XX:XX SR1323 接続したい機器の電源をONにしてください 接続しますか(y/N) ? y Attempting to connect to XX:XX:XX:XX:XX:XX [CHG] Device XX:XX:XX:XX:XX:XX Connected: yes Connection successful Connection successful と表示されたら成功です
3)対策3
・rfriendsの[9-1]パラメータ設定を行う。(2.9.2-b1以降)
bd_name = "SR1323"
bd_address = "XX:XX:XX:XX:XX:XX"
以降、[2-9]番組聴取で再接続を促される。
SR1323 に再接続する場合は電源をONにしてください。
再接続しますか。(y/N)
以上