sensor_simulator.py
Go to the documentation of this file.
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 import rospy
5 from std_msgs.msg import String, Float32, Int32
6 import random
7 
8 
9 class SensorsPub:
10  def __init__(self):
11  self.time = 0
12 
13  self.publisher()
14 
15 
17  result = random.randint(20, 159)
18 
19  return result
20 
21  def random_float(self, min_number, max_number):
22  result = round(random.uniform(min_number, max_number), 3)
23 
24  return result
25 
26  def create_failure_rate(self, e_count):
27  number = round(random.uniform(0, 1), 3)
28 
29  failure_rate = str(str(number) + "e-" + str(e_count))
30 
31  return failure_rate
32 
33  def publisher(self):
34  self.publisher_time = rospy.Publisher('/sensor_time', Int32, queue_size=10)
35  self.publisher_capacitor_temperature = rospy.Publisher('/capacitor_temperature', Float32, queue_size=10)
36  self.publisher_temperature_sensor_1 = rospy.Publisher('/temperature_sensor_1', Float32, queue_size=10)
37  self.publisher_temperature_sensor_2 = rospy.Publisher('/temperature_sensor_2', Float32, queue_size=10)
38  self.publisher_temperature_sensor_3 = rospy.Publisher('/temperature_sensor_3', Float32, queue_size=10)
39  self.publisher_temperature_sensor_4 = rospy.Publisher('/temperature_sensor_4', Float32, queue_size=10)
40  self.publisher_temperature_sensor_5 = rospy.Publisher('/temperature_sensor_5', Float32, queue_size=10)
41  self.publisher_temperature_sensor_6 = rospy.Publisher('/temperature_sensor_6', Float32, queue_size=10)
42  self.publisher_temperature_sensor_7 = rospy.Publisher('/temperature_sensor_7', Float32, queue_size=10)
43  self.publisher_temperature_sensor_8 = rospy.Publisher('/temperature_sensor_8', Float32, queue_size=10)
44  self.publisher_temperature_sensor_9 = rospy.Publisher('/temperature_sensor_9', Float32, queue_size=10)
45  self.publisher_random_1 = rospy.Publisher('/sensor_topic_1', String, queue_size=10)
46  self.publisher_random_2 = rospy.Publisher('/sensor_topic_2', String, queue_size=10)
47  self.publisher_random_3 = rospy.Publisher('/sensor_topic_3', String, queue_size=10)
48  self.publisher_random_4 = rospy.Publisher('/sensor_topic_4', String, queue_size=10)
49  self.publisher_random_5 = rospy.Publisher('/sensor_topic_5', String, queue_size=10)
50 
51  self.rate = rospy.Rate(2)
52 
53  msg_time = Int32()
54  msg_capacitor_temperature = Float32()
55  msg_random_1 = String()
56  msg_random_2 = String()
57  msg_random_3 = String()
58  msg_random_4 = String()
59  msg_random_5 = String()
60 
61  msg_temperature_sensor_1 = Float32()
62  msg_temperature_sensor_2 = Float32()
63  msg_temperature_sensor_3 = Float32()
64  msg_temperature_sensor_4 = Float32()
65  msg_temperature_sensor_5 = Float32()
66  msg_temperature_sensor_6 = Float32()
67  msg_temperature_sensor_7 = Float32()
68  msg_temperature_sensor_8 = Float32()
69  msg_temperature_sensor_9 = Float32()
70 
71  counter = 0
72  while not rospy.is_shutdown():
73  counter += 1
74  msg_time.data = int(counter)
75  self.publisher_time.publish(msg_time)
76 
77  msg_capacitor_temperature.data = float(self.create_temperature_number())
78  self.publisher_capacitor_temperature.publish(msg_capacitor_temperature)
79 
80  msg_random_1.data = str(self.create_failure_rate(4))
81  msg_random_2.data = str(self.create_failure_rate(5))
82  msg_random_3.data = str(self.create_failure_rate(6))
83  msg_random_4.data = str(self.create_failure_rate(7))
84  msg_random_5.data = str(self.create_failure_rate(8))
85 
86  self.publisher_random_1.publish(msg_random_1)
87  self.publisher_random_2.publish(msg_random_2)
88  self.publisher_random_3.publish(msg_random_3)
89  self.publisher_random_4.publish(msg_random_4)
90  self.publisher_random_5.publish(msg_random_5)
91 
92 
93  msg_temperature_sensor_1.data = float(self.create_temperature_number())
94  msg_temperature_sensor_2.data = float(self.create_temperature_number())
95  msg_temperature_sensor_3.data = float(self.create_temperature_number())
96  msg_temperature_sensor_4.data = float(self.create_temperature_number())
97  msg_temperature_sensor_5.data = float(self.create_temperature_number())
98  msg_temperature_sensor_6.data = float(self.create_temperature_number())
99  msg_temperature_sensor_7.data = float(self.create_temperature_number())
100  msg_temperature_sensor_8.data = float(self.create_temperature_number())
101  msg_temperature_sensor_9.data = float(self.create_temperature_number())
102 
103  self.publisher_temperature_sensor_1.publish(msg_temperature_sensor_1)
104  self.publisher_temperature_sensor_2.publish(msg_temperature_sensor_2)
105  self.publisher_temperature_sensor_3.publish(msg_temperature_sensor_3)
106  self.publisher_temperature_sensor_4.publish(msg_temperature_sensor_4)
107  self.publisher_temperature_sensor_5.publish(msg_temperature_sensor_5)
108  self.publisher_temperature_sensor_6.publish(msg_temperature_sensor_6)
109  self.publisher_temperature_sensor_7.publish(msg_temperature_sensor_7)
110  self.publisher_temperature_sensor_8.publish(msg_temperature_sensor_8)
111  self.publisher_temperature_sensor_9.publish(msg_temperature_sensor_9)
112 
113  self.rate.sleep()
114 
115 
116 if __name__ == '__main__':
117  rospy.init_node('sensor_deneme_publisher')
118 
119  SensorsPub()
def random_float(self, min_number, max_number)


phm_start
Author(s):
autogenerated on Thu Aug 13 2020 16:41:50