さて、AlexaというかAmazon Echo Dot をスピーカーとして喋らせて
いてだいたい満足なのですが、ペアリングが切れていることがあって
音声を再生する頭が、Alexaが 「XXに接続します」というような
余分なことを言ってしまいます(笑)
これはかっこ悪いですよね。
それで調べると同じことをしている方がいらして、無音のWavファイルという
のを公開してくれています。
これをありがたく使わせてもらって、なんちゃってKeep Aliveを
やろうと思っています。
bluetoothctl コマンドの解説はいろいろ書かれていて情報があるのですが
インタラクティブな使い方(言い方あってますかね?)なので
bluetoothctl内のコマンドプロンプトに入っての操作の解説ばかりです。
再接続したいのでどうしたらいいかなと思っていたのですが、見つけました。
bluetooth内のコマンドは
# bleutoothctl -- connect XX:XX:XX:XX:X
のようにコマンドを書けるということです。
なのでShell Script内で
上記のように記述すれば接続後、音声再生ということができます。
定期的に無音再生をやってあげればいいので、
aplay コマンドで無音wavファイルを再生しましょう。
bluetoothスピーカーへは
aplay -D bluealsa:DEV=XX:XX:XX:XX:XX,PROFILE=a2dp /home/ubuntu/muon.wav
と指定すればBT MACアドレスを指定してwavファイルを再生できます。
1行でアドレス指定で再生先を指定できるのでこの記法は便利ですね。
cronでkeep aliveしている例がありますが、私はNodeRedからShellをキックする
方法でやります。 NodeRedの定期実行ノード発で記述すると
NodeRed内でやっていることが見えるので私的にはしっくりきました。
外部サービスを使いたくない派の方は役にたてれば幸いです。
ではでは。