暫定公開
ESP8266をWi-Fiアクセスポイントに接続すると、IPアドレスがわからないとクライアントから接続できません。そこで、ESP8266が自らホスト名の問い合わせに応答して名前解決できるようにします。この仕組みを使えばESP8266のためにDNSサーバを用意する必要はありません。
名前解決の方法は二種類に対応しました。
主にWindowsから利用されます。NetBIOS Naming Serviceともいいます。UDP/137で応答します。
主にMac OS Xから利用されます。Multicast DNSの略です。UDP/5353で応答します。
(実装にあたっては、付属ライブラリの ESP8266mDNS をそのまま使わせていただきました)
まず、Arduino IDE に ESP8266 開発環境をインストールします。上記GitHubから naming.ino をダウンロードし、任意のフォルダに保存します。Arduino IDEからこれを開き、ボードは Generic ESP8266 Module を選択し、コンパイル、書き込みをします。
ESP8266の電源を入れ、シリアルモニタに「Starting UDP」と表示されるまで待ちます。
Windows の場合、
ping esp8266
Mac OS X の場合
ping esp8266.local
の様に実行すると、名前からIPアドレスが解決されてpingが実行されますます。
執筆中