public List <Actuator_Action> AddNewSensorData(Sensor_Record sensorData)
        {
            List <Actuator_Action> listAction = new List <Actuator_Action>();

            try
            {
                farmingContext.SensorRecords.Add(sensorData);
                farmingContext.SaveChanges();
                //
                var period = PeriodDetail(sensorData.Farm_ComponentId);
                if (sensorData.Temperature != null)
                {
                    listAction.Add(ActionForTemp(period, (double)sensorData.Temperature));
                }
                if (sensorData.Luminosity != null)
                {
                    listAction.Add(ActionForLight(period, (double)sensorData.Luminosity));
                }
                if (sensorData.Soil_Humidity != null)
                {
                    listAction.Add(ActionForSoilHum(period, (double)sensorData.Soil_Humidity));
                }
                return(listAction);
            }
            catch
            {
                // actuator do nothing
                return(listAction);
            }
        }
Exemple #2
0
        public List <Actuator_Action> SendSensorData(Sensor_Record data)
        {
            var sensorData = CopyFromSensorData(data);
            var listAction = sensorRepository.AddNewSensorData(sensorData);

            return(listAction);
        }
        public IActionResult sendDataSensor([FromBody] Sensor_Record sensorRecord)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var listAction = deviceService.SendSensorData(sensorRecord);

            return(Ok(listAction));
        }
Exemple #4
0
 private Sensor_Record CopyFromSensorData(Sensor_Record data)
 {
     return(new Sensor_Record()
     {
         pH = data.pH,
         Air_Humidity = data.Air_Humidity,
         Soil_Humidity = data.Soil_Humidity,
         Luminosity = data.Luminosity,
         Temperature = data.Temperature,
         Timestamp = data.Timestamp,
         Wind = data.Wind,
         Farm_ComponentId = data.Farm_ComponentId
     });
 }