Several demos and launch-tests for the avahi based zero-configuration.
This pacakge provides some sample programs and launchers to test/illustrate usage of the zeroconf_avahi c++ and ros api.
You can also use some of avahi's command line tools to help debug problems with zeroconf. Namely:
avahi-browse _ros-master._tcp : list all ros master services avahi-browse -a : list all discovered services avahi-browse -a -r : list and resolve ips for all discovered services avahi-publish -s DudeMaster _ros-master._tcp 8889 : publish a service
To get verbose output from the demos, make sure you've got rosconsole output at DEBUG level.
echo log4j.logger.ros.zeroconf_avahi=DEBUG >> $ROS_ROOT/config/rosconsole.config
You can test the basic module functionality with
> roslaunch zeroconf_avahi_demos zeroconf.launch # OR > roslaunch zeroconf_demos_avahi test_params.launch # Then do some simple tests with the provided bash scripts > rosrun zeroconf_avahi_demos add_ros_listener > rosrun zeroconf_avahi_demos add_concert_listener > rosrun zeroconf_avahi_demos add_ros > rosrun zeroconf_avahi_demos add_collision (test the local collision callback) > rosrun zeroconf_avahi_demos add_concert > rosrun zeroconf_avahi_demos list_discovered_concert_services > rosrun zeroconf_avahi_demos list_discovered_services (list them all!) > rosrun zeroconf_avahi_demos list_published_ros_services > rosrun zeroconf_avahi_demos list_published_services
The above rosrunnables are just some bash scripts in scripts/* which can be used to play around with these nodes. On the avahi side, the command line tools can be useful to help debug/test.