Ejemplo n.º 1
0
 private async void refreshData(Dht11Reading data)
 {
     if (data.IsValid)
     {
         await textBlockTemp.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
         {
             this.textBlockTemp.Text = data.Temperature + "°C";
             this.textBlockHum.Text  = data.Humidity.ToString() + "%";
             this.reading.Text       = "";
             if (data.Temperature >= 30)
             {
                 rectangleTempDown.Fill = redBrush;
             }
             else
             {
                 rectangleTempDown.Fill = orangeBrush;
             }
             if (data.Humidity >= 50)
             {
                 rectangleHumDown.Fill = redBrush;
             }
             else
             {
                 rectangleHumDown.Fill = orangeBrush;
             }
             rectangleTempUp.Height   = 2 * (100 - data.Temperature);
             rectangleTempDown.Height = 2 * data.Temperature;
             rectangleHumUp.Height    = 2 * (100 - data.Humidity);
             rectangleHumDown.Height  = 2 * data.Humidity;
         });
     }
 }
Ejemplo n.º 2
0
        private static async Task <string> sendData(DeviceClient deviceClient, Dht11Reading data)
        {
            Logger.LogInfo($"Temp:{data.Temperature} Hum:{data.Humidity} Time:{DateTime.UtcNow}");

            var info = new SensorInfo
            {
                Guid          = GUID,
                Organization  = ORGANIZATION,
                DisplayName   = DISPLAYNAME,
                Location      = LOCATION,
                MeasureName   = TEMPMEASURE,
                UnitOfMeasure = TEMPUNITS,
                Value         = data.Temperature,
                TimeCreated   = DateTime.UtcNow
            };
            string  dataBuffer   = JsonConvert.SerializeObject(info);
            Message eventMessage = new Message(Encoding.UTF8.GetBytes(dataBuffer));
            await deviceClient.SendEventAsync(eventMessage);

            info.MeasureName   = HUMIDMEASURE;
            info.UnitOfMeasure = HUMIDUNITS;
            info.Value         = data.Humidity;
            dataBuffer         = JsonConvert.SerializeObject(info);
            eventMessage       = new Message(Encoding.UTF8.GetBytes(dataBuffer));
            await deviceClient.SendEventAsync(eventMessage);

            return(dataBuffer);
        }
Ejemplo n.º 3
0
 internal Humiture(Dht11Reading reading)
 {
     IsValid     = reading.IsValid;
     Humidity    = reading.IsValid ? (double?)reading.Humidity : null;
     Temperature = reading.IsValid ? (double?)reading.Temperature : null;
     TimedOut    = reading.TimedOut;
     RetryCount  = reading.RetryCount;
 }
Ejemplo n.º 4
0
            /// <summary>
            /// Asynchronously get telemetry message from native pin.
            /// </summary>
            /// <param name="dht11">Runtime Dht11 pin. <see cref="IoTHelpers.Runtime.Dht11"/>.</param>
            private Message GetTelemetryeMessage(Dht11Reading readings)
            {
                if (readings.IsValid)
                {
                    this.Humidity    = readings.Humidity;
                    this.Temperature = readings.Temperature;
                    this.LastUpdate  = DateTime.Now.ToString("YYYY-MM-DDTHH:MM:SS");
                    this.TotalSuccess++;

                    return(GetMessage());
                }
                return(null);
            }
Ejemplo n.º 5
0
 internal Humiture(Dht11Reading reading)
 {
     IsValid = reading.IsValid;
     Humidity = reading.IsValid ? (double?)reading.Humidity : null;
     Temperature = reading.IsValid ? (double?)reading.Temperature : null;
     TimedOut = reading.TimedOut;
     RetryCount = reading.RetryCount;
 }