public WateringService(RelayX1 relayX1, IInternetOfThingsService internetOfThingsService) { _relayX1 = relayX1; _internetOfThingsService = internetOfThingsService; SetupWateringTimer(); }
public WateringRulesEngine( IMeasurementService measurementService, IWateringService wateringService, IInternetOfThingsService internetOfThingsService) { _measurementService = measurementService; _wateringService = wateringService; _internetOfThingsService = internetOfThingsService; _timer = new Timer(new TimeSpan(0, 0, 0, 20)); _timer.Tick += timer_Tick; }
public MeasurementService( Moisture moistureSensor, LightSense lightSensor, IInternetOfThingsService internetOfThingsService) { _moistureSensor = moistureSensor; _lightSensor = lightSensor; _internetOfThingsService = internetOfThingsService; // Measure every second. _measurementsTimer = new Timer(new TimeSpan(0, 0, 0, 1)); _measurementsTimer.Tick += measurementsTimer_Tick; _measurementsTimer.Start(); }
// This method is run when the mainboard is powered up or reset. void ProgramStarted() { Debug.Print("Program Started"); //var tinamousService = new TinamousService(); _tinamousService = new TinamousMqttService(); //_tinamousService = new NullIoTService(); _tinamousService.WaterRequested += tinamousService_WaterRequested; SetupEthernet(); _measurementService = new MeasurementService(moisture, lightSense, _tinamousService); _wateringService = new WateringService(relayX1, _tinamousService); _wateringRulesEngine = new WateringRulesEngine(_measurementService, _wateringService, _tinamousService); _wateringRulesEngine.Start(); }