Beaglebone BlackからBluetoothヘッドセットに音声出力2014年04月29日

Beaglebone Black(BBB)の使い道としてインターネットラジオプレイヤーを考えてらっしゃる方は多いかと思いますが、BBBには音声出力はHDMIしかなく、USBのオーディオアダプターを使ってアナログ出力される方が一般的ではないでしょうか。
かくいう私もUSBオーディオアダプターを使おうかと思っていたのですが、Bluetoothで出力するっていう方法もあるじゃん、と気づいてチャレンジすることにしました。
はまること2日間、やっとBluetoothヘッドホンへの音声出力が出来ましたので、備忘録を兼ねて記録しておきたいと思います。

OSはAngstromを使いました。デフォルトでeMMCに入っているものではなく、http://beagleboard.org/latest-images/にある「Angstrom Distribution (BeagleBone, BeagleBone Black - 4GB SD) 2013-06-20」をSDカードに焼いて使いました。

BluetoothドングルはBuffalo製ですが、型番は失念してしまいました。

まず、パッケージを追加します。

opkg install connman-plugin-bluetooth
opkg install libasound-module-bluez

connman-plugin-bluetoothは既に入ってるよ、ってなるかもしれません。
これによって、/usr/lib/alsa-lib/の下にlibasound_module_ctl_bluetooth.soとlibasound_module_pcm_bluetooth.soが作成されます。

次に、AngstromはデフォルトでBluetoothが無効になっているので、有効にします。
/var/lib/connman/settingsをエディタで開いて、

[Bluetooth]
Enable=false

となっているところを、

[Bluetooth]
Enable=true

にします。保存したら、コマンドラインに戻って以下のように入力します

systemctl enable bluetooth.service
systemctl start bluetooth.service

次に、/etc/bluetooth/audio.confをエディタで開いて、以下のように編集します。

[General]
Enable=Source,Sink,Headset,Gateway,Control,Socket,Media  ※この行追加
...
SCORouting=PCM  ※コメントを外す
...
AutoConnect=true  ※コメントを外す
...
[A2DP]  ※コメントを外す
SBCSources=1  ※コメントを外す
MPEG12Sources=0  ※コメントを外す

次にホームディレクトリ(多分rootユーザでログインしてると思うので/home/root)に.asoundrcファイルを以下の内容で作成します。
pcm.bluetooth {
    type bluetooth
    device XX:XX:XX:XX:XX:XX
    profile "auto"
}
XX~XXにはBluetoothヘッドホンのBluetoothアドレスを記述して下さい。調べ方は...いったんWindowsパソコンにつないで調べるとか(^_^;)

次にBeaglebone BlackとBluetoothヘッドホンをペアリングします。HDMIモニタを使っているなら、右上にBluetoothのアイコンが表示されていると思うので、左クリックして「Set up new device...」を実行してください。詳しい説明は省きます。

動作確認ですが、mplayerユーティリティを使って行います(shoutcastを利用しています)。

mplayer -ao alsa:device=bluetooth -playlist http://yp.shoutcast.com/sbin/tunein-station.pls?id=157204

無事にBluetoothヘッドホンから音が鳴ったでしょうか?
なお、他に気づいた点として:
・Angstrom用のbluez-alsaパッケージは無い(必要無い)みたい。opkgでインストールしようとしましたが、unknownになってしまいましたし、それでも音が鳴ってますので。
・/proc/asound/cardsにBluetoothのインタフェースが表示されることは無いみたいです。HDMIのものと思しきものが表示されているのみです。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://sub.asablo.jp/blog/2014/04/29/7297792/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。