Only released in EOL distros:
zeroconf_implementations: zeroconf_avahi | zeroconf_avahi_demos | zeroconf_comms | zeroconf_jmdns | zeroconf_jmdns_demos
Package Summary
Provides zeroconf services on avahi for ros systems. This is a c++ implementation.
- Author: Daniel Stonier
- License: BSD
- Source: git https://github.com/stonier/zeroconf_avahi_suite.git (branch: fuerte)
zeroconf_implementations: zeroconf_avahi | zeroconf_avahi_demos | zeroconf_comms | zeroconf_jmdns | zeroconf_jmdns_demos
Package Summary
Provides zeroconf services on avahi for ros systems. This is a c++ implementation.
- Maintainer status: developed
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Daniel Stonier <d.stonier AT gmail DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/stonier/zeroconf_avahi_suite/issues
- Source: git https://github.com/stonier/zeroconf_avahi_suite.git (branch: groovy-devel)
Package Summary
Provides zeroconf services on avahi for ros systems. This is a c++ implementation.
- Maintainer status: developed
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Daniel Stonier <d.stonier AT gmail DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/stonier/zeroconf_avahi_suite/issues
- Source: git https://github.com/stonier/zeroconf_avahi_suite.git (branch: hydro-devel)
Package Summary
Provides zeroconf services on avahi for ros systems. This is a c++ implementation.
- Maintainer status: developed
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Daniel Stonier <d.stonier AT gmail DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/stonier/zeroconf_avahi_suite/issues
- Source: git https://github.com/stonier/zeroconf_avahi_suite.git (branch: indigo)
Package Summary
Provides zeroconf services on avahi for ros systems. This is a c++ implementation.
- Maintainer status: maintained
- Maintainer: Daniel Stonier <d.stonier AT gmail DOT com>
- Author: Daniel Stonier <d.stonier AT gmail DOT com>
- License: BSD
- Bug / feature tracker: https://github.com/stonier/zeroconf_avahi_suite/issues
- Source: git https://github.com/stonier/zeroconf_avahi_suite.git (branch: indigo)
Overview
This package provides implementations for zeroconf on top of linux's avahi-daemon. There are two implementations:
- C++ library.
- Ros node.
The c++ library can be manipulated directly through the Zeroconf class whereas the ros node provides similar handles through ros topics, services and parameters exposed by the.
How it Works
Both the c++ and node implementations operate on two entities, Listeners and Services.
Listeners are used to discover the appearance and disappearance of all services belong to a specific service type (e.g. _ros-master._tcp). The usual process is to add a listener and then sit back and wait for the callbacks (either c++ or ros subscription) to arrive signifying addition or removal of the specified services.
Services are zeroconf services you wish to publish on the network. They require a name, service type, port and description. If there is a name collision, this package and avahi will rename the service so that it is unique for the lifetime of the current connection.
Usage
If you're using the library, it should be relatively straightforward - simply follow the Zeroconf class documentation. There is also an example in zeroconf_avahi_demos.
Alternatively, using the ros node can be done in a variety of ways, refer to the Tutorials.
Ros API
Zeroconf Node
Provides a ros api for listening and publishing of services.Published Topics
new_connections (zeroconf_comms/DiscoveredService)- streams all new zeroconf services as discovered by the listeners
- streams all removed zeroconf services as discovered by the listeners
Services
add_listener (zeroconf_comms/AddListener)- will add a listener for services of the specified type
- publishes the specified zeroconf service on the network
- removes the specified zeroconf service on the network
- lists the currently found services of the specified type
- lists all zeroconf services published by this node
Parameters
~services (array[structs], default: [])- array of structs specifying services to publish (see example code)
See the example on static configuration for an illustration of the usage of the listeners and services parameters: