RaspberryPi

Raspberry piをBluetoothヘッドセットとして認識させる

More than 1 year has passed since last update.

注意

Raspberry pi側のオーディオ設定等はありません。
そのため、下記の設定のみではBluetoothヘッドセットとして認識はしますが、Raspberry piから音声が出たり、マイク等を使えたりはしません。
また、備忘録のため、いろいろと説明を省いています(そのうち入れます)。

動作環境

初期セットアップ

https://www.raspberrypi.org/downloads/raspbian/
上記よりOSをインストールし、SDカードに適当にWriteする。
環境の都合上、初回起動時よりssh接続が可能にしたかったため、Write後に"ssh"ファイルを作成しました。

アップデート

ひとまず最新の状態へアップデート

sudo apt-get update
sudo apt-get update

pulseaudioのインストール

下記以降は、rootユーザで操作しています。

apt-get install pulseaudio-module-bluetooth python-gobject python-gobject-2
apt-get install paprefs

インストール後にデーモンとして起動する。

pulseaudio -D

ペアリングの確認

bluetoothデバイスをコマンドライン上から操作するため、bluetoothctlを使用する。Bluetoothアダプタが問題なく認識できていれば[bluetoothctl]#でコマンド入力可能となる。

bluetoothctl
[bluetoothctl]# discoverable on
[bluetoothctl]# pairable on
[bluetoothctl]# trust XX:XX:XX:XX:XX:XX

上記のコマンドでスマホなどからRaspberry piが検出可能となる。
ペアリングしようとすると失敗するが、下記のコマンドでデバイスを許可してあげる。

[bluetoothctl]# trust XX:XX:XX:XX:XX:XX

もう一度スマホ側からペアリングすると成功するはずです。
問題なくペアリングできれば、一度接続を解除してください。

ofonoのインストール

apt-get install ofono

# ofonoをサービスとして登録して起動
systemctl enable ofono
systemctl start ofono

インストール後、pulseaudio側の設定(/etc/pulse/default.pa)を変更する。

変更前
load-module module-bluetooth-discover
変更後
load-module module-bluetooth-discover headset=ofono

設定変更を反映させるため、pulseaudioを再起動させる。
再起動後にbluetoothctlから再度ペアリングを行う。

pulseaudio -k
pulseaudio -D

Pythonスクリプト動作セットアップ

必要なものをインストールする。

apt-get install python-dbus

動作確認

下記のofonoサンプルスクリプトをダウンロードし、スクリプトを実行する。
https://github.com/DynamicDevices/ofono/blob/master/test/monitor-ofono

wget https://raw.githubusercontent.com/DynamicDevices/ofono/master/test/monitor-ofono
python monitor-ofono

問題なく動作できていれば、電話着信等でメッセージが表示されるはず!

参考URL