示例#1
0
        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();
        }
示例#2
0
        /// <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);
        }