private async void ReadTemperature() { var tempHandler = new TemperatureHandler(); var temperatureSensor = new DHT11Sensor(); var _deviceClient = DeviceClient.CreateFromConnectionString("iottemp.azure-devices.net", TransportType.Http1); while (true) { var receivedMessage = await _deviceClient.ReceiveAsync(); if (receivedMessage != null) { await _deviceClient.CompleteAsync(receivedMessage); } tempHandler.RecordTemperature(temperatureSensor.GetTemperature(false)); await System.Threading.Tasks.Task.Delay(5000); } }
public async void Run(IBackgroundTaskInstance taskInstance) { const string empty = " "; var def = taskInstance.GetDeferral(); var lcd1602 = LCD1602Screen.Instance(); lcd1602.WriteLine("My Air Clock!", 0); Task.Delay(1000).Wait(); var dht11 = new DHT11Sensor(5); for (int i = 1; i != 0; i++) { lcd1602.WriteLine(empty, 0); dht11.Read(out var data); var line0 = i % 2 == 0 ? DateTime.Now.ToShortTimeString() : DateTime.Now.ToShortDateString(); var line1 = $"{data.Temperature}C. {data.Humidity}%RH."; lcd1602.WriteLine(line0, 0); if (data.IsValid && data.Temperature != 0 && data.Humidity != 0) { lcd1602.WriteLine(empty, 1); lcd1602.WriteLine(line1, 1); } await Task.Delay(2000); } def.Complete(); }