private async void MeasureTimerTick(object sender, object e) { // read Temperature double temperature = await bme280Sensor.ReadTemperature(); // convert to Fahrenheit double fahrenheitTemperature = temperature * 1.8 + 32.0; // read Proximity int proximity = vncl4010Sensor.ReadProximity(); TemperatureStatus.Text = "The temperature is currently " + fahrenheitTemperature.ToString("n1") + "°F"; var colorRead = await colorSensor.GetClosestColor(); SolidColorBrush brush = new SolidColorBrush(Windows.UI.Color.FromArgb(255, colorRead.ColorValue.R, colorRead.ColorValue.G, colorRead.ColorValue.B)); this.Background = brush; await IoTHub.SendDeviceToCloudMessage(fahrenheitTemperature, colorRead.ColorName); await IoTCentral.SendTelemetryAsync(fahrenheitTemperature, colorRead.ColorName); }
private async void InitializeDevices() { var gpio = GpioController.GetDefault(); // show an error if there is no GPIO controller if (gpio is null) { interruptPin = null; GpioStatus.Text = "There is no GPIO controller on this device."; return; } // set up interrupt pin for proximity sensor interruptPin = gpio.OpenPin(intPinNumber); // pull up interrupt pin as sensor will pull down to notify interruptPin.SetDriveMode(GpioPinDriveMode.InputPullUp); // initialize BME280 Sensor + Intitialize VNCL4010 await Task.WhenAll(bme280Sensor.Initialize(), vncl4010Sensor.Initialize(), colorSensor.Initialize()); // listen to interrupt pin changes interruptPin.ValueChanged += OnInterrupt; GpioStatus.Text = "Connecting to IoT Hub..."; await IoTHub.ConnectToIoTHub(); GpioStatus.Text = "Connecting to IoT Central..."; IoTCentral.InitClient(); GpioStatus.Text = ""; TemperatureStatus.Text = "Waiting for data..."; // start measuring temperature and proximity measureTimer.Start(); }