メモ: Rasberry PI 3 model B+をBluetoothスピーカーにした

 僕はbluetoothスピーカーが欲しかった。 でも僕の部屋には、コンセントから電源が供給されるイヤホンジャック接続のスピーカー(アナログスピーカー?) が既にあり、買うのもなんかもったいなかった。

 なのでRasberry PI 3 model B+(以下raspi3)にそれを繋いで、raspi3をbluetoothスピーカーにできないかと思って、 やってみたらできた。

 そこらの情報は検索するとうんさか見つかるので、これは私的なメモになる。


 まずはここの各種パッケージ導入以下を行った。

この時点でAndroidからraspi3に接続はできるも、スピーカーとして使えていなかった。 今思うと多分、以下のpairをしてなかっただけだと思う。

$ sudo bluetoothctl
[NEW] Controller YY:YY:YY:YY:YY:YY raspberrypi [default]
[NEW] Device XX:XX:XX:XX:XX:XX Doogee X5 Max Pro
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[bluetooth]# discoverable on
Changing discoverable on succeeded
[CHG] Controller YY:YY:YY:YY:YY:YY Discoverable: yes
[bluetooth]# pairable on
Changing pairable on succeeded
[CHG] Device XX:XX:XX:XX:XX:XX ServicesResolved: yes
[Doogee X5 Max Pro]# trust XX:XX:XX:XX:XX:XX
Changing XX:XX:XX:XX:XX:XX trust succeeded
[CHG] Controller YY:YY:YY:YY:YY:YY Discoverable: no

 もし他の機器から接続した時に、Connected: yesが表示された後にすぐConnected: noになってしまうようであれば、 (pulseaudioデーモンが起動されていない可能性があるので)$ pulseaudio -vDなどするといいかもしれない。

 結局こっちに準拠してみた時点で、Androidからraspi3へのスピーカーとしての接続ができて、音声出力が確認できた!

 一番悩んだのは、上記のragusa87 scriptAUDIOSINKに何を指定するのか、これであってるのか? ということだったけど、確かに以下であっていた。

>>> pactl list sources short
0       alsa_output.platform-soc_audio.analog-stereo.monitor    module-alsa-card.c      s16le 2ch 44100Hz       SUSPENDED

alsa_output.platform-soc_audio.analog-stereo.monitor

筆者プロフィール

my-latest-logo

aiya000(あいや)

せつラボ 〜圏論の基本〜」 「せつラボ2~雲と天使と関手圏~」 「矢澤にこ先輩といっしょに代数!」を書いています!

強い静的型付けとテストを用いて、バグを防ぐのが好き。Haskell・TypeScript。