Package Summary
Released
Documented
Node that enables connected ROS-based devices or robots to exchange ROS messages via an MQTT broker using the MQTT protocol.
- Maintainer status: maintained
- Maintainer: Lennart Reiher <lennart.reiher AT rwth-aachen DOT de>, Bastian Lampe <bastian.lampe AT rwth-aachen DOT de>
- Author: Lennart Reiher <lennart.reiher AT rwth-aachen DOT de>, Bastian Lampe <bastian.lampe AT rwth-aachen DOT de>, Christian Wende <christian.wende AT rwth-aachen DOT de>
- License: MIT
- Source: git https://github.com/ika-rwth-aachen/mqtt_client.git (branch: main)
Use GitHub to report bugs or submit feature requests. [View active issues]
Contents
Full Documentation from GitHub
Nodelets
mqtt_client/MqttClient
Enables connected ROS-based devices or robots to exchange ROS messages via an MQTT broker using the MQTT protocol.Subscribed Topics
<bridge/ros2mqtt[*]/ros_topic> (topic_tools/ShapeShifter)- ROS topic whose messages are transformed to MQTT messages and sent to the MQTT broker. May have arbitrary ROS message type.
Published Topics
<bridge/mqtt2ros[*]/ros_topic> (topic_tools/ShapeShifter)- ROS topic on which MQTT messages received from the MQTT broker are published. May have arbitrary ROS message type.
- Latencies measured on the message transfer to <bridge/mqtt2ros[*]/ros_topic> are published here, if the received messages have a timestamp injected.
Services
is_connected (mqtt_client/IsConnected)- Returns whether the client is connected to the MQTT broker.
Parameters
~broker/host (str, default: localhost)- IP address or hostname of the machine running the MQTT broker
- port the MQTT broker is listening on
- username used for authenticating to the broker (if empty, will try to connect anonymously)
- password used for authenticating to the broker
- whether to connect via SSL/TLS
- CA certificate file trusted by client (relative to ROS_HOME)
- unique ID used to identify the client (broker may allow empty ID and automatically generate one)
- maximum number of messages buffered by the bridge when not connected to broker (only available if client ID is not empty)
- directory used to buffer messages when not connected to broker (relative to ROS_HOME)
- topic used for this client's last-will message (no last will, if not specified)
- last-will message
- QoS value for last-will message
- whether to retain last-will message
- whether to use a clean session for this client
- keep-alive interval in seconds
- maximum number of inflight messages
- client certificate file (only needed if broker requires client certificates; relative to ROS_HOME)
- client private key file (relative to ROS_HOME)
- client private key password
- ROS topic whose messages are transformed to MQTT messages
- MQTT topic on which the corresponding ROS messages are sent to the broker
- whether to attach a timestamp to a ROS2MQTT payload (for latency computation on receiver side)
- ROS subscriber queue size
- MQTT QoS value
- whether to retain MQTT message
- MQTT topic on which messages are received from the broker
- ROS topic on which corresponding MQTT messages are published
- MQTT QoS value
- ROS publisher queue size
- whether to latch ROS message