はじめに
本記事では、 pynq.io から PYNQ-Z1 ボード向けに提供されている PYNQ イメージにおいて、 HTTP や SSH にてアクセスする際にホスト名を利用できるようにする方法を示します。
なお、ここで紹介する方法は、特に PYNQ イメージやそのベースになっている Ubuntu 15.10 に固有の方法、というわけではありません。様々な Linux 環境でも同様に実現できると思われます。また、 Raspberry Pi も同様の設定されているようです。
Samba の設定
Samba の WINS 機能を利用すると、ホスト名と IP アドレスの組をローカルネットワークに周知できます。
幸い PYNQ のイメージには Samba 4.x が標準で含まれており、動作しています。この Samba の設定を変更し利用します。
/etc/samba/smb.conf の設定
/etc/samba/smb.conf の global
セクションに下記の内容を追加します。
[global]
netbios name = pynq # NetBIOS コンピュータ名を指定
wins support = yes
サービス再起動
下記コマンドにて Samba を再起動します。
$ sudo systemctl restart smbd
$ sudo systemctl restart nmbd
Windows PC からのアクセス確認
- PowerShell もしくはコマンドプロンプトから
ping pynq
を実行し、名前解決および ICMP Echo Reply が返送されてくるか確認します。 - ネットワーク上のコンピュータ
\\pynq
にアクセスし、既定のファイル共有にアクセスできるかを確認します。 - http://pynq:9090/ にアクセスし、 Jupyter Notebook にアクセスできるか確認します。
avahi-daemon の設定
avahi-daemon は Apple による Zeroconf の実装です。これを設定することにより、 macOS (MacOS X) からの名前解決が可能となります。
avahi-daemon のインストールと起動
PYNQ で下記操作を行います。
$ sudo apt install avahi-daemon
$ sudo systemctl start avahi-daemon
$ sudo systemctl enable avahi-daemon
Mac からのアクセス確認
macOS (MacOS X) から名前解決する場合は pynq.local
という名前で引く必要があるようです。
- Terminal から
ping pynq.local
を実行し、名前解決および ICMP Echo Reply が返送されてくるか確認します。 - Finder で Cmd-K (Connect to Server) ダイアログウインドウを開き、
smb://pynq.local/
にアクセスし、既定のファイル共有にアクセスできるかを確認します。 - http://pynq.local:9090/ にアクセスし、 Jupyter Notebook にアクセスできるか確認します。
Linux からのアクセス確認
私は Linux 環境からのアクセス試験をしていませんが、 Avahi を使えば Linux からも名前解決ができるようです。