protected override void Initialize() { InitializeHealthMonitor(22); var pi2PortController = new Pi2PortController(); var i2CBus = new I2cBusAccessor(NotificationHandler); IWeatherStation weatherStation = CreateWeatherStation(); var i2CHardwareBridge = new I2CHardwareBridge(50, i2CBus); var sensorBridgeDriver = new DHT22Accessor(i2CHardwareBridge, Timer); var ioBoardManager = new IOBoardManager(HttpApiController, NotificationHandler); var ccToolsBoardController = new CCToolsBoardController(i2CBus, ioBoardManager, NotificationHandler); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input0, 42); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input1, 43); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input2, 47); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input3, 45); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input4, 46); ccToolsBoardController.CreateHSPE16InputOnly(Device.Input5, 44); RemoteSwitchController remoteSwitchController = SetupRemoteSwitchController(i2CHardwareBridge); var home = new Home(Timer, HealthMonitor, weatherStation, HttpApiController, NotificationHandler); new BedroomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new OfficeConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver, remoteSwitchController); new UpperBathroomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new ReadingRoomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new ChildrensRoomRoomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new KitchenConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new FloorConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new LowerBathroomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new StoreroomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); new LivingRoomConfiguration().Setup(home, ccToolsBoardController, ioBoardManager, sensorBridgeDriver); home.PublishStatisticsNotification(); AttachAzureEventHubPublisher(home); var localCsvFileWriter = new LocalCsvFileWriter(NotificationHandler); localCsvFileWriter.ConnectActuators(home); var ioBoardsInterruptMonitor = new InterruptMonitor(pi2PortController.GetInput(4)); Timer.Tick += (s, e) => ioBoardsInterruptMonitor.Poll(); ioBoardsInterruptMonitor.InterruptDetected += (s, e) => ioBoardManager.PollInputBoardStates(); }
public DHT22HumiditySensor(int id, DHT22Accessor dht22Accessor) : base(id, dht22Accessor) { }
protected override float GetValueInternal(int pin, DHT22Accessor dht22Accessor) { return dht22Accessor.GetHumidity((byte)pin); }
protected override float GetValueInternal(int pin, DHT22Accessor dht22Accessor) { return(dht22Accessor.GetHumidity((byte)pin)); }
protected override float GetValueInternal(int id, DHT22Accessor dht22Accessor) { return(dht22Accessor.GetTemperature((byte)id)); }
public DHT22TemperatureSensor(int id, DHT22Accessor dht22Accessor) : base(id, dht22Accessor) { }
protected override float GetValueInternal(int id, DHT22Accessor dht22Accessor) { return dht22Accessor.GetTemperature((byte)id); }