Raspberry pi rosserial®服务器wifi连接Raspberry pi ESP8266

Raspberry pi rosserial®服务器wifi连接Raspberry pi ESP8266,raspberry-pi,ros,esp8266,arduino-esp8266,Raspberry Pi,Ros,Esp8266,Arduino Esp8266,这篇文章与ROS机器人操作系统和ESP8266有关,并且已经在和上交叉发布 我在树莓皮4上运行ROS Melodic,需要通过wifi将信息以字符串形式发送到多个ESP8266。我才刚刚开始,所以现在只有一个ESP8266。对于通信,我使用ROS包rosserial_服务器包中的socket_节点 参考下图,从节点通过无线网络发布主题/主题“数据”,该主题由运行在ESP8266上的节点订阅: 问题是,节点/rosserial\u服务器\u套接字\u节点保持浮动状态 我已经仔细检查了主题名称和I

这篇文章与ROS机器人操作系统和ESP8266有关,并且已经在和上交叉发布

我在树莓皮4上运行ROS Melodic,需要通过wifi将信息以字符串形式发送到多个ESP8266。我才刚刚开始,所以现在只有一个ESP8266。对于通信,我使用ROS包rosserial_服务器包中的socket_节点

参考下图,从节点通过无线网络发布主题/主题“数据”,该主题由运行在ESP8266上的节点订阅:

问题是,节点/rosserial\u服务器\u套接字\u节点保持浮动状态

我已经仔细检查了主题名称和IP地址,并且在某一点上,让节点/rosserial_server_socket_节点实际链接到ROS网络的其余部分,如我想要的部分所示。然而,这只是一次侥幸?我再也不能让/rosserial\u server\u socket\u节点加入ROS网络

rosserial_服务器的socket_节点与其默认设置端口11411一起使用。我尝试了其他端口号,但没有区别。所有节点启动后,以下是rostopic列表的输出,而不是通常的/rosout和/rosout_agg:

/来自主节点的命令 /主题\u wifi上的数据\u 目标:我需要找到一种使用ROS通过wifi连接ESP8266和Raspberry pi 4的方法。更具体地说,我需要从Raspberry Pi上的从节点到ESP8266上运行的节点获取数据

我已经看过这篇文章了,但是没有找到任何可以解决我问题的方法


任何输入/建议都将不胜感激。

根据ESP上运行的软件,可以选择使用。缺点是您将需要一个额外的MQTT代理,我不确定,但我记得MQTT_桥是一个MQTT客户机,需要一个类似的代理。您可以将MQTT客户机添加到ESP,并将它们连接到同一个代理并订阅MQTT消息。换句话说,您为ESP及其borker创建一个MQTT网络,并通过MQTT_桥向该网络添加ROS。如果您没有在ESP上运行特定于ROS的软件,它应该可以正常工作。

感谢您的建议,MQTT确实帮助我实现了我想要的。但是,您知道为什么rosserial_服务器套接字_节点不工作吗?我喜欢使用尽可能少的外部工具,现在我不得不使用MQTT-pub-sub来实现这个独特的目的,而我已经有了另一个pub-sub系统!不知道为什么它不起作用,你知道吗?我确实遇到过它,但我认为它只适用于单连接,对吗?。我最终需要连接到多个ESP8266,所以我没有真正尝试。