Exemplo n.º 1
0
    def generate_fake_data_for_file(self, name):
        time_fake_data = []
        light_fake_data = []
        moisture_fake_data = []
        for month in range(7, 9):
            for day in range(1, 32):
                for hour in range(1, 24):
                    for minute in range(0, 60, 15):
                        time_fake_data.append(
                            datetime.datetime(2019, month, day, hour, minute,
                                              0))
                        if 0 < hour < 12:
                            light_fake_data.append(
                                random.randrange(20 * hour - 20, 20 * hour))
                            moisture_fake_data.append(
                                random.randrange(20 * hour - 20, 20 * hour))
                        else:
                            light_fake_data.append(
                                random.randrange(240 - (20 * (hour - 12) + 20),
                                                 240 - 20 * (hour - 12)))
                            moisture_fake_data.append(
                                random.randrange(240 - (20 * (hour - 12) + 20),
                                                 240 - 20 * (hour - 12)))

        fake_data_file = csv_recording.CSVRecording(name)
        for row in range(0, len(time_fake_data)):
            fake_data_file.add_record(moisture_fake_data[row],
                                      light_fake_data[row],
                                      time_fake_data[row])
        fake_data_file.close()
Exemplo n.º 2
0
 def draw_moisture_level_graph(self, name="data.csv", show=False):
     CSV_handler = csv_recording.CSVRecording(name)
     plant_data = CSV_handler.read_data(1)
     fig = plt.figure(figsize=(14, 5))
     plt.plot(plant_data[0], plant_data[1], c='r', marker=self.point_shape)
     plt.xlabel('Time', fontsize=16)
     plt.ylabel('Moisture Level', fontsize=16)
     plt.title('scatter plot - Moisture Level vs Time', fontsize=20)
     plt.gcf().axes[0].xaxis.set_major_formatter(self.formatter)
     plt.grid(True)
     plt.savefig("MoistureGraph.png", dpi=300)
     if show:
         plt.show()
     plt.close(fig)
     gc.collect()
 def __init__(self, config, sensor_control):
     self._config = config
     self._csv_file = csv_recording.CSVRecording()
     self._sensor = sensor_control
 def test_rows_ordered_by_time_from_CSV_data(self):
     # most recent readings at end of file
     CSV_handler = csv_recording.CSVRecording()
     list_of_datetimes = CSV_handler.read_data(1)
     self.assertEqual(sorted(list_of_datetimes[0]), list_of_datetimes[0])
 def test_light_levels_are_inrange_of_0_to_1023(self):
     CSV_handler = csv_recording.CSVRecording()
     list_of_datetimes = CSV_handler.read_data(2)
     self.assertGreaterEqual(1023, sorted(list_of_datetimes[1])[0])
     self.assertLessEqual(0, sorted(list_of_datetimes[1])[-1])
 def test_moisture_values_are_in_range_of_0_to_1023(self):
     CSV_handler = csv_recording.CSVRecording()
     list_of_datetimes = CSV_handler.read_data(1)
     self.assertGreaterEqual(1023, sorted(list_of_datetimes[1])[0])
     self.assertLessEqual(0, sorted(list_of_datetimes[1])[-1])