diff --git a/device_info.py b/device_info.py index 89c0474..83c0c1c 100644 --- a/device_info.py +++ b/device_info.py @@ -3,10 +3,15 @@ import network class DeviceInfo: + # Device Infos name = "Dev Device 1" token = "PC]-0Bmp83h7F5#U!D6KJ(A&" + server_url = 'api.growsystem.muelleronline.org' + + # Device Infos End + wlan = network.WLAN(network.STA_IF) def get_macaddress(self): diff --git a/grow_system_api.py b/grow_system_api.py index dbd4aff..51a9b1c 100644 --- a/grow_system_api.py +++ b/grow_system_api.py @@ -9,11 +9,15 @@ class GrowSystemApi: device_info = DeviceInfo() - base_url = 'api.growsystem.muellerdev.kozow.com' + base_url = '' + + def __init__(self): + 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) + print(response.text) jsonResult = json.loads(response.text) print(jsonResult) return jsonResult; diff --git a/moisture_sensor.py b/moisture_sensor.py index 851aaea..c37454b 100644 --- a/moisture_sensor.py +++ b/moisture_sensor.py @@ -8,9 +8,14 @@ class MoistureSensor: moisture_sensor = None most_recent_value = [] + + min_raw_value = None + max_raw_value = None - def __init__(self, moisture_sensor_data): + def __init__(self, moisture_sensor_data, min_raw_value=300, max_raw_value=65535): self.moisture_sensor_pin_int = moisture_sensor_data['pin_int'] + self.min_raw_value = min_raw_value + self.max_raw_value = max_raw_value print("Hello from moisture sensor. Sensor pin is: " + str(self.moisture_sensor_pin_int)) self.moisture_sensor = ADC(Pin(self.moisture_sensor_pin_int)) @@ -18,7 +23,16 @@ class MoistureSensor: self.most_recent_value = [ { 'type': 'moisture', - 'value': self.moisture_sensor.read_u16(), - 'unit': 'unknown' + 'value': self.convert_to_moisture_percentage(self.moisture_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) + + def convert_to_moisture_percentage(self, raw_value): + normalized_value = self.normalize_sensor_value(raw_value) + return round(100 - normalized_value * 100, 1) + + \ No newline at end of file diff --git a/sensor_data_manager.py b/sensor_data_manager.py index f670d93..fc64ff0 100644 --- a/sensor_data_manager.py +++ b/sensor_data_manager.py @@ -1,16 +1,18 @@ from grow_system_api import GrowSystemApi +# from device_info import DeviceInfo class SensorDataManager: - grow_system_api = None + device_info = None - base_url = 'api.growsystem.muellerdev.kozow.com' + grow_system_api = None device_id = None def __init__(self, device_id): self.grow_system_api = GrowSystemApi() + # self.device_info = DeviceInfo() self.device_id = device_id def handleData(self, data):