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
コメント
初めまして
sudo apt-get install pi-bluetooth pulseaudio-module-bluetooth pavucontrol bluz
を実行しますと、bluzパッケージがないといわれます。
こちら、別名のパッケージではないでしょうか?
ご指摘ありがとうございます
bluez の間違いでした。本文も訂正いたします。