public async Task SendDataToTheCloud(ToCloudMessage toCloudMessage) { var messageString = JsonConvert.SerializeObject(toCloudMessage); var message = new Message(Encoding.ASCII.GetBytes(messageString)); await _deviceClient.SendEventAsync(message); Console.ForegroundColor = ConsoleColor.Green; Debug.WriteLine("{0} > Message sent to the cloud: {1}", DateTime.Now, messageString); Console.ResetColor(); }
/// <summary> /// Get detected temperature, pressure, altitude and color /// </summary> private void GetDetectedParameters() { TimeSpan period = TimeSpan.FromMinutes(5); ThreadPoolTimer PeriodicTimer = ThreadPoolTimer.CreatePeriodicTimer(async(source) => { var temperature = await _pressureTempService.GetTemperatureInCelciusDegrees(); var pressure = await _pressureTempService.GetPressure(); var altitude = await _pressureTempService.GetAltitude(); Debug.WriteLine("Temperature: " + temperature); Debug.WriteLine("Pressure: " + pressure); Debug.WriteLine("Altitude: " + altitude); var colorDetected = await _colorService.GetColor(); Debug.WriteLine("Color: " + colorDetected); var toCloudData = new ToCloudMessage { DetectedTemperature = temperature, DetectedPressure = pressure, DetectedAltitude = altitude, DetectedColor = colorDetected }; await _cloudDataService.SendDataToTheCloud(toCloudData); await Dispatcher.RunAsync(CoreDispatcherPriority.High, () => { TemperatureGaugeControl.Value = temperature; PressureGaugeControl.Value = pressure; AltitudeGaugeControl.Value = altitude; ColorDetectedTextBlock.Text = colorDetected; var color = (Color)XamlBindingHelper.ConvertValue(typeof(Color), colorDetected); var brush = new SolidColorBrush(color); RgbLedEllipse.Fill = brush; }); }, period); }