private void InitGrovePi()
        {
            System.Diagnostics.Debug.WriteLine(DeviceFactory.Build.GrovePi().GetFirmwareVersion());

            GroveRotary = DeviceFactory.Build.RotaryAngleSensor(Pin.AnalogPin0);
            GroveSound  = DeviceFactory.Build.SoundSensor(Pin.AnalogPin1);
            GroveLight  = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);

            GroveRelay    = DeviceFactory.Build.Relay(Pin.DigitalPin2);
            GroveTempHumi = DeviceFactory.Build.DHTTemperatureAndHumiditySensor(Pin.DigitalPin3, DHTModel.Dht11);
            GroveRanger   = DeviceFactory.Build.UltraSonicSensor(Pin.DigitalPin4);
            GroveLedBar   = DeviceFactory.Build.BuildLedBar(Pin.DigitalPin5);
            GroveBuzzer   = DeviceFactory.Build.Buzzer(Pin.DigitalPin6);
            GroveButton   = DeviceFactory.Build.ButtonSensor(Pin.DigitalPin7);
            GroveLCD      = DeviceFactory.Build.RgbLcdDisplay();

            GroveLedBar.Initialize(GrovePi.Sensors.Orientation.GreenToRed);
            GroveLCD.SetBacklightRgb(255, 50, 255);

            DeviceFactory.Build.GrovePi().PinMode(Pin.DigitalPin2, PinMode.Output);
            Delay.Milliseconds(10);
            DeviceFactory.Build.GrovePi().Flush();

            DeviceFactory.Build.GrovePi().PinMode(Pin.DigitalPin6, PinMode.Output);
            Delay.Milliseconds(10);
            DeviceFactory.Build.GrovePi().Flush();
        }
 public void Run(IBackgroundTaskInstance taskInstance)
 {
     deferral = taskInstance.GetDeferral();
     blueLed  = DeviceFactory.Build.Led(Pin.DigitalPin4);
     sensor   = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);
     timer    = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromMilliseconds(200));
 }
Пример #3
0
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            // Connect the Light Sensor to analog port 0
            ILightSensor sensor = DeviceFactory.Build.LightSensor(Pin.AnalogPin0);

            // Loop endlessly
            while (true)
            {
                try
                {
                    // Check the value of the button, turn it into a string.
                    string sensorvalue = sensor.SensorValue().ToString();
                    System.Diagnostics.Debug.WriteLine("Sensor is " + sensorvalue);
                }
                catch (Exception ex)
                {
                    // NOTE: There are frequent exceptions of the following:
                    // WinRT information: Unexpected number of bytes was transferred. Expected: '. Actual: '.
                    // This appears to be caused by the rapid frequency of writes to the GPIO
                    // These are being swallowed here/

                    // If you want to see the exceptions uncomment the following:
                    // System.Diagnostics.Debug.WriteLine(ex.ToString());
                }
            }
        }
Пример #4
0
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            //
            // TODO: Insert code to perform background work
            //
            // If you start any asynchronous methods here, prevent the task
            // from closing prematurely by using BackgroundTaskDeferral as
            // described in http://aka.ms/backgroundtaskdeferral
            //

            _deferral = taskInstance.GetDeferral();

            // set the security for fms, and hook into fms
            ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

            fmserver = GetFMSInstance();

            // get the sensors
            lightSensor = DeviceFactory.Build.LightSensor(Pin.AnalogPin0);
            soundSensor = DeviceFactory.Build.SoundSensor(Pin.AnalogPin2);
            leds        = DeviceFactory.Build.BuildLedBar(Pin.DigitalPin8);
            leds.Initialize(GrovePi.Sensors.Orientation.GreenToRed);

            // start the timer
            ThreadPoolTimer timer = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromSeconds(1));
        }
Пример #5
0
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            // Get the deferral instance
            deferral = taskInstance.GetDeferral();

            // Instantiate the sensors and actuators
            buzzer  = DeviceFactory.Build.Buzzer(Pin.DigitalPin2);
            button  = DeviceFactory.Build.ButtonSensor(Pin.DigitalPin4);
            blueLed = DeviceFactory.Build.Led(Pin.DigitalPin5);
            redLed  = DeviceFactory.Build.Led(Pin.DigitalPin6);

            soundSensor = DeviceFactory.Build.SoundSensor(Pin.AnalogPin0);
            lightSensor = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);

            display = DeviceFactory.Build.RgbLcdDisplay();

            // The IO to the GrovePi sensors and actuators can generate a lot
            // of exceptions - wrap all GrovePi API calls in try/cath statements.
            try {
                // Set the RGB backlight to red and display a message
                display.SetBacklightRgb(255, 0, 0);
                display.SetText("The Thingy is getting started");
            }
            catch (Exception ex)
            {
                // On Error, Resume Next :)
            }

            // Start a timer to check the sensors and activate the actuators five times per second
            timer = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromMilliseconds(200));
        }
Пример #6
0
        public CheckForLightCommand(IValidateOperationService validateOperationService,
                                    IAnalogOperations analogOperations, ILightSensor lightSensor, IThreadOperations threadOperations)
        {
            _validateOperationService = validateOperationService;
            _analogOperations         = analogOperations;
            _lightSensor      = lightSensor;
            _threadOperations = threadOperations;

            RecoveryOptions = new RecoveryOptionsDto(true, Recover);
        }
Пример #7
0
 public SensorController()
 {
     temphumiSensor = DeviceFactory.Build.DHTTemperatureAndHumiditySensor(Pin.DigitalPin2, DHTModel.Dht11);
     pirMotion      = DeviceFactory.Build.PIRMotionSensor(Pin.DigitalPin3);
     button         = DeviceFactory.Build.ButtonSensor(Pin.DigitalPin4);
     relay          = DeviceFactory.Build.Relay(Pin.DigitalPin5);
     soundSensor    = DeviceFactory.Build.SoundSensor(Pin.AnalogPin0);
     lightSensor    = DeviceFactory.Build.LightSensor(Pin.AnalogPin1);
     gasSensor      = DeviceFactory.Build.GasSensorMQ2(Pin.AnalogPin2);
     display        = DeviceFactory.Build.OLEDDisplay128X64();
     motor          = DeviceFactory.Build.MiniMotorDriver();
     lockState      = false;
 }
Пример #8
0
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            // Get the deferral instance
            deferral = taskInstance.GetDeferral();

            // Instantiate the sensors and actuators
            redLed = DeviceFactory.Build.Led(Pin.DigitalPin6);

            lightSensor = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);

            // Start a timer to check the sensor and activate the actuator five times per second
            timer = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromMilliseconds(200));
        }
Пример #9
0
        protected override void Given()
        {
            MockValidateOperationService = Substitute.For <IValidateOperationService>();
            MockAnalogOperations         = Substitute.For <IAnalogOperations>();
            MockLightSensor         = Substitute.For <ILightSensor>();
            MockThreadingOperations = Substitute.For <IThreadOperations>();

            SUT = new CheckForLightCommand(
                MockValidateOperationService,
                MockAnalogOperations,
                MockLightSensor,
                MockThreadingOperations
                );
        }
Пример #10
0
        public Pi()
        {
            var builder = DeviceFactory.Build;

            _display = builder.RgbLcdDisplay();

            _light = builder.LightSensor(Pin.AnalogPin0);

            _led = builder.Led(Pin.DigitalPin7);
            //_temp = builder.TemperatureAndHumiditySensor(Pin.AnalogPin1, TemperatureAndHumiditySensorModel.DHT11);

            _ultrasonicRanger = builder.UltraSonicSensor(Pin.DigitalPin3);

            _button = builder.ButtonSensor(Pin.DigitalPin2);
            //_buzzer = builder.Buzzer(Pin.DigitalPin3);
        }
 public void Run(IBackgroundTaskInstance taskInstance)
 {
     deferral    = taskInstance.GetDeferral();
     buzzer      = DeviceFactory.Build.Buzzer(Pin.DigitalPin2);
     button      = DeviceFactory.Build.ButtonSensor(Pin.DigitalPin4);
     blueLed     = DeviceFactory.Build.Led(Pin.DigitalPin5);
     redLed      = DeviceFactory.Build.Led(Pin.DigitalPin6);
     lightSensor = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);
     display     = DeviceFactory.Build.RgbLcdDisplay();
     buttonState = SensorStatus.Off;
     try
     {
         display.SetBacklightRgb(255, 0, 0);
         display.SetText("Hey Web Summit");
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.Write("Something happened: " + ex.ToString());
         throw;
     }
     timer = ThreadPoolTimer.CreatePeriodicTimer(Timer_Tick, TimeSpan.FromMilliseconds(200));
 }
Пример #12
0
		public LightSensor (Context context, ObjectPath opath)
		{
			this.light_sensor = context.GetObject<ILightSensor> (opath);
		}
Пример #13
0
        public MainPage()
        {
            this.InitializeComponent();

            // initialise database
            try
            {
                db = new MySqlConnection("server=us-cdbr-azure-central-a.cloudapp.net;uid=b0a941f833069a;pwd=41561c96;database=as_eb778c54b5aa1fa;SslMode=None;charset=utf8;");
                db.Open();
            }
            catch (Exception e)
            {
                Debug.WriteLine("Failed to connect to db : " + e.Message);
            }

            // colors
            Blue = new SolidColorBrush(Colors.Blue);
            Green = new SolidColorBrush(Colors.Green);
            Red = new SolidColorBrush(Colors.Red);
            Gray = new SolidColorBrush(Colors.Gray);

            // initialise hardware
            _deviceFactory = DeviceFactory.Build;
            Display = _deviceFactory.RgbLcdDisplay();
            Button = _deviceFactory.ButtonSensor(Pin.DigitalPin8);
            BlueLed = _deviceFactory.Led(Pin.DigitalPin2);
            GreenLed = _deviceFactory.Led(Pin.DigitalPin3);
            RedLed = _deviceFactory.Led(Pin.DigitalPin4);
            LightSensor = _deviceFactory.LightSensor(Pin.AnalogPin2);

            // line info
            CurrentWeight = LightSensor.SensorValue();
            CurrentLine = 2;
            dbSet(CurrentLine);

            // update UI
            WeightText.Text = CurrentWeight.ToString();

            // LED tests
            DispatcherTimer time = new DispatcherTimer();
            time.Interval = TimeSpan.FromMilliseconds(5);
            time.Tick += tick;
            time.Start();

            // light sensor to simulate weight
            DispatcherTimer weightUpdater = new DispatcherTimer();
            weightUpdater.Interval = TimeSpan.FromSeconds(30);
            weightUpdater.Tick += updateWeight;
            weightUpdater.Start();
        }
 void mySensor_BrightnessChanged(ILightSensor sender)
 {
     myBrightness.Text = mySensor.Brightness.ToString();
 }
Пример #15
0
 public DemeterEngine( IMoistureSensor moistureSensor, ILightSensor lightSensor)
 {
     _moistureSensor = moistureSensor;
     _lightSensor = lightSensor;
     LightsOn = false;
 }
 // you MUST dispose of the sensor, or the sensor thread will keep running
 // and the application will not exit
 void LightSensorTestForm_Disposed(object sender, EventArgs e)
 {
     mySensor.Dispose();
     mySensor = null;
 }
Пример #17
0
 private void InitializeEngine()
 {
     _moistureSensor = Substitute.For<IMoistureSensor>();
     _lightSensor = Substitute.For<ILightSensor>();
     _engine = new DemeterEngine(_moistureSensor, _lightSensor);
 }
Пример #18
0
 public LightSensor(Context context, ObjectPath opath)
 {
     this.light_sensor = context.GetObject <ILightSensor> (opath);
 }
Пример #19
0
        //------------------------------------------------------------------------------------------------------------------------
        #endregion

        #region Constructor
        //------------------------------------------------------------------------------------------------------------------------
        public LightWatcher(GrovePi.Pin pin)
        {
            lightSensor = DeviceFactory.Build.LightSensor(pin);
        }
        private void InitGrovePi()
        {
            System.Diagnostics.Debug.WriteLine(DeviceFactory.Build.GrovePi().GetFirmwareVersion());

            GroveRotary = DeviceFactory.Build.RotaryAngleSensor(Pin.AnalogPin0);
            GroveSound = DeviceFactory.Build.SoundSensor(Pin.AnalogPin1);
            GroveLight = DeviceFactory.Build.LightSensor(Pin.AnalogPin2);

            GroveRelay = DeviceFactory.Build.Relay(Pin.DigitalPin2);
            GroveTempHumi = DeviceFactory.Build.DHTTemperatureAndHumiditySensor(Pin.DigitalPin3, DHTModel.Dht11);
            GroveRanger = DeviceFactory.Build.UltraSonicSensor(Pin.DigitalPin4);
            GroveLedBar = DeviceFactory.Build.BuildLedBar(Pin.DigitalPin5);
            GroveBuzzer = DeviceFactory.Build.Buzzer(Pin.DigitalPin6);
            GroveButton = DeviceFactory.Build.ButtonSensor(Pin.DigitalPin7);
            GroveLCD = DeviceFactory.Build.RgbLcdDisplay();

            GroveLedBar.Initialize(GrovePi.Sensors.Orientation.GreenToRed);
            GroveLCD.SetBacklightRgb(255, 50, 255);

            DeviceFactory.Build.GrovePi().PinMode(Pin.DigitalPin2, PinMode.Output);
            Delay.Milliseconds(10);
            DeviceFactory.Build.GrovePi().Flush();

            DeviceFactory.Build.GrovePi().PinMode(Pin.DigitalPin6, PinMode.Output);
            Delay.Milliseconds(10);
            DeviceFactory.Build.GrovePi().Flush();
        }