diff --git a/device_info.py b/device_info.py index c0c9a4d..77ea2d1 100644 --- a/device_info.py +++ b/device_info.py @@ -23,9 +23,8 @@ class DeviceInfo: 'pin_int': 15 } ] - -# 'pump_pin_int': 24 - + + read_secs = 60 # Device Infos End wlan = network.WLAN(network.STA_IF) diff --git a/dht22.py b/dht22.py index 05fb9f2..c022666 100644 --- a/dht22.py +++ b/dht22.py @@ -1,15 +1,16 @@ +from sensors import Sensors from dht import DHT22 from machine import ADC, Pin -class TemperatureHumiditySensor: - sensor_pin_int = -1 +class TemperatureHumiditySensor(Sensors): sensor = None most_recent_values = [] def __init__(self, settings): + super().__init__(settings) print("Initialize dht22 sensor. Sensor pin is: " + str(settings['pin_int'])) print(settings) self.sensor_pin_int = settings['pin_int'] diff --git a/grow_system.py b/grow_system.py index 6e7fd52..aeaf915 100644 --- a/grow_system.py +++ b/grow_system.py @@ -25,6 +25,7 @@ class GrowSystem: def __init__(self, settings): for sensor in self.device_info.sensors: + print("") print("Initialize sensor:") print(sensor) sensor_type = sensor['type'] @@ -61,19 +62,13 @@ class GrowSystem: self.most_recent_values = [] for sensor in self.sensors: + print("Read sensor of type " + sensor.type + " at pin " + str(sensor.sensor_pin_int)) sensor.read() + for measurement in sensor.most_recent_values: + print(f"Got {measurement['value']} {measurement['unit']} ({measurement['type']})") self.most_recent_values = self.most_recent_values + sensor.most_recent_values - print("Most recent bla") - print(sensor.most_recent_values) - - # Moisture Sensor - # self.moisture_sensor.read() - # self.most_recent_values = self.most_recent_values + self.moisture_sensor.most_recent_value - # Temperature and Humidity Sensor - # self.temperature_humidity_sensor.read() - # self.most_recent_values = self.most_recent_values + self.temperature_humidity_sensor.most_recent_values self.sensor_data_manager.handleData(self.most_recent_values) - time.sleep(5) + time.sleep(self.device_info.read_secs) diff --git a/grow_system_api.py b/grow_system_api.py index 51a9b1c..0e3376c 100644 --- a/grow_system_api.py +++ b/grow_system_api.py @@ -15,16 +15,14 @@ class GrowSystemApi: self.base_url = self.device_info.server_url def say_hello(self): - data = self._get_device_data() - response = self.http_client.post(self.base_url + "/api/device", data) + response = self.http_client.post(self.base_url + "/api/device", self._get_device_data()) print(response.text) - jsonResult = json.loads(response.text) + jsonResult = json.loads(response.text) print(jsonResult) return jsonResult; def send_measurements(self, device_id, data): url = self.base_url + "/api/device/" + str(device_id) + "/sensor-log" - print(url) response = self.http_client.post(url, data) return json.loads(response.text) diff --git a/main.py b/main.py index 3f6e225..241af6c 100644 --- a/main.py +++ b/main.py @@ -44,13 +44,11 @@ if __name__ == '__main__': print("Connect WLAN") wlanClient = WlanClient(settings['wlan_ssid'], settings['wlan_pw']) wlanClient.connect() - print("---------------------------------------") print("") di = DeviceInfo() print("Device Infos:") print(di.get_all_device_infos()) - print("---------------------------------------") print("") print("Start grow system") diff --git a/moisture_sensor.py b/moisture_sensor.py index 08f72b7..e11ca76 100644 --- a/moisture_sensor.py +++ b/moisture_sensor.py @@ -1,10 +1,10 @@ # Moisture Sensor Class +from sensors import Sensors from machine import ADC, Pin -class MoistureSensor: - sensor_pin_int = -1 - +class MoistureSensor(Sensors): + sensor = None most_recent_values = [] @@ -13,6 +13,7 @@ class MoistureSensor: max_raw_value = None def __init__(self, sensor_data, min_raw_value=300, max_raw_value=65535): + super().__init__(sensor_data) print("Initialize moisture sensor. Sensor pin is: " + str(sensor_data['pin_int'])) self.sensor_pin_int = sensor_data['pin_int'] self.min_raw_value = min_raw_value @@ -21,12 +22,12 @@ class MoistureSensor: def read(self): self.most_recent_values = [ - { - 'type': 'moisture', - 'value': self.convert_to_moisture_percentage(self.sensor.read_u16()), - 'unit': '%' - }, - ] + { + 'type': 'moisture', + 'value': self.convert_to_moisture_percentage(self.sensor.read_u16()), + 'unit': '%' + }, + ] def normalize_sensor_value(self, raw_value): return (raw_value - self.min_raw_value) / (self.max_raw_value - self.min_raw_value) diff --git a/sensor_data_manager.py b/sensor_data_manager.py index fc64ff0..87dbf39 100644 --- a/sensor_data_manager.py +++ b/sensor_data_manager.py @@ -17,5 +17,4 @@ class SensorDataManager: def handleData(self, data): jsonResponse = self.grow_system_api.send_measurements(self.device_id, data) - print("---- Response: -----") - print(jsonResponse) \ No newline at end of file + print("Response message: " + jsonResponse['message']) \ No newline at end of file diff --git a/sensors.py b/sensors.py index db674ac..04beaaa 100644 --- a/sensors.py +++ b/sensors.py @@ -1,3 +1,10 @@ class Sensors: # this is a parent class for the Sensor classes + sensor_pin_int = -1 + + type = "unset" + + def __init__(self, settings): + self.type = settings['type'] + \ No newline at end of file