public async Task <string> PostAsync([FromBody] SensorData data)
        {
            data.Optimize();

            await HubContext.Clients.All.SendAsync("PushSensorData", data);

            using (appDB)
            {
                SensorDataRepository Srepo = new SensorDataRepository(appDB);
                await Srepo.InsertAsync(data);

                if (data.SoilMoisture > 50)
                {
                    Models.Action act = new Models.Action()
                    {
                        Text = "Farm will need water soon ",
                        Act  = 4
                    };

                    if (data.SoilMoisture > 70)
                    {
                        act.Text = "farm needs watering ";
                        act.Act  = 3;
                    }
                    ActionRepository repo = new ActionRepository(appDB);
                    await repo.InsertAsync(act);
                }
            }

            return("OK");
        }
Пример #2
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            IMainView mainView = new MainView();

            IArduinoAccess     arduinoAccess     = new ArduinoAccess();
            IWateringScheduler wateringScheduler = new WateringScheduler(arduinoAccess);

            IHttpClient          httpClient           = new DefaultHttpClient();
            ForecastDataServices forecastDataServices = new ForecastDataServices(httpClient, wateringScheduler);

            ISensorDataRepository sensorDataRepository = new SensorDataRepository();

            ISensorDataServices sensorDataServices = new SensorDataServices(sensorDataRepository, arduinoAccess, wateringScheduler);

            IMainPresenter mainPresenter = new MainPresenter(mainView, wateringScheduler,
                                                             sensorDataServices, forecastDataServices);

            Application.Run((MainView)mainView);

            forecastDataServices.StopTimer();
            sensorDataServices.StopTimer();
        }
Пример #3
0
        public async Task ListenDataFromSensor(TelemetryDynamic sensorData)
        {
            sensorData.TimeToSend.ToUniversalTime().ToString("u");
            DataFromSensor.Add(sensorData);
            await SensorDataRepository.Add(sensorData, Token);

            _logger.Info($"Sensor with MAC: {sensorData.Data.MACSensor} has sent " + sensorData.Data.Value);
        }
 public async Task <List <SensorData> > getSensorData(DateTime date)
 {
     using (appDB)
     {
         //DateTime dt = Convert.ToDateTime(date.ToString("yyyy-dd-MM"));
         SensorDataRepository repo = new SensorDataRepository(appDB);
         return(await repo.TelemetryAsync(date));
     }
 }
        public SensorDataService()
        {
            _sensorDataRepository = new SensorDataRepository();
            _settingsRepository   = new SettingsRepository();

            _logger     = LogManager.GetCurrentClassLogger();
            _heights    = new List <int>();
            _serialPort = new SerialPort();

            _timer = new System.Timers.Timer();

            _timer.Elapsed           += _timer_Elapsed;
            _serialPort.DataReceived += serialPort1_DataReceived;
        }
 public SensorDataAggregation()
 {
     _settings   = new SettingsRepository();
     _repository = new SensorDataRepository();
     Reload();
 }
Пример #7
0
 public SensorDataService(SensorDataRepository sensorDataRepository)
 {
     _sensorDataRepository = sensorDataRepository;
 }
Пример #8
0
 public SensorDataService(string username, string password)
 {
     repo = new SensorDataRepository(username, password);
 }