发布者实现:
#!/usr/bin/env python3
# encoding: utf-8
from os import putenv
import rospy
from std_msgs.msg import String #发布的消息的类型
if __name__ == "__main__":
# 2.初始化 ros 节点;
rospy.init_node("init_node") #传入节点名称
# 3.创建发布者对象
pub = rospy.Publisher("/color",String,queue_size=1)
# 4.编写发布逻辑并发布数据
#创建数据
msg = String()
#使用循环发布数据
while not rospy.is_shutdown():
msg.data = "red"
#发布数据
pub.publish(msg)
订阅者实现:
#!/usr/bin/env python3
# encoding: utf-8
from os import putenv
import rospy
from std_msgs.msg import String #接收的消息的类型
def callback(msg):
data = msg
if __name__ == "__main__":
# 2.初始化 ros 节点;
rospy.init_node("subscriber_node") #传入节点名称
# 3.创建发布者对象,编写接收逻辑并接收数据
sub = rospy.Subscriber_node("/color",String,callback,queue_size=1)
rospy.spin()
#循环接收数据