春先に買ったまま放置していたRaspberry Pi Zero WH。
GPIOのヘッダピンが装着済みのモデルは末尾がHらしい。この小さなラズパイ(以下RPi0W)に極シンプルなI2S DACをつけてコンパクトなネットワークオーディオプレーヤにしようと思います。
パーツ選び
RPi0用のDACは多数出ているけれど、あえて自作することで「シンプル構成でいい音を安く」を狙います。
DACチップはメジャーなTIのPCM5102A。千石通商で600円。20pin TSSOPなのでDIPへの変換基盤が必要です。
でも今調べたら秋月電子にてDIP化済みしかも500円で売られていてショック。
出力段にはWIMAのFKP 1 2.2uFとDALEのRN-60を海神無線で買いました。FKP 1は電源向きの製品らしいけど、安価で音もそれほど悪いとは思いません。2.2uFの音響用コンデンサとなるとそれだけで1個数百円はするので、音と値段とのバランスを考え今回選びました。
音に直接関係ない部分のコンデンサは低ESRなだけの一般品。材料費は総額1,200円くらい。
ブレッドボードでテスト
回路はデータシートのTypical Applicationsそのまま。
PCM5102A 2.1 VRMS, 112 dB Audio Stereo DAC
with PLL and 32-bit, 384 kHz PCM Interface
VDDはRPiからの+3.3Vをそのまま使用。レギュレータで5V→3.3Vしてないのはそこをこだわるなら外部電源供給した方がいいため。
端子間の0.1uFはセラミックのチップコンデンサを変換基盤に直付してあります。
組んだ直後は音が出ずに悩みましたが、調べたらXSMTはLでミュートONになることが判明。Hにしたらあっさり鳴りました。
プレーヤは今回もmoode
プレーヤと書くべきかディストリビューションと書くべきか。RPiで動かすメディアプレイヤーには今回もMoode audioを使用しました。
Ver3.5のときにシェアウェア化したと思っていたら、今のVer4.3ではDonate wareに変更されたようです。
インストールというものは無く、公式からイメージをダウンロードし、Win32DiskImagerなどでSD Cardに書き込んだら終わり。そのSD CardをRPi0Wに挿して電源を入れるだけ。
HDMIディスプレイで起動画面を見ていると、ログがバラバラと流れたあと急に真っ暗になりました。あれ?と迷ったけど今はこれで正解。
最近流行りのIoTデバイスのように、「発信される無線APに繋げてスマホで設定」というお手軽セットアップに変わっていました。画面どころかコンソールも要らないとは進化したものです。
ネットワーク
無線LANを内蔵したRPi0WやRPi3であれば、起動後”moode”という無線SSIDが現れます。
スマホで接続しブラウザにてmoode.localと打ち込めばトップ画面へ。
まずはRPi0Wを自宅のLANへ接続します。
右上の”m”アイコンからConfigure>Networkをタップ。
Network ConfigのSSIDにて[SCAN]を押します。少し待って”blank(activates AP mode)”をタップすると検出されたSSIDがリストされるため、自宅のAPを選択。
あとはPasswordを入力し、Countryを”Japan”にしてからページ上部の[APPLY]をタップ。
あとは”m”メニューからRestartすると自宅のLANにRPi0Wが接続されます。iPhoneであれば再度ブラウザにmoode.localを入力すればトップページが表示れます。
WindowsPCではIPアドレスを手入力する必要あり(おそらくBonjourで名前解決しているため)。
IPはDHCPなので何になったかはDHCPサーバに聞いてください。我が家ではBuffalo WXR-1900DHP3のデバイスコントロールで確認しています。
出力デバイス
作成したDACを利用する設定を行います。
Configure>Audioを開き、一番上にある”Devices” – “I2S audio device”にて今回も”HiFiBerry DAC”をセットします。問題なく動作しました。
システム
最低限タイムゾーンだけ合わせます。
Configuration>Systemをタップ。TimeZoneにて”Asia/Tokyo”を選んで[SET]しておきます。
ネットワークドライブの指定
最後また詰まったのがリビングサーバに入った音楽データのマウント。
Configure>Sourceにてsambaをマウントするだけなのに、色々試しても接続エラーとなります。”Share cannot be blank.”ってMANUALで指定した事が反映されてない??
サーバ側はWindows10 ver.1803なのでSambaのバージョンを2.0にしたり3.0にしたり、sec=NTLMにしても駄目。
結局、前と同じく手でマウントして/etc/fstabに書きました。コンソールに入るためのTelnetのデフォルトアカウントはpi/moodeadioです。
Moode AudioでRaspberry Pi2+Raspberry Pi1用DACを鳴らそう | 徒労日記
sudo mount -t cifs //192.168.XX.XX/ミュージック /ntm/NAS -o username=XXXXXXX,password=YYYYYYYテスト問題なし。
あとは昔ながらの/etc/fstabに1行追加してリブート。//192.168.XX.XX/ミュージック /ntm/NAS cifs username=XXXXX,password=YYYYYY 0 0無事BrowseメニューにNASというグループが増えました。
日本語フォルダも問題なく表示されています
次は本組み立て
無事音が出たあとはエージングも兼ねていろいろ聴いています。
Moode 4.3はネットラジオが豊富に登録されており、サムネ表示で選びやすいため「かけっぱなし音源」としても結構使えます。LINN Classicなんかはネットラジオとは思えない320kbpsの高音質で迫力を感じます。
パーツが少なくて済むPCM5102Aの音はメリハリの聴いた今どきのハイレゾサウンド。
TSSOPのはんだ付けとか久しぶりだけどうまく動いてくれて良かった・・・
次回はこれをユニバーサル基板で本組みします。できる限りコンパクトにRPi0Wと合体させたい。同価格の中華製品には負けたく無いなぁ。