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; } }
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); }