RaspberryPi 3 で AmazonEcho を Bluetoothスピーカにする

ALL
スポンサーリンク

Amazon Echo は Bluetoothスピーカとして機能します。
ここでは、RasyberryPi 3 Model B(RaspbianはNOOBSでインストール)から使用する設定を説明します。
Amazon Echo 以外では試していませんが、Bluetoothスピーカから音が出ない人は、本記事の手順を試してみて下さい。

要点は、次になります。

  • RasyberryPi 起動時から立ち上がっている pulseaudio は終了させ、pulseaudio を起動し直す
  • pulseaudio を起動し直した後は、Amazon Echo(Bluetoothスピーカ)を再接続する。
  • PluseAudio音量調節 ツールで、bcm2835 のプロファイルを “オフ” にする
スポンサーリンク

必要モジュールのインストール

次のコマンドでインストールします。

2018.3.24 訂正:インストールパッケージ (誤)bluz (正)bluez です

sudo apt-get install pi-bluetooth pulseaudio-module-bluetooth pavucontrol bluez

Amazon Echo とペアリング・接続

Amazon Echo のペアリングや接続の操作は、GUI では無く、ターミナルのコマンドから行います。
GUI の Bluetoothマネージャでは、接続が失敗する為です。

Bluetoothの設定用ツールをターミナルから起動します。

sudo bluetoothctl

デバイスの検索を実行します。

scan on

この状態で、PCからブラウザで https://alexa.amazon.co.jp にアクセスするか、スマホでAlexaアプリを起動します。
設定 - デバイス - Echo で、”ワイヤレス” の個所で Bluetooth を選択します。
[新しいデバイスをペアリング] を押します。
検出中… と表示されます。

ここで、RaspberryPi のターミナルを見ます。

下のように Echo-YYY のように表示がされます。
(YYYの部分は英字3文字です)
XX:XX:XX:XX:XX:XX の部分は各自異なりますので、以降の説明文中では、各自表示された内容に置き換えて下さい。

[NEW] Device XX:XX:XX:XX:XX:XX Echo-YYY

ペアリングします。

pair XX:XX:XX:XX:XX:XX

色々出た後、Pairing successful と表示されます。

接続します。

connect XX:XX:XX:XX:XX:XX

Connection successful と表示されます。

次回以降、自動的に接続されるようにデバイスを信用します。

trust XX:XX:XX:XX:XX:XX

Changing XX:XX:XX:XX:XX:XX trust succeeded と表示されます。

これで、Amazon Echo と RaspberryPi でぺアリング・接続できました。

先ほど、PCやAlexaアプリで実行した[新しいデバイスをペアリング] をキャンセルします。
[Bluetoothのセットアップをキャンセル]を選択して下さい。

RaspberryPi の画面の方には、”Pairing Requested” のタイトルでダイアログが出ていた場合は、[OK]を押します。
Connection Failed とダイアログが出ますが、ここでは気にしないでください。
これまでのターミナル上での手順で、Amazon Echo に既に接続していますが、ここで接続しようとしてエラーが出ているだけで、問題ありません。

Pulseaudio の設定

ここでの設定は、RaspberryPi 起動の度に行ってください。

RasyberryPi 起動時から立ち上がっている pulseaudio は終了させ、pulseaudio を起動し直します。
これは、なぜか起動時のPulseaudioでは、Bluetoothスピーカ(ここではAmazon Echo)の接続を認識しないためです。

ユーザ pi で次を実行して、pulseaudio を終了させます。

killall pulseaudio

pulseaudio を起動し直します。

pulseaudio -D

pulseaudio を起動し直した後は、Amazon Echo(Bluetoothスピーカ)を一旦切断した後、接続し直します。
これをしないと、Bluetoothスピーカ(ここではAmazon Echo)の接続を認識しません。

Bluetoothの設定用ツールをターミナルから起動します。

sudo bluetoothctl

ペアリングされているデバイスを表示します。

paired-devices

表示結果に、Echo-YYY のような行があります。
(YYYの部分は英字3文字です)
XX:XX:XX:XX:XX:XX の部分は各自異なりますので、以降の説明文中では、各自表示された内容に置き換えて下さい。

Device XX:XX:XX:XX:XX:XX Echo-YYY

Amazon Echo との接続を切断します。

disconnect XX:XX:XX:XX:XX:XX

Amazon Echo と接続します。

connect XX:XX:XX:XX:XX:XX

Connection successful と表示されます。

この状態で、GUIのメニューの サウンドとビデオ - PluseAudio音量調節 を起動します。

起動した画面で、下記のように Echo 以外のプロファイルを “オフ” にします。

画像

これは、音声の再生先の優先順位の変更方法が不明だったので、Amazon Echo 以外をオフにして、Amazon Echo からのみ再生するようにするためです。

コマンドで設定する方法、誰かわかる人がいたら、教えて下さい~~。

なお、この PluseAudio音量調節 での設定は、一度行えばOKです。
RaspberryPi 起動の度に行う必要はありません。

以上で、設定はおわりです。

確認

設定がうまくいったか、確認します。
ユーザ pi で実行します。

aplay /usr/share/sounds/alsa/Front_Center.wav

Amazon Echo から「フロント、センター」と音声が流れたらOKです。

RaspberryPi 起動の度に、本記事の “Pulseaudio の設定” が必要ですので、注意して下さい。

以上、RaspberryPi 3 で AmazonEcho を Bluetoothスピーカにする方法でした。

参考

Linux のコマンドラインで Bluetooth 接続 – Qiita
raspberry pi3 で bluetooth スピーカーに接続する – Qiita
Play audio on a Bluetooth speaker with Raspberry Pi 3 – The MagPi MagazineThe MagPi Magazine

コメント

  1. kazuohprv より:

    初めまして
    sudo apt-get install pi-bluetooth pulseaudio-module-bluetooth pavucontrol bluz
    を実行しますと、bluzパッケージがないといわれます。
    こちら、別名のパッケージではないでしょうか?

  2. パソコン鳥 より:

    ご指摘ありがとうございます
    bluez の間違いでした。本文も訂正いたします。