diff --git a/device_info.py b/device_info.py index 65ab51a..a61681e 100644 --- a/device_info.py +++ b/device_info.py @@ -32,6 +32,13 @@ class DeviceInfo: # } ] + engines = [ + { + 'type': 'pump', + 'pins': [15] + } + ] + read_secs = 5 # Device Infos End diff --git a/engine.py b/engine.py new file mode 100644 index 0000000..38bf29c --- /dev/null +++ b/engine.py @@ -0,0 +1,23 @@ +from machine import Pin + + +class Engine(): + + pins = [] + + engine = None + + def __init__(self, engine): + print("Hello from Engine parent class") + print(engine) + self.pins = engine['pins'] + self.engine = Pin(self.pins[0], Pin.OUT) + + def on(self): + print("engine on") + self.engine.value(1) + + def off(self): + print("engine off") + self.engine.value(0) + diff --git a/grow_system.py b/grow_system.py index 3528ea9..3861c5a 100644 --- a/grow_system.py +++ b/grow_system.py @@ -2,6 +2,7 @@ import time from moisture_sensor import MoistureSensor from dht22 import TemperatureHumiditySensor from ambilight_sensor import AmbilightSensor +from pump import Pump from sensor_data_manager import SensorDataManager from grow_system_api import GrowSystemApi from device_info import DeviceInfo @@ -15,6 +16,8 @@ class GrowSystem: # temperature_humidity_sensor = None sensors = [] + + engines = [] most_recent_values = [] @@ -24,7 +27,8 @@ class GrowSystem: device_info = DeviceInfo() - def __init__(self, settings): + def __init__(self, settings): + # Init sensors for sensor in self.device_info.sensors: print("") print("Initialize sensor:") @@ -41,6 +45,20 @@ class GrowSystem: self.sensors.append(AmbilightSensor(sensor)) else: print("No sensor type configured for: " + sensor['type']) + + # Init engines + for engine in self.device_info.engines: + print("") + print("Initialize engine:") + print(engine) + engine_type = engine['type'] + if engine_type == 'pump': + print("Found egine of type pump") + self.engines.append(Pump(engine)) + self.engines[0].on() + time.sleep(15) + self.engines[0].off() + #if not self.moisture_sensor: # self.moisture_sensor = MoistureSensor(settings['moisture_sensor']) diff --git a/grow_system_api.py b/grow_system_api.py index 5b9ccb3..0e3376c 100644 --- a/grow_system_api.py +++ b/grow_system_api.py @@ -15,7 +15,7 @@ class GrowSystemApi: self.base_url = self.device_info.server_url def say_hello(self): - response = self.http_client.post(self.base_url + "/api/device/hello", self._get_device_data()) + response = self.http_client.post(self.base_url + "/api/device", self._get_device_data()) print(response.text) jsonResult = json.loads(response.text) print(jsonResult) diff --git a/pump.py b/pump.py new file mode 100644 index 0000000..fc39e6d --- /dev/null +++ b/pump.py @@ -0,0 +1,7 @@ +from engine import Engine + + +class Pump(Engine): + + def __init__(self, engine): + super().__init__(engine) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..2aa6cee --- /dev/null +++ b/setup.py @@ -0,0 +1,113 @@ +import network +import ujson +import ure as re +import usocket as socket +import time + +class Setup: + def __init__(self): + self.ap_ssid = "Growsystem" + self.ap_password = "12345678" + self.wlans = [] + self.selected_ssid = "" + self.wlan_password = "" + self.pin = "" + self.html = """ + +