Ejemplo n.º 1
0
        private async Task SendDataToAzureIOTSuite()
        {
            try
            {
                WeatherObject weather = await GetWeather(txtBoxCity.Text);

                string messageBody = DateTime.Now + " Temperature: " + Math.Round(weather.main.tempCelsius, 2)
                                     + ", Humidity: " + weather.main.humidity + "%"
                                     + ", External Temperature: " + Math.Round(weather.main.tempCelsius, 2);

                weatherLog.Add(messageBody);

                //We add rand value to see variation on graph
                Random rand            = new Random();
                double randHumidity    = rand.Next(0, 5) * 0.1;
                double randTemperature = rand.Next(0, 5) * 0.1;

                RemoteMonitorTelemetryData monitorData = new RemoteMonitorTelemetryData()
                {
                    DeviceId            = deviceId,
                    ExternalTemperature = Math.Round(weather.main.tempCelsius, 2) + randTemperature,
                    Humidity            = weather.main.humidity + randHumidity,
                    Temperature         = Math.Round(weather.main.tempCelsius, 2) + randTemperature
                };
                var messageString      = JsonConvert.SerializeObject(monitorData);
                var interactiveMessage = new Message(Encoding.ASCII.GetBytes(messageString));
                interactiveMessage.Properties["messageType"] = "interactive";
                interactiveMessage.MessageId = Guid.NewGuid().ToString();

                await deviceClient.SendEventAsync(interactiveMessage);
            }
            catch (Exception)
            {
            }
        }
Ejemplo n.º 2
0
        public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync)
        {
            var    monitorData = new RemoteMonitorTelemetryData();
            string messageBody;

            while (!token.IsCancellationRequested)
            {
                if (TelemetryActive)
                {
                    monitorData.DeviceId    = _deviceId;
                    monitorData.Temperature = _temperatureGenerator.GetNextValue();
                    monitorData.Humidity    = _humidityGenerator.GetNextValue();
                    messageBody             = "Temperature: " + Math.Round(monitorData.Temperature, 2)
                                              + " Humidity: " + Math.Round(monitorData.Humidity, 2);

                    if (ActivateExternalTemperature)
                    {
                        monitorData.ExternalTemperature = _externalTemperatureGenerator.GetNextValue();
                        messageBody += " External Temperature: " + Math.Round((double)monitorData.ExternalTemperature, 2);
                    }
                    else
                    {
                        monitorData.ExternalTemperature = null;
                    }

                    //_logger.LogInfo("Sending " + messageBody + " for Device: " + _deviceId);

                    await sendMessageAsync(monitorData);
                }
                await Task.Delay(TimeSpan.FromSeconds(REPORT_FREQUENCY_IN_SECONDS), token);
            }
        }
Ejemplo n.º 3
0
        public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync)
        {
            var monitorData = new RemoteMonitorTelemetryData();

            while (!token.IsCancellationRequested)
            {
                if (TelemetryActive)
                {
                    monitorData.DeviceId = _deviceId;
                    monitorData.RfidTag  = _externalTemperatureGenerator.GetNextValue();

                    await sendMessageAsync(monitorData);
                }
                await Task.Delay(TimeSpan.FromSeconds(ReportFrequencyInSeconds), token);
            }
        }
Ejemplo n.º 4
0
        public async Task SendEventsAsync(CancellationToken token, Func <object, Task> sendMessageAsync)
        {
            var    monitorData = new RemoteMonitorTelemetryData();
            string messageBody;

            while (!token.IsCancellationRequested)
            {
                if (TelemetryActive)
                {
                    monitorData.DeviceId    = _deviceId;
                    monitorData.Temperature = _temperatureGenerator.GetNextValue();
                    monitorData.Humidity    = _humidityGenerator.GetNextValue();
                    monitorData.Rpm         = _rpmGenerator.GetNextValue();
                    monitorData.Payload     = "'{ shfcnt:" + _rpmGenerator.GetNextValue().ToString() + "}'";
                    messageBody             = "Temperature: " + Math.Round(monitorData.Temperature, 2)
                                              + " Humidity: " + Math.Round(monitorData.Humidity, 2)
                                              + " RPM: " + Math.Round(monitorData.Rpm, 2)
                                              + " Payload: " + monitorData.Payload;

                    if (ActivateExternalTemperature)
                    {
                        monitorData.ExternalTemperature = _externalTemperatureGenerator.GetNextValue();
                        messageBody += " External Temperature: " + Math.Round((double)monitorData.ExternalTemperature, 2);
                    }
                    else
                    {
                        monitorData.ExternalTemperature = null;
                    }

                    //_logger.LogInfo("Sending " + messageBody + " for Device: " + _deviceId);

                    await sendMessageAsync(monitorData);
                }
                await Task.Delay(TimeSpan.FromSeconds(TelemetryIntervalInSeconds), token);
            }
        }