Bluetoothスピーカーと接続していても、音を出していないとBluetoothスピーカー側がスリープモードに入り、必要な時に音が出ない場合がある。ここでは、Bluetoothスピーカーとの接続が切れないようにする方法をお伝えする。

アイディアはとても簡単で、ある一定時間ごとに無音のサウンドを出力し続けることにより、Bluetoothスピーカーとの接続を維持する。

環境:Raspbian GNU/Linux 8.0 (jessie)

無音のwavファイル

無音のサウンドの元となるファイルは、Audacityを使用させていただき作成した。作成したファイルは、1ミリ秒の無音のwavファイルとなっており、以下のリンクをクリックするとダウンロードできる。これを適当なディレクトリに配置しておく。

今回は、「/home/user/」ディレクトリに「nosound_one_millisecond.wav」として配置することにする。

Bluetoothスピーカーで無音ファイルを出力

次に、Bluetoothスピーカーで無音ファイルを出力するBashスクリプトを以下のように作成する。
スクリプト中のBluetoothスピーカーアドレスは、事前に確認しておく。
すでにBluetoothスピーカーと接続されていればターミナル上で「hcitool con」コマンドを実行すれば、現在接続されているBluetooth機器の一覧が表示される。

今回は、「/home/user/」ディレクトリに「continue_connection_of_bluetooth_speaker.sh」として配置する。


#!/bin/sh

# Bluetoothスピーカーアドレス
# 適宜、右側を変更
ADDR="XX:XX:XX:XX:XX:XX"

# 無音wavファイル
NOSOUND_FILE="/home/user/nosound_one_millisecond.wav"

# Bluetoothスピーカーが接続されていた場合に無音wavを出力
if hcitool con | grep "${ADDR}" ; then
    aplay ${NOSOUND_FILE}
fi

一定時間ごとに無音ファイルを出力

どの程度の間隔が空くと、Bluetoothスピーカーがスリープモードに入るのかは機器に依存すると思われる。
ここでは、cron上で3分ごとに上記のスクリプトを実行するようにする。

まずは、ターミナル上でcronを開く。


$ sudo crontab -e

次に、以下を追加してcrontabを閉じる。


*/3 * * * * sh /home/user/continue_connection_of_bluetooth_speaker.sh > /dev/null 2>&1

これで、Bluetoothスピーカーと接続している限り、Bluetoothスピーカー側で勝手に接続が切られることがないはずだ。

関連する記事

  • Ubuntu,R h2oパッケージのインストールの方法Ubuntu,R h2oパッケージのインストールの方法 Rのパッケージh2oは、さまざまなクラスタ環境内のニューラルネットワーク(ディープラーニング)、ランダムフォレスト、勾配ブースティングマシン、一般化線形モデルなどの並列分散機械学習アルゴリズムを計算するビッグデータのためのオープンソースの数学エンジンH2O用のRスクリプト機能である。 ここでは、ubuntu14.04環境下でh2oパッケージのインストールの仕方についてお […]
  • R実装と解説 対応のない2標本の母平均の差の検定(母分散が異なる) [latexpage] 母分散が異なるの場合の対応のない2標本の母平均の差の検定とは、2つの母集団が正規分布に従い、ともに母分散が異なるとき、一方の母平均が他方の母平均と「異なる」または「大きい」、「小さい」かどうかを、検定統計量がt分布に従うことを利用して検定します。 統計的検定の流れ 検定の大まかな流れを確認しておきます。 […]
  • Ubuntu OpenCVをインストールする手順Ubuntu OpenCVをインストールする手順 Ubuntu16.04にOpenCV3.3をインストールする手順をお伝えいたします。 OpenCVは、JPEGとPNGの画像だけを扱うように、できるだけ最小の構成を目指します。 そのため、動画に関する設定はできるだけ除いた形でインストールを行います。 環境 今回の作業環境を確認しておきます。また、以下の作業はすべてターミナルにて行っております。 Ubuntuのバージ […]
  • 決定木 – 回帰木決定木 – 回帰木 ここでは、決定木の目的変数が連続値である場合の回帰木について、R言語の「rpart」パッケージを用いて簡単に見ていく。 まずは必要となるパッケージのインストールとロードを行う。「rpart」パッケージは決定木を行うためのものだが、「rpart.plot」と「partykit」パッケージは結果を視覚的に表示するために使うので、あらかじめインストールとロードをしておく。 […]
  • R qgraphを用いてデータをネットワークとして可視化するR qgraphを用いてデータをネットワークとして可視化する qgraphは、ネットワークとしてデータを視覚化するために使用することができ、加重グラフィカルモデルを視覚化するためのインタフェースを提供しているパッケージです。 リファレンスマニュアルには、関数のサンプルコードのみで出力されたグラフがありません。そこで、qgraphのサンプルコードと合わせてグラフを並べてみました。 qgraph library(qgraph) […]
RaspberryPi Bluetoothスピーカーとの接続を維持する方法