public void CopyTo(HumidityTemperatureData datatocopy)
 {
     this.MeasuredAt = datatocopy.MeasuredAt;
     this.Humidity = datatocopy.Humidity;
     this.Temperature = datatocopy.Temperature;
     this.IsValid = true;
 }
Пример #2
0
        private async void OnTimerTick(object state)
        {
            if (oneShotOnly)
            {
                samplingTimer.Change(Timeout.Infinite, Timeout.Infinite);
                await this.dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                {
                    SamplingCommandText = "Measure temperature";
                });
                isRunning = false;
            }
            if (sampler != null && samplerPin != null)
            {
                var sample = oneShotOnly ? new SensorData { dTemperature = 30, dHumidity = 20, bIsValid = true } : sampler.GetDht11Sample();
                if (sample.bIsValid)
                {
                    await this.dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        CurrentDateTime = DateTime.Now;
                        CurrentTemperature = sample.dTemperature;
                        CurrentHumidity = sample.dHumidity;
                    });

                    HumidityTemperatureData htd = new HumidityTemperatureData(sample.dHumidity, sample.dTemperature, DateTime.Now, sample.bIsValid);
                    await AzureIoTHub.SendDeviceToCloudMessageAsync(htd.Serialize_to_JSon());
                }
                else
                {
                    await this.dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                    {
                        StatusText = "Invalid data sample at " + DateTime.Now.ToString();
                    });
                }
            }
        }