zeroconf_avahi_demos
Several demos and launch-tests for the avahi based zero-configuration.
Overview
This pacakge provides some sample programs and launchers to test/illustrate usage of the zeroconf_avahi c++ and ros api.
Avahi Command Line Tools
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
Testing
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
Programs
- demo_zeroconf_api : demos usage of the c++ zeroconf_avahi api (doesn't need roscore).
- official-browse-example : sample program from avahi.
- official-publisher-example : sample program from avahi.
Launchers
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.