パソコン鳥のブログ

アクセスカウンタ

zoom RSS RaspberryPi3でAmazonEchoをBluetoothスピーカにする2(スクリプト)

<<   作成日時 : 2018/06/11 23:49   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0


下記の記事で説明した、RaspberryPi 3 で AmazonEcho を Bluetoothスピーカとして使用する場合に、利用できるスクリプトです。
先に下記記事での設定をおこなっておきます。

RaspberryPi 3 で AmazonEcho を Bluetoothスピーカにする パソコン鳥のブログ/ウェブリブログ

また、以降の XX:XX:XX:XX:XX:XX は、上の記事中で確認した値に置き換えて下さい。



Pulseaudio の設定を起動時に自動的に行う


RaspberryPi 3 で AmazonEcho を Bluetoothスピーカにする の「Pulseaudio の設定」を RaspberryPi起動時に行う必要がありますが、それを自動的に実行するスクリプトです。

ユーザ pi で crontab -e を実行し、次の1行を追加します。
Linuxで起動時に1度だけコマンドを実行する で説明したように、起動時に実行されます。


@reboot /home/pi/scripts/exec_restart_pulseaudio.sh


次にディレクトリ /home/pi/scripts を作成します。
そこに次のスクリプトを作成し、chmod +x /home/pi/scripts/exec_restart_pulseaudio.sh します。

これで、RaspberryPi起動時に、Pulseaudio の設定を自動的に行います。

/home/pi/scripts/exec_restart_pulseaudio.sh

#!/bin/bash
device=XX:XX:XX:XX:XX:XX

export PATH=/bin:/usr/bin:$PATH

sleep 60

killall pulseaudio
sleep 5
pulseaudio -D
sleep 5

sudo bluetoothctl <<EOF
disconnect $device
quit
EOF

/bin/sleep 3

sudo bluetoothctl << EOF
connect $device
exit
EOF



Amazon Echo に接続する


Bluetoothスピーカとして Amazon Echo に接続するスクリプトです。
(正確には Bluetoothデバイスに接続するスクリプトです)

次のスクリプトを作成し、chmod +x /home/pi/scripts/connect_bt.sh します。
スクリプト実行で、Amazon Echo に接続実行し、接続完了まで待ち合わせます。

既に接続済みの場合は、接続動作は行いませんので、Amazon Echo に接続済みかどうかに関わらず、とりあえずこれを実行すればOKです。


/home/pi/scripts/connect_bt.sh

#!/bin/bash
device=XX:XX:XX:XX:XX:XX

export PATH=/bin:/usr/bin:$PATH

result=`echo -e "info $device\nexit\n" | bluetoothctl | grep "Connected: yes"`
if [ -z "$result" ]; then
    echo "connect $device\nexit\n" | sudo bluetoothctl
fi

FOUND=`pacmd list-sinks | grep "Echo-"`
while [ -z "$FOUND" ]
do
    sleep 1
    FOUND=`pacmd list-sinks | grep "Echo-"`
done



Amazon Echo への再生音量を設定する


Bluetoothスピーカとして接続した Amazon Echo の、音量を設定するスクリプトです。

次のスクリプトを作成し、chmod +x /home/pi/scripts/set_bluetooth_volume.sh します。

音量変更は、現在の Amazon Echo の音量を100%として、
/home/pi/scripts/set_bluetooth_volume.sh 80%
のように実行します。
100%以上も指定できます。

/home/pi/scripts/set_bluetooth_volume.sh

#!/bin/sh

device=XX:XX:XX:XX:XX:XX
VOL=$1

export PATH=/bin:/usr/bin:$PATH

/home/pi/scripts/connect_bt.sh

INDEX=`pacmd list-sinks | grep "* index: " | sed -e 's/  \* index\: //'`
pactl set-sink-volume "$INDEX" "$VOL"

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
RaspberryPi3でAmazonEchoをBluetoothスピーカにする2(スクリプト) パソコン鳥のブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる