省エネ版 NanoPi NEO2 2台構成のupnprendererをつくった - takobozu/NanoPi-NEO2 GitHub Wiki

概要

表題の通りだが、今までのノウハウを生かしてNanoPi-NEO2 2台構成のupnprendererを作った。

gw(upmpdcli+iptables)はここ

renderer(mpd)はここ

特徴

  1. gw,rendererのImage(kernel)は共に、Timerfrequency 15Hzでビルドしている。
  2. gw,rendererのrootfs.cpio.gz(ルートファイルシステム)は共にcpu clock 120MHzで駆動するようにしている。
  3. gw,renderer共にtelnet等のログインプログラムは廃止している。よって起動する様子を確認するためにはusb-serrialケーブルなどを直接NanoPi-NEO2につないでもらうしかない。(root,ログインパスワードなし)
  4. gw,renderer共に、ntpd,syslogd,klogdは起動後数分で停止するようにしてある。
  5. 固定ipを想定しているためこれを自分の環境に合わせて変更するためにはrootfs.cpio.gzを展開して編集し元の状態に戻す必要がある。
  6. このシステムはi2s-dac(mclk無しで動くもの)を駆動するためのものである。具体的にはpcm51xxやes9023など。
  7. gwの有線LANは2つ必要なため、一つはUSB-LANアダプタを使う。一応rtl8152系のチップの乗ったものは問題なく接続できる。
  8. 24bit,192kHzまでの音源なら何の問題もなく再生可能。352.8kHzはバッファーアンダーランが生じるため音切れが発生する。mpd.confのaudio_buffuer_sizeを変更すれば問題ないだろう。(デフォルト値 2048)
  9. kernelは4.14.78rt,mpdは0.20.23rtを使用している。

ハードウエア構成図

2018/12/02追記 audio_buffer_sizeの変更

mpd.confのaudio_buffer_sizeを2048から3072に変更した。これで24bit 352.8kHzの音源も音切れなく再生できるようになった。es9023+NanoPi-NEO2でこんな音が聴けるとは、ほんとありがたい話だ。 あとハードウエア構成図について若干追記しておく。sw-hubに有線lan接続されているNanoPi-NEO2がgwだ。192.168.0.150はeth1(usb-lanアダプタ)に割り当てられている。eth0は10.0.0.1だ。