private void InitializeSensor() { motionSensor = MotionSensorFactory.Create(); motionSensor.InitGPIO(); motionSensor.MotionDetected += MotionSensor_MotionDetected; motionSensor.MotionUndetected += MotionSensor_MotionUndetected; }
private async void MotionSensor_MotionDetected(IMotionSensor sender, string e) { await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { MotionDectedTbx.Text = DateTime.Now.ToString(); MotionLed.On(); }); }
private void SetupMotionSensor() { motionDetectionResults = new MotionDetectionResult(); MotionStatus.DataContext = motionDetectionResults; motionSensor = MotionSensorFactory.Create(); motionSensor.InitGPIO(); motionSensor.MotionDetected += MotionSensor_MotionDetected; motionSensor.MotionUndetected += MotionSensor_MotionUndetected; }
/// <summary> /// If motion is noticed, switches will be activated /// </summary> /// <param name="motionSensor"></param> /// <param name="powerPlugs">must be of type switch, with state change reporting</param> public MotionSensorPowerPlug(IMotionSensor motionSensor, IList <IStateChange> powerPlugs) { _powerPlugs = powerPlugs.Where(x => x is IStateChange && x is ISwitch).Select(x => (ISwitch)x).ToList(); Devices.Add(motionSensor); foreach (var powerPlug in powerPlugs) { Devices.Add(powerPlug); ((IStateChange)powerPlug).StateChanged += (sender, report) => { _currentSocketState = report.Value; }; } motionSensor.MotionSensorTriggered += MotionSensorOnMotionSensorTriggered; }
public MotionSensorStartup(MotionSensorSetup setup) { //setup the extractor imageExtractor = new ImageExtractor(setup.camera); imageExtractor.framerateBroadcast += new ImageExtractor.FramerateBroadcastEvent(FramerateBroadcastEventHandler); imageExtractor.asyncrohous = true; //set up the save file object imageSaver = new ImageSaver(setup.imageSaveLocation, "movement", setup.camera.cameraId); imageSaver.saveToFileServer = true; //setup.saveImagesToFileServer; imageSaver.saveToDatabase = setup.saveImagesToDatabase; imageSaver.ParentDirectory = setup.imageSaveLocation; captureId = imageSaver.captureId; //set up the database object if(setup.saveImagesToDatabase) { database = new CaptureDb(ConfigurationManager.ConnectionStrings["LOCALDB"].ConnectionString); database.CreateCaptureSession(captureId, imageSaver.SaveDirectory); detectionId = database.CreateDetectionSession(captureId); imageSaver.detectionId = detectionId; } //setup the motion sensor motionSensor = new MotionSensor_2a(); motionSensor.settings = new MotionSensorSettings(); motionSensor.settings.LoadDefaults(); motionSensor.motionDetected += new MotionSensor_2.MotionDetected(imageSaver.ImageCreatedAsync); //create the validator imageValidator = new ImageValidator(); imageValidator.ListenForImages(imageExtractor); imageValidator.imageValidated += new ImageValidator.ImageValidatedEvent(motionSensor.ImageCreatedAsync);//subscribe to events from the validator //setup the alarms alarms = new List<IAlarm>(); if (setup.emailAlarm != null) { alarms.Add(setup.emailAlarm as EmailAlarm); imageSaver.imageCreated += new ImageSaver.ImageSavedEvent(setup.emailAlarm.ImageExtracted); } imageExtractor.Run(); }
public MotionSensorStartup(MotionSensorSetup setup) { //setup the extractor imageExtractor = new ImageExtractor(setup.camera); imageExtractor.framerateBroadcast += new ImageExtractor.FramerateBroadcastEvent(FramerateBroadcastEventHandler); imageExtractor.asyncrohous = true; //set up the save file object imageSaver = new ImageSaver(setup.imageSaveLocation, "movement", setup.camera.cameraId); imageSaver.saveToFileServer = true; //setup.saveImagesToFileServer; imageSaver.saveToDatabase = setup.saveImagesToDatabase; imageSaver.ParentDirectory = setup.imageSaveLocation; captureId = imageSaver.captureId; //set up the database object if (setup.saveImagesToDatabase) { database = new CaptureDb(ConfigurationManager.ConnectionStrings["LOCALDB"].ConnectionString); database.CreateCaptureSession(captureId, imageSaver.SaveDirectory); detectionId = database.CreateDetectionSession(captureId); imageSaver.detectionId = detectionId; } //setup the motion sensor motionSensor = new MotionSensor_2a(); motionSensor.settings = new MotionSensorSettings(); motionSensor.settings.LoadDefaults(); motionSensor.motionDetected += new MotionSensor_2.MotionDetected(imageSaver.ImageCreatedAsync); //create the validator imageValidator = new ImageValidator(); imageValidator.ListenForImages(imageExtractor); imageValidator.imageValidated += new ImageValidator.ImageValidatedEvent(motionSensor.ImageCreatedAsync);//subscribe to events from the validator //setup the alarms alarms = new List <IAlarm>(); if (setup.emailAlarm != null) { alarms.Add(setup.emailAlarm as EmailAlarm); imageSaver.imageCreated += new ImageSaver.ImageSavedEvent(setup.emailAlarm.ImageExtracted); } imageExtractor.Run(); }
public Coordinator(IMotionSensor motionSensor, IShutterRemote shutterRemote) { _motionSensor = motionSensor; _shutterRemote = shutterRemote; }
private void MotionSensor_MotionDetected(IMotionSensor sender, string e) { Publish("Motion detected at " + DateTime.Now); }