publisher:
from std_msgs.msg import String
if __name__ == '__main__':
rospy.init_node("publisher_node")
#topic name 主题名称 唯一识别
#data_class 数据类型
#queue_size传输大小
topic_name = 'hello'
publisher = rospy.Publisher(topic_name,String,queue_size=100)
count = 0
rose=rospy.Rate(1)
while not rospy.is_shutdown():
string = String()
string.data ='hello topic {}'.format(count)
publisher.publish(string)
rose.sleep()
count+=1
subscriber:
#!/usr/bin/env python
#coding:utf-8
import rospy
from std_msgs.msg import String
def topic_callback(msg):
print msg
if __name__ == '__main__':
rospy.init_node("subscriber_node")
topic_name='hey'
subscriber = rospy.Subscriber(topic_name,String,topic_callback)
rospy.spin()
***发布者和订阅者的节点名称必须一致,不然订阅者接收不到消息***《血泪教训》