Пример #1
0
        private static async void SendDeviceToCloudMessagesAsync()
        {
            var weatherDataprovider = await SimulatedWeatherSensorProvider.Create();

            for (int i = 0; i < 288; i++)
            {
                double currentHumidity = weatherDataprovider.GetHumidity();
                double currentTemperature = weatherDataprovider.GetTemperature();
                double currentWindSpeed = weatherDataprovider.GetWindSpeed();

                var telemetryDataPoint = new
                {
                    time = DateTime.Now.ToString(),
                    deviceId = deviceId,
                    currentHumidity = currentHumidity,
                    currentTemperature = currentTemperature,
                    currentWindSpeed = currentWindSpeed
                };
                var messageString = JsonConvert.SerializeObject(telemetryDataPoint);
                var message = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(messageString));

                await deviceClient.SendEventAsync(message);
                Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, messageString);

                await Task.Delay(500);
            }
        }
        public static async void SendDeviceToCloudMessagesAsync(string deviceId, object data)
        {
            //double avgWindSpeed = 10; // m/s
            //Random rand = new Random();

            while (true)
            {
                //double currentWindSpeed = avgWindSpeed + rand.NextDouble() * 4 - 2;

                var telemetryDataPoint = new
                {
                    deviceId = deviceId,
                    //windSpeed = currentWindSpeed
                    value = data
                };

                var messageString = JsonConvert.SerializeObject(telemetryDataPoint);
                var message = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(messageString));

                await deviceClient.SendEventAsync(message);

                //Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, messageString);

                //Thread.Sleep(1000);
            }
        }