Zeroconf (aka Bonjour, very rarely Rendezvous) is a group of technologies to “automagically” discover systems and services on a local area network.
With the proliferation of embedded, networked Raspberry Pi projects, it can be a chore to keep track of numeric IP addresses for each. Dynamically-assigned addresses (via DHCP) can further confuse the issue.
Zeroconf helps by assigning the system a name (e.g. raspberrypi.local instead of 192.168.0.42). It can then be easily accessed from other computers on the local network…provided they’re also running Zeroconf! It’s needed at both ends.
Windows doesn’t have Zeroconf support out of the box, but a few popular applications slip it in for their own needs, including Skype, Apple’s iTunes and Adobe Photoshop CS3 or later. So you might not need to add anything at all!
Otherwise, it’s most easily installed using Bonjour Print Services for Windows 2.0.2.
The newest-and-shiniest version 3.0 is only available in the iTunes installer. So one option is to simply install iTunes, even if you don’t plan to use it.
Some users are understandably reluctant to install unneeded software. In that case, Bonjour 3 can still be installed with a little trick: download the iTunes installer but don’t run it. Using an archive utility like 7-Zip or WinRAR, you’ll discover there’s a separate Bonjour installer inside. Just extract and run that one piece, and you’re done!
Once installed, Zeroconf systems on the local network can then be accessed by name instead of numbers…in a web browser, for example, one might reach a Raspberry Pi hosting OctoPrint at http://octopi.local
Linux (including Raspberry Pi):
This includes systems running the application (e.g. OctoPrint or Cupcade) as well as other Linux systems accessing those applications (or for remote administration).
Zeroconf is provided through an optional package called Avahi.It’s super easy to install from the command line:
sudo apt-get install avahi-daemon
This takes about five minutes. Once installed, the system can be contacted from other computers at hostname.local, where hostname is either the default (raspberrypi) or an alternate name assigned in the Advanced menu of raspi-config. If the SSH server is enabled (also via the Advanced menu), remote login is possible via ssh, and files can be transferred to and from the system using sftp or scp.
If the system will be sharing a network with any Mac computers, I like to install Netatalk:
sudo apt-get install netatalk
This adds support for Apple Filing Protocol, making it easy to move files back and forth in the Finder. The system will be listed in the Finder sidebar if “Bonjour computers” is enabled in the Sidebar preferences. Otherwise use the “Connect to Server…” option under the Go menu. In either case, you’ll need to provide your name and password (e.g. “pi” and “raspberry” by default, notyour Mac credentials).
Mac OS X and BeagleBone Black:
Nothing to be done. Support for Bonjour/Zeroconf is already baked in!