Now that we have connected our project to the local network, we are immediately faced with another challenge: how can we reach it? Using WPS/SmartConfig means we force the unit into DHCP settings mode, IP address is auto assigned by the router in that case. You may not have access to the router’s settings to force static IP leases. Finding your connected project’s IP address isn’t exactly trivial and certainly not something we expect from the end-users to be capable of doing themselves. What we need is to simply type the product hostname and it should show up, something like typing “fridge.local” or “garage-door.local” to your phone’s browser should bring you to the device control UI.
It seems that there is no solution that “just works”, it pretty much depends on the setup that you have. iOS supports mDNS/DNS-Sd/ZeroConf out of the box, Windows uses NetBIOS and more recently (from Vista onwards) LLMNR and with Linux you have to take care to install the respective protocol yourself. I’m not sure about local hostname resolution on Android, I wasn’t able to get it running on my Android devices. Setting DHCP hostname option doesn’t seem to be universal solution either and only works in some cases, if the router supports it.
I’ve included mDNS, NetBIOS and DHCP hostname support in my latest ESP8266 projects, but am still looking for universal solution.