예제 #1
0
        public static void configureSensorTags()
        {
            var sensortags = SensorTag.FindAllDevices();

            sensortags.Wait();
            foreach (var sensor in sensortags.Result)
            {
                if (connectedDevice.Contains(sensor.DeviceAddress))
                {
                    continue;
                }
                Console.WriteLine($"About to connect to {sensor.DeviceAddress}");
                var connect = sensor.ConnectAsync();

                connectedDevice.Add(sensor.DeviceAddress);
                connect.Wait();
                SensorTag.SelectedSensor = sensor;
                Console.WriteLine($"Configuring the light sensor for {sensor.DeviceAddress}");
                sensor.LightIntensity.SetPeriod(250).Wait();
                sensor.LightIntensity.mac = sensor.DeviceAddress;

                sensor.LightIntensity.StartReading().Wait();
                sensor.LightIntensity.LightMeasurementValueChanged += OnLightMeasurementValueChanged;

                Console.WriteLine("Configuring the Motion sensors");
                sensor.Movement.SetPeriod(100).Wait();
                sensor.Movement.mac = sensor.DeviceAddress;
                sensor.Movement.StartReading(MovementFlags.Mag | MovementFlags.GyroX | MovementFlags.GyroY | MovementFlags.GyroZ).Wait();
                sensor.Movement.MovementMeasurementValueChanged += OnMovementMeasurementValueChanged;
            }
        }
예제 #2
0
        async void init()
        {
            valuesSender = new Timer(sendValues, null, 1000, 1000);
            var tag = new SensorTag();

            while (!tag.Connected)
            {
                try {
                    await tag.Init();

                    if (!tag.Connected)
                    {
                        Logger.LogError("Tag not connected, retrying");
                        await Task.Delay(1000);
                    }
                }
                catch (Exception ex)
                {
                    Logger.LogException(ex);
                    await Task.Delay(2000);
                }
            }

            tag.HumidityReceived         += Tag_HumidityReceived;
            tag.TemperatureReceived      += Tag_TemperatureReceived;
            tag.IrAmbTemperatureReceived += Tag_IrAmbTemperatureReceived;
            tag.IrTemperatureReceived    += Tag_IrTemperatureReceived;
            tag.LuxReceived += Tag_LuxReceived;
            Logger.Log("Tag Connected, reading values", LogLevel.Event);
        }