BeagleBone Black をミュージックプレーヤーに

Botic Linux Driver で BeagleBone Black をミュージックプレーヤーにします。

BeagleBone Black と Raspberry Pi 用 I2S DAC(RBD-02、RBD-02+、RBD-02+ HG)のブリッジ基板 B2R-5100 Proto を使ったその手順です。なお、Botic Linux Driver をインストールまでは B2R-5100 Proto 基板を接続しないでください。

ダウンロード

イメージファイル bbb-botic-v4-1gb.img.gz を http://bbb.ieero.com/botic4/ からダウンロードします。

ファイルの解凍

ダウンロードしたファイルを解凍するには 7-Zip を使うと良いでしょう。7-Zip は http://sevenzip.osdn.jp/ からダウンロードできます。

SD カードへの書込み

解凍したイメージファイルを win32diskimager で SD カードに書込みます。

BBB のブート

BBB に LAN ケーブルを接続しマイクロ SD カードを挿して電源を入れます。SD カードの近くにあるタクトスイッチ SW2 を押しながら電源を入れ、4〜5秒程度長押しします。

NetEnum などのネットワークスキャンソフトで BBB の IP アドレスを調べ Tera Term などのターミナルエミュレータで BBB の Botic にログインします。ログインのユーザ名は root、パスフレーズは boticです。ここからは BBB の Botic での作業になります。

kernel オプションの変更

kernel オプションを変更します。/boot/uboot/uEnv.txt を以下のように修正してください。

optargs=snd_soc_botic.ext_masterclk=3 snd_soc_botic.serconfig=MMMM snd_soc_botic.dsd_format_switch=3

ファイルサーバーをマウント

### Windows share directory(cifs) のマウント ###

ここでは Windows の共有フォルダ C:\share\Music を BBB の /data/remote ディレクトリにマウントしてアクセスできるようにします。以下のコマンドでディレクトリを作成します。

root@botic:~# mkdir /data [Enter]
root@botic:~# mkdir /data/remote [Enter]

/etc/fstab を nano で開いて //IP_ADDRESS/share/Music /data/remote cifs user=USER_NAME,pass=PASSWORD,cache=none,gid=audio,sec=ntlm,iocharset=utf8 を追加します。IP_ADDRESS は NAS に割り当てられた IP アドレス。(iocharset=utf8 を設定しない場合プレイリストの作成ができず延々とアクセスしたままになるようです(*))

root@botic:~# nano /etc/fstab [Enter]

追加したら Ctr + o、Enter、Ctr + x として nano を終了します。そして

root@botic:~# shutdown now -r [Enter]

で BBB を再起動します。Windows の共有フォルダがマウントされているのを確認します。

root@botic:~# ls /data/remote/ [Enter]
01 - St Thomas.mp3
Keep your side_16bit441kHz_short.wav
SOUVENIR part II_04_SOUVENIR de Florence op. 70  I. Allegro con spi.flac
SOUVENIR part II_04_SOUVENIR de Florence op. 70  I. Allegro con spi.mp3
TestSignals
Thumbs.db
Track01.cda

BBB をシャットダウンします。LAN ポート横のパワースイッチを押すか以下のコマンドを実行します。

root@botic:~# shutdown now -h [Enter]

### Network file system(nfs) でマウント(*) ###

nfs でマウントするには注意が必要です。BeagleBone Black with I2S, DSD and SPDIF interface では windows 同様 /etc/fstab で設定するようになっていますがこの場合起動しなくなるようです。そこで /etc/rc.local に mount コマンドを以下の様に記述し起動時に自動実行するようにすると良いようです。以下は nfs サーバーの /nfs_dir をローカルの /data/remote ディレクトリにマウントする場合です。

sleep 10
mount -t nfs -o soft,tcp,rsize=65536,wsize=65536,timeo=14,retrans=5, IP_ADDRESS:/nfs_dir /data/remote

nfs のマウントオプションはネットワーク環境によって修正する必要があります。

(*) muraji さんからご教示いただきました


ブリッジ基板の設定

ブリッジ基板(B2R-5100 Proto) のジャンパー J2 にショートピンを挿入して BBB の外部クロックを有効にします。

I2S DAC の接続

RBD-02+/02+ HG は B2R-5100 Proto 基板上の40ピンのピンヘッダー(CN2)と素直に接続すれば OK。RBD-02 の場合は 8ピンのピンソケット(CN4)の1番ピンをB2R-5100 Proto 基板の40ピンのピンヘッダーの10番ピンに合わせて接続します。

音楽の再生

音楽の再生は Tera Term で BBB にログインして以下のようにファイルを指定して実行するか MPD クライアントで行うことができます。

root@botic:~# play /data/remote/Keep\ your\ side_16bit441kHz_short.wav [Enter]

MPD クライアント ympd の場合は以下のようにブラウザに直接 BBB の IP アドレスを指定します。

http://192.168.xxx.xxx:8080

また MPD クライアント GMPC を使う場合には /etc/mpd.conf を以下のように変更します。

#user                           "mpd"
#bind_to_address                "localhost"
port                            "6600"

Windows 版の GMPC は http://gmpclient.org/ からダウンロードできます。