あらゆるデバイスをBluetoothレシーバーにする方法 U

ページ名:あらゆるデバイスをBluetoothレシーバーにする方法 U

ラズベリー・パイは、地球上で最も汎用性の高いマイクロコンピューターのひとつだ。非常に活発なコミュニティがあり、開発者は常にコンピューターをアップグレードし、より安価にしている。現在、多くのデバイスにはBluetooth機能が搭載されており、デバイスをリンクしてワイヤレスで音楽を再生することができるが、古いデバイスの多くには搭載されていない。しかし、ほとんどのデバイスにはAUXポートが付いている。Raspberry Piと、この記事で紹介されているコード、そして時間があれば、家にあるどんな機器でもBluetoothでストリーム再生できるようにすることができる。各ステップに必要なコードは、記事の一番下に記載されています。

方法1

スピーカーを設計する

  1. Raspberry Piのウェブサイトから最新版のRaspbianをダウンロードし、デスクトップに保存します。zipファイルではなく、オペレーティングシステムとして登録するためには、win32 disk imagerをダウンロードする必要があります。デスクトップ上のRaspbianファイルをイメージファイルとして選択し、リムーバブルディスクをデバイスとして選択します。間違ったドライブを上書きしないように、ファイルをコピーする前にマイクロSDカードのレターが正しいことを確認してください。イメージがマイクロSDカードにコピーし終わったら、Raspberry Piに接続して起動します。
  2. Raspberry Piが起動したら、デフォルトのユーザー名「pi」とデフォルトのパスワード「raspberry」を使用する。イーサネットケーブルを接続してWiFiをセットアップするか、画面上部のアイコンをクリックしてWiFi経由で接続する。セットアップが終わったら、もうWiFiは必要ありません。WiFiが必要な唯一の理由は、ファイルをダウンロードするためです。
  3. 動作に必要なソフトウェアをダウンロードする。コマンドターミナルで、A行とB行のコードを入力する。B行のコードは、ブルートゥースをPulseaudioと連動させます。Pulseaudioはサーバーとして機能するオープンソースプログラムで、外部入力からデバイスに音を流すことができます。プログラムのダウンロードが完了したら、Bluetoothを有効にするための設定ファイルの編集を開始します。
    • A. sudo apt-get upgrade
    • B. sudo apt-get install bluez pulseaudio-module-bluetooth python-gobject python-gobject-2 bluez-tools
  4. pulseオーディオにユーザーpiを追加して、デバイスを通して音楽を再生する準備をする。ターミナルでA行目のコードを入力します。これでデフォルトのブルートゥース・ストリーミング設定を編集できます。次に、ブルートゥース設定でA2DPを有効にします。A2DPはブルートゥース・ストリーミングの一種で、他のA2DPデバイスに接続できます。より多くのデータをより速く送信できるため、他のブルートゥース接続よりも高品質です。設定ファイルの[General]: タブで、C行のコードを入力します。CTRL+OとENTERで保存し、CTRL+Xで設定ファイルを閉じます。
    • A. sudo usermod -a -G lp pi
    • B. sudo nano /etc/bluetooth/audio.conf
    • C.Enable=Source,Sink,Media,Socket
  5. Pulseaudioの設定ファイルであるPulse Daemonの設定ファイルを変更します。A行のコードを入力します。リサンプリング方法を変更するのは、デバイスで使用できるように、異なる品質のオーディオを変換できるようにする必要があるからです。コンフィグファイルで、resample-method = speex-float-3という行を探し、行頭に;を追加して、行Bのコードのようにします。
    • A. sudo nano /etc/pulse/daemon.conf
    • B. ;resample-method = speex-float-3
    • C. resample-method = trivial
  6. デバイスを自動的に接続するには、さらにいくつかの設定ファイルを編集する必要がある。udev設定ファイルを編集する必要がある。ターミナルで、A行のコードを入力する。SUBSYSTEM=="input", GROUP="input", MODE="0660 "という行を探し、その下にB行のコードを追加する。udev/ディレクトリが存在する場合は次のステップに進みます。存在しない場合は、D行目のコードを入力してディレクトリを作成します。Bluetoothを完全に動作させるには、E行目のコードをテキストエディタにコピーして実行ファイルにする必要があります。
    • A. sudo nano /etc/udev/rules.d/99-input.rulesを実行します。
    • B.KERNEL=="input[0-9]*", RUN+="/usr/lib/udev/bluetooth"
    • C. sudo ls -la /usr/lib/udev
    • D. sudo mkdir /usr/lib/udev
    • E.AUDIOSINK="alsa_output.platform-bcm2835_AUD0.0.analog-stereo "echo "Executing bluetooth script...|$ACTION|" >> /var/log/bluetooth_devACTION=$(expr "$ACTION" :"expr"$ACTION"=$(expr"$ACTION" : "♪([a-zA-Z]♪+).*もし [ "$ACTION" = "add" ]ならhciconfig hci0 noscanamixer cset numid=3 1amixer set Master 100%pacmd set-sink-volume 0 65537for dev in $(find /sys/devices/virtual/input/ -name input*) do if [ -f "$dev/name" ] then mac=$(cat "$dev/name" | sed 's/:/_/g') bluez_dev=bluez_source.mac sleep 1 CONFIRM=`sudo -u pi pactl list short | grep $bluez_dev` if [ !-z "$CONFIRM" ] then echo "bluez_sourceを設定します:$bluez_dev" >> /var/log/bluetooth_devecho pactl load-module module-loopback source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_devsudo -u pi pactl load-module module-loopback source=$bluez_dev sink=$AUDIOSINK rate=44100 adjust_time=0 >> /var/log/bluetooth_dev/var/log/bluetooth_dev fi fi donefiif [ "$ACTION" = "remove" ]thensudo hciconfig hci0 piscanFi
    • F. sudo chmod 774 /usr/lib/udev/bluetooth
  7. デバイスをRaspberry Piに接続できるように、起動時にブルートゥースの検出機能をオン・オフする別のスクリプトを作成する。まずターミナルで、A行目のコードを入力します。次にテキストエディタを開き、新しいスクリプトを作成します。テキストエディタで、B行目のコードをドキュメントに入力する。スクリプトを保存し、テキストエディタを終了する。テキストファイルに実行権限を与えて、使用時に起動できるようにします。Raspberry Piの起動時にこのスクリプトが起動するようにします。そのためには、C行とD行のコードを入力する必要がある。
    • A. sudo nano /etc/init.d/bluetooth-agent
    • B.USER=rootHOME=/rootexport USER HOMEcase "$1" instart)echo "bluetooth discoverableの設定 "sudo hciconfig hci0 piscanstart-stop-daemon -S -x /usr/bin/bluetooth-agent -c pi -b -- 0000echo "bluetooth-agent started pw:0000";;stop)echo "bluetooth-agentを停止する "start-stop-daemon -K -x /usr/bin/bluetooth-agent;;*)echo "使用法:/etc/init.d/bluetooth-agent {start|stop}"終了 1;;esacexit 0
    • C. sudo chmod 755 /etc/init.d/bluetooth-agent
    • D. sudo update-rc.d bluetooth-agent defaults
  8. inittab設定ファイルに移動する。inittabは、Raspberry Piの起動時など、特定の状況で何を起動するかを指示するファイルだ。その設定ファイルに行くには、A行のコードを入力し、次のコード1:2345:respawn:/sbin/getty 115200 tty1,add #の行をその前に探して、コメントアウトされ、プログラムによって読み取られないようにする。その下にC行のコードを追加する。あとはRaspberry Piを再起動すれば準備完了です。
    • A. sudo nano /etc/inittab
    • B.#1:2345:respawn:/sbin/getty 115200 tty1
    • C.1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1
この記事は、CC BY-NC-SAで公開されている「 How to Turn Any Device Into a Bluetooth Receiver Using Raspberry Pi」を改変して作成しました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧