Пример #1
0
        public static async Task RunAsync([IoTHubTrigger("messages/events", Connection = "MyIotHubConnectionString")] EventData message, ILogger log)
        {
            try
            {
                // Json binnenhalen
                string strJson = Encoding.UTF8.GetString(message.Body.Array);
                //Ophalen van de data
                //string strJson = await new StreamReader(test).ReadToEndAsync();
                TemperatureMessage newTemperatureMessage = JsonConvert.DeserializeObject <TemperatureMessage>(strJson);
                newTemperatureMessage.strId = Guid.NewGuid().ToString();
                // Map Entities aanmaken + classe aanmaken + shortcut tibovc_IOT_CreateEntity gebruiken
                string connectionString            = Environment.GetEnvironmentVariable("ConnectionString");
                CloudStorageAccount storageAccount = CloudStorageAccount.Parse(connectionString);
                CloudTableClient    tableClient    = storageAccount.CreateCloudTableClient();
                CloudTable          table          = tableClient.GetTableReference("tblTemperature");

                // Wegschrijven
                // Partitionkey --> Goed over nadenken welke je gaat kiezen
                TemperatureRegistrationEntity entEntityClassName = new TemperatureRegistrationEntity(newTemperatureMessage.strDeviceId, newTemperatureMessage.strId)
                {
                    intTemp = newTemperatureMessage.intTemp
                };
                TableOperation insertOperation = TableOperation.Insert(entEntityClassName);
                await table.ExecuteAsync(insertOperation);

                log.LogInformation("Ok");
            }
            catch (Exception ex)
            {
                log.LogInformation(ex.Message);
                throw;
            }
        }
Пример #2
0
        public void OutsideTemperatureFiltered()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.OutsideTemperatureFiltered.Should().Be(new Celsius(22.5));
        }
Пример #3
0
        public void InsideTemperature()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.InsideTemperature.Should().Be(new Celsius(31));
        }
Пример #4
0
        public void AirConditioningTemperature()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.AirConditioningTemperature.Should().Be(new Celsius(25.5));
        }
Пример #5
0
        public void CoolantTempPowerTrainInlet()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.CoolantTempPowerTrainInlet.Should().Be(new Celsius(32.75m));
        }
Пример #6
0
        public void CoolantTempBatteryInlet()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.CoolantTempBatteryInlet.Should().Be(new Celsius(28.5m));
        }
Пример #7
0
        public void AmbientTempRaw()
        {
            // Act
            var message = new TemperatureMessage(_examplePayload);

            // Assert
            message.AmbientTempRaw.Should().Be(new Celsius(5m));
        }
 public static TemperatureMark[] ToDomain(this TemperatureMessage message)
 {
     if (message == null)
     {
         return(null);
     }
     return(message?.Temperatures.Select(_ => new TemperatureMark {
         HostName = message.HostName, Timestamp = message.Timestamp, PartName = _.PartName, Temperature = _.Temperature
     }).ToArray());
 }
Пример #9
0
        public void UpdateTemperatureMessage(TemperatureMessage message)
        {
            if (message == null)
            {
                return;
            }

            _latestTemperatureMessage = message;
            SendMessageToHub(_latestTemperatureMessage);
        }
Пример #10
0
        public async Task SendDataAsync(TemperatureMessage message)
        {
            var data = JsonSerializer.Serialize(message);

            await using (ServiceBusClient client = new ServiceBusClient(_connectionString))
            {
                ServiceBusSender sender = client.CreateSender(_topicName);
                await sender.SendMessageAsync(new ServiceBusMessage(data));
            }
        }
Пример #11
0
        public async Task SendData(TemperatureMessage message)
        {
            var data = JsonSerializer.Serialize(message);

            await using (ServiceBusClient client = new ServiceBusClient(_connectionString));
            // create a sender for the queue
            ServiceBusSender sender = client.CreateSender(_topicName);
            // send the message
            await sender.SendMessageAsync(new ServiceBusMessage(data));

            Console.WriteLine($"Sent a single message to the queue: {_topicName}");
        }
Пример #12
0
 private void InitializeMessages()
 {
     _latestContextMessage = new ContextMessage
     {
         GeoFilter  = GeoFilter.All,
         TimeFilter = DateTime.Today
     };
     _latestSummaryMessage = new SummaryMessage()
     {
         IsDefault = true
     };
     _latestTemperatureMessage = new TemperatureMessage()
     {
         IsDefault = true
     };
     _latestHeartRateMessage = new HeartRateMessage()
     {
         IsDefault = true
     };
     _latestOxygenMessage = new OxygenMessage()
     {
         IsDefault = true
     };
     _latestBostonMessage = new BostonMessage()
     {
         IsDefault = true
     };
     _latestChicagoMessage = new ChicagoMessage()
     {
         IsDefault = true
     };
     _latestNewYorkMessage = new NewYorkMessage()
     {
         IsDefault = true
     };
     _latestGlucoseMessage = new GlucoseMessage()
     {
         IsDefault = true
     };
     _sendToGroup = new Dictionary <string, Action>()
     {
         { GetMessageMetadata <ContextMessage>().Group, () => SendMessageToHub(LatestContextMessage) },
         { GetMessageMetadata <SummaryMessage>().Group, () => SendMessageToHub(LatestSummaryMessage) },
         { GetMessageMetadata <TemperatureMessage>().Group, () => SendMessageToHub(LatestTemperatureMessage) },
         { GetMessageMetadata <OxygenMessage>().Group, () => SendMessageToHub(LatestOxygenMessage) },
         { GetMessageMetadata <GlucoseMessage>().Group, () => SendMessageToHub(LatestGlucoseMessage) },
         { GetMessageMetadata <HeartRateMessage>().Group, () => SendMessageToHub(LatestHeartRateMessage) },
         { GetMessageMetadata <BostonMessage>().Group, () => SendMessageToHub(LatestBostonMessage) },
         { GetMessageMetadata <ChicagoMessage>().Group, () => SendMessageToHub(LatestChicagoMessage) },
         { GetMessageMetadata <NewYorkMessage>().Group, () => SendMessageToHub(LatestNewYorkMessage) }
     };
 }
Пример #13
0
        public async Task <IActionResult> SaveTemperature(DeviceTemperatureModel model)
        {
            try
            {
                var message = new TemperatureMessage();
                message.DeviceId            = model.DeviceId;
                message.MeasurementdData    = model.MeasurementdData;
                message.TemperatureDesired  = model.TemperatureDesired;
                message.TemperatureMeasured = model.TemperatureMeasured;

                await _messageService.SendData(message);

                return(Ok());
            }catch (Exception e)
            {
                return(StatusCode(500, new { Message = e.Message }));
            }
        }
        private void OnTemperatureMessage(TemperatureMessage message)
        {
            Log.Debug(Tag, "Temperature Message: " + message.TemperatureReading);

            _lastUpdatedTemperature = message.TemperatureReading;

            if (_display != null)
            {
                if (_displayMode == AlphaNumericDisplayMode.Temperature)
                {
                    UpdateDisplay(message.TemperatureReading);
                }

                if (_useHubs)
                {
                    _weatherDevice.UpdateTemperature(message.TemperatureReading);
                    _weatherDevice.SendTelemetryData = true;
                }
            }
        }