Advanced Audio Distribution Profile(A2DP)を使用して、Bluetooth経由でIntel Edisonでオーディオを再生します

Intel Edisonボードでのプロジェクトの実装中に、サウンドの再生が必要になる場合があります。 Yoctoの最新バージョンではAlsaのサポートが追加されており、USBオーディオカードを使用できます。 しかし、機動性が高まると、組み込みのBluetoothモジュールが使用できるようになります。 たとえば、ネットワーク経由でオーディオファイルを受信するIntel Edisonベースのデバイスは、部屋の1か所に固定できます。 従来のワイヤレスヘッドフォンを使用して、部屋のどこでも音楽を聴くことができます。 それでは始めましょう。



画像



あなたが必要になります





カスタマイズ



Bluetoothデバイスの電源を入れて、見えるようにします。 ターミナルで次のコマンドを入力します。



rfkill unblock bluetooth bluetoothctl
      
      





利用可能なBluetoothデバイスをスキャンします。



 scan on
      
      





デバイスを見つけて参加します(MACアドレスに置き換えて):



 pair 00:25:DB:05:72:F2
      
      





必要に応じて接続を確立します。



 connect 00:25:DB:05:72:F2
      
      





bluetoothctlプログラムを閉じます。



 quit
      
      





A2DPデバイス(この場合はLGヘッドフォン)がpulseaudioでシンクデバイスとして認識され、その名前がbluez_sinkで始まることを確認します



 pactl list sinks
      
      









次のコマンドを使用して、pulseaudioで使用するデフォルトのシンクを設定し、デバイスのパラメーターを置き換えます。



 pactl set-default-sink bluez_sink.00_25_DB_05_72_F2
      
      





scp(Linux)またはpscp.exe(Windows)を使用してwavオーディオファイルをIntel Edisonボードにコピーし、mplayerで再生します。



 mplayer Intel_bong.wav2
      
      





mp3ファイルを再生する際にいくつかの問題が発生する可能性があるため、wavファイルを使用してください。



トラブルシューティング



受け取った場合:



 Failed to pair: org.bluez.Error.AlreadyExists
      
      





接続したデバイスを確認します。



 paired-devices
      
      





接続しているデバイスを削除します(デバイスのMACアドレスを置き換えます):



 remove 78:24:AF:13:58:B9
      
      





他の便利なbluetoothctlコマンドは、次のように取得できます。



 help
      
      





追加情報





翻訳者から



この記事を確認しているときに、いくつか問題がありました。 デバイスはconnectコマンドで接続できませんでした。pactlコマンドはありませんでした。 Edisonボードはすぐに使用できるので、Yoctoイメージの新しいバージョンをフラッシュすることでこれをすべて決定しました。



ボードを再フラッシュするには、 次の推奨事項を使用できます。 私はWindowsで少し違ったやり方をしました。



Windowsコンピューター上のYoctoアーカイブが解凍されたフォルダーで、flashall.batを実行します。 また、dfu-util.exeプログラムが必要になる場合があります。このプログラムは、同じ解凍フォルダーに配置する必要があります。 プログラム自体はこちらから入手できます



Windowsでのdfu-utilの説明とEdisonのフラッシュについては、 こちらこちらをご覧ください



また読む:



» ワークショップ「Intel IoT」。 エジソン-強大な「赤ちゃん」



All Articles