Advertisement
Guest User

talker.py

a guest
Feb 2nd, 2021
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.61 KB | None | 0 0
  1. import socket
  2. import sys
  3. import json
  4. from random import randrange
  5. from time import time, sleep
  6.  
  7. from types import SimpleNamespace
  8.  
  9.  
  10. import rclpy
  11. import random
  12. from rclpy.node import Node
  13.  
  14. from std_msgs.msg import String
  15.  
  16. msg_to_send = ""
  17.  
  18.  
  19. class MinimalPublisher(Node):
  20.  
  21.     def __init__(self):
  22.         super().__init__('minimal_publisher')
  23.         self.publisher_ = self.create_publisher(String, 'topic', 10)
  24.         timer_period = 10  # seconds
  25.         self.timer = self.create_timer(timer_period, self.timer_callback)
  26.         self.i = 0
  27.  
  28.     def timer_callback(self):
  29.         msg = String()
  30.         msg.data = msg_to_send
  31.  
  32.         self.publisher_.publish(msg)
  33.         self.get_logger().info('Publishing: "%s"' % msg.data)
  34.         self.i += 1
  35.  
  36.  
  37. def main(args=None):
  38.  
  39.     s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  40.     s.bind(("talker", 9999))
  41.     s.listen(2)
  42.  
  43.     while True:
  44.         conn, addr = s.accept()
  45.         print("Conexão estabelecida com %s" % str(addr))
  46.         received_message = bytes.decode(conn.recv(1024))
  47.         print ("Mensagem recebida:")
  48.         print(received_message)
  49.         global msg_to_send
  50.         msg_to_send = received_message
  51.  
  52.         #Código ROS
  53.         rclpy.init(args=args)
  54.  
  55.         minimal_publisher = MinimalPublisher()
  56.  
  57.         rclpy.spin(minimal_publisher)
  58.  
  59.         # Destroy the node explicitly
  60.         # (optional - otherwise it will be done automatically
  61.         # when the garbage collector destroys the node object)
  62.         minimal_publisher.destroy_node()
  63.         rclpy.shutdown()
  64.  
  65.  
  66. if __name__ == '__main__':
  67.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement