ROS2 mqtt_client 安装与测试
mqtt_client 包提供了 ROS Nodelet 或 ROS 2 组件节点,使连接的基于 ROS 的设备或机器人能够使用 MQTT 协议通过 MQTT 代理交换 ROS 消息。这通常适用于任意 ROS 消息类型。mqtt_client 还可以与在不基于 ROS 的设备上运行的 MQTT 客户端交换原始消息。
源码地址
https://github.com/ika-rwth-aachen/mqtt_client
安装
sudo apt update
安装 mqtt-client 语句:
sudo apt install ros-$ROS_DISTRO-mqtt-client
$ROS_DISTRO 代表你的 ROS 版本号,例如:
sudo apt install ros-humble-mqtt-client
修改配置文件
进入配置目录:
cd /opt/ros/humble/share/mqtt_client/config
编辑参数文件:
vim params.ros2.yaml
将配置文件中的地址修改为你自己的 MQTT 代理地址。
启动
运行启动脚本:
ros2 launch mqtt_client standalone.launch.ros2.xml
启动成功后,终端将显示相关日志信息。
测试
ROS 端发布消息
在终端执行以下命令发布测试话题:
ros2 topic pub /ping/ros std_msgs/msg/String "{data: \"Hello MQTT\"}"
本地计算机客户端监听
使用其他 MQTT 客户端工具连接同一代理,订阅相应主题以接收消息,验证通信是否成功。


