ラズパイをAirPlayサーバーにし、Bluetoothスピーカーで音を鳴らす
・やりたいこと
寝るときにEndelというアプリでいい感じの音を鳴らしているんですが、
iPhoneのスピーカーだとちょっと物足りないので、
枕元にあるEchoShow5で鳴らしたらいいのでは?と思ってやってみた。
EchoShow5はBluetoothスピーカーとしても動作するので、
iPhoneと直接接続して鳴らせたのですが、
寝るとき以外でも勝手に接続されてしまいます。
しかも接続されるたびにAlexaが、「iPhoneで再生します。」とか言うんで使い勝手が悪い。
それでラズパイをAirPlayサーバー化してそいつをBluetoothでEchoShow5につなげればいいのでは?と思ったのでやってみました。
図で書くとこんな感じ
iOS--[AirPlay]-->ラズパイ--[Bluetooth]-->EchoShow5
基本的にラズパイとEchoShow5はBluetoothで繋ぎっぱなし。
iOSとラズパイはその都度AirPlayで接続する、ということ。
AirPlayはユーザーが操作しないと接続されないのでこれで行けるだろうと。
・手順
まずラズパイをAirPlayサーバー化します。
下記のサイトに書いてある最新版shairport-sync(3.3.2)の導入をする。
(サービスの有効化と開始はやらなくていい)
http://www1.u-netsurf.ne.jp/~tag-i/raspi/22.html
アクセス権は追加設定してOKとサービス起動を止めて、autostartでコマンド実行させてみることにした。をやる。(サービスの無効化はやらなくていいと思う)
これをやるとshairport-syncで受け取った音声をpulseaudio経由で出力できる。
次にBluetooth周りのことをやる
https://www.mikan-tech.net/entry/raspi-bluetooth-speaker
上記のサイトを全てやっておく。
ペアリング時はEchoShow5でBluetooth画面を出さないとScanで出てこないと思う。
ここまで出来たらiPhoneからAirPlayでなにか鳴らしてみる。
EchoShow5から音が出ればOK。
https://qiita.com/noraworld/items/c0b8988c7efb7f877608
最後にこれをやる。
忙しい人向けを実行するだけでOK。
ラズパイ起動時や何らかの原因で切断された際に、
EchoShow5へ自動接続を行ってくれる。
コメント
コメントを投稿