コード例 #1
0
        public SensorsPage(BandDeviceInfo info, BandClient bandClient)
            : base(info, bandClient)
        {
            InitializeComponent();

            ViewModel = new SensorsViewModel(BandInfo, BandClient);
        }
コード例 #2
0
 public SensorsPage(BandDeviceInfo info, BandClient bandClient)
     : base(info, bandClient)
 {
     InitializeComponent();
     
     ViewModel = new SensorsViewModel(BandInfo, BandClient);
 }
コード例 #3
0
        //public double GetTankHeight()
        //{
        //    return database.Table<TankLevel>().FirstOrDefault().Height;
        //}

        public void SetSensorValues(SensorsViewModel model)
        {
            database.Insert(new SensorsData()
            {
                Temperature = model.Temperature,
                Humidity    = model.Humidity,
                TankLevel   = model.TankLevel,
                Time        = model.Time
            });
        }
コード例 #4
0
        public async Task <IActionResult> Sensors()
        {
            var sensor = await _sensorService.GetSensorsAsync();

            var model = new SensorsViewModel()
            {
                Sensors = sensor
            };

            ViewData["Message"] = "Sensors page.";

            return(View(model));
        }
コード例 #5
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible;
            SystemNavigationManager.GetForCurrentView().BackRequested += DevicePage_BackRequested;

            var device = e.Parameter as DeviceInformation;

            viewModel = new SensorsViewModel(device);
            viewModel.StartReceivingData();

            this.DataContext = viewModel;

            base.OnNavigatedTo(e);
        }
コード例 #6
0
        public async Task <IEnumerable <SensorsViewModel> > GetAllSensorsForUserAsync(string userId)
        {
            var sensorsOfUser = await _sensorsRepository.GetAllSensorsForUserAsync(userId);

            var sensors = new List <SensorsViewModel>();

            foreach (var userSensor in sensorsOfUser.UserSensors)
            {
                var sensor = new SensorsViewModel()
                {
                    MacAddress = userSensor.Sensor.MacAddress,
                    Name       = userSensor.Sensor.Name,
                    Location   = userSensor.Sensor.Location,
                    SensorData = userSensor.Sensor.SensorData,
                };
                sensors.Add(sensor);
            }

            return(sensors);
        }
コード例 #7
0
        public SensorWindow()
        {
            InitializeComponent();

            DataContext = sensorsViewModel = new SensorsViewModel(this);
        }
コード例 #8
0
        //Constructor for multiple sensor window
        public Graph(SensorsViewModel svm, SensorWindow sw, string identifier, LineSeries lineSeries)
        {
            //Get queue based on identifier
            incomingQueue       = Mqtt.GetIncomingQueue();
            this.sensorWindow   = sw;
            this.windowToPlotOn = sw;
            this.svm            = svm;
            LineSeries          = lineSeries;
            this.identifier     = identifier;

            if (identifier == "xacceleration" || identifier == "yacceleration" || identifier == "zacceleration")
            {
                identifier_top = "acceleration";
                topic          = new string[] { identifier_top };
            }
            else if (identifier == "pitch" || identifier == "yaw" || identifier == "roll")
            {
                identifier_top = "orientation";
                topic          = new string[] { identifier_top };
            }

            svm.Title = SetTitle(identifier);
            Mqtt.Subscribe(topic);

            switch (identifier)
            {
            case Topic.XAccTopic:
                sensorWindow.accXChart.Series.Add(LineSeries);
                LineSeries.Title = "AccX";
                break;

            case Topic.YAccTopic:
                sensorWindow.accYChart.Series.Add(LineSeries);
                LineSeries.Title = "AccY";
                break;

            case Topic.ZAccTopic:
                sensorWindow.accZChart.Series.Add(LineSeries);
                LineSeries.Title = "AccZ";
                break;

            case Topic.RollTopic:
                sensorWindow.rollChart.Series.Add(LineSeries);
                LineSeries.Title = "Roll";
                break;

            case Topic.PitchTopic:
                sensorWindow.pitchChart.Series.Add(LineSeries);
                LineSeries.Title = "Pitch";
                break;

            case Topic.YawTopic:
                sensorWindow.yawChart.Series.Add(LineSeries);
                LineSeries.Title = "Yaw";
                break;

            default:
                break;
            }

            Run();
        }