yaMPCはMPD接続設定でServer欄にホスト名(例:volumio.local)を指定することも、IPアドレス(例:192.168.0.18)を指定することもできます。またScanボタンでホスト名もIPアドレスも表示して、どちらでも選択できます(左図)。ホスト名指定とIPアドレス指定、それぞれのメリットとデメリットは?そして固定IPアドレスの設定方法を説明します。
一時的な動作確認ならホスト名を指定した方が良いです。microSDカードを別のラズパイに挿して起動しても同じホスト名でアクセスできるので便利です。しかしリビングやデスクトップに常設するラズパイならIPアドレスを指定した方が良いです。なぜなら、その方がyaMPCがMPDに接続する速度が速いからです。ホスト名で指定すると1秒〜2秒かかりますが、IPアドレスで指定すれば、20msec〜40msecで接続できます。(ただし、これはMPD接続だけの時間です。その後、yaMPCはMPDからアルバム情報を取得してから起動します。)
Volumio.localというホスト名は、まずは192.168.0.18(例)というようなIPアドレスに変換されます。この変換に時間がかかるのです。次いで192.168.0.18というIPアドレスは、ラズパイのLANインタフェースが持つMACアドレス(例:B5:27:EB:E0:A1:99)に変換されてから実際に接続されますが、こちらの変換にはさほど時間を要しません。
しかしIPアドレスは変わる可能性がある、という問題があります。PCやラズパイを有線LANや無線LANに接続するとルーターがIPアドレスを割り当てます。この自動割り当ての仕組みをDHCPといいます。ラズパイを停めてしばらく使わないと、次に起動した時にルーターが別のIPアドレスを割り当てる可能性があるのです。これを防ぐのが固定IPアドレスです。
IPアドレスを固定にするには、ルーターにMACアドレスと、それに対応するIPアドレスを指定するのが一般的な方法です。左はあるルーターの設定画面です。MACアドレスと、それに対応するIPアドレスを指定することで、DHCPが割り当てるIPアドレスを固定にできます。
別のルーターでは、チェックボックスをタップするだけで、IPアドレスを固定するデバイスを選択できます。IPアドレスの固定割当の設定方法は、ルーターのマニュアルを見てください。
もう一つの方法は、ルーターがDHCPの割当に使わない領域を使う方法です。左の例では、このルーターは192.168.0.2から32個のIPアドレス、つまり192.168.0.33までのIPアドレスを使ってデバイスに割り当てます。それ以外のアドレスは固定IPアドレスに使えます。
また、192.168.0.2〜192.168.0.33の範囲であっても、割り当てから除外するアドレスを指定することもできます。左の例では、192.168.0.2から8個のIPアドレス、つまり192.168.9まではルーターが使いませんので、その範囲を固定IPアドレスに使うことができます。
ルーターがDHCPの割り当てに使わない領域を固定IPアドレスに指定するには、Volumioの場合は「ネットワーク」の設定で「自動IP」をOffにすることで固定IPアドレスを指定可能です。
MoOdeの場合は、Network Configで、Addressing AssignmentをDHCPからSTATICに変更します。
Zeroconfについて(余談)
ホスト名(正確にはドメイン名を含んだ名前)からIPアドレスに変換することを名前解決(name resolution)と呼びます。名前解決にはDNS(Domain Name System)という仕組みを使います。通常はルーター経由で、プロバイダーが提供するDNSサーバーに、名前に対応するIPアドレスを問い合わせます。DNSサーバーはvolumio.orgというサイトのIPアドレスは解決できますが、(当然ですが)我が家のvolumio.localというラズパイのIPアドレスは知りません。では、なぜyaMPCがvolumio.localという名前でラズパイに接続できるか?というと、ZeroconfまたはmDNS(multicast DNS)という仕組みを使っているからです。この方式では、アクセスする側(iPhone)が自宅LAN内にマルチキャストで問い合わせ、アクセスされる側(ラズパイ)がそれに応答する形で名前解決を行います。ZeroconfのAppleの実装はBonjourといいます。ZeroconfのLinuxの実装はAvahiといいます。yaMPCはiPhoneのBonjourを使って、ラズパイのAvahiに問い合わせているわけです。この問い合わせから回答までに1秒から2秒かかります。yaMPCのMPD接続設定に固定IPアドレスを使えば、名前解決をスキップできるので早く(&速く)つながるという理屈です。