public async Task <IBandClient> ConnectToFirstBand()
        {
            // Get a list of the available bands in the form of IBandInfo[] then take the first one from the list.
            // We could also present the list to the user to choose a band.
            IBandInfo[] bands = await bandClientManager.GetBandsAsync();

            if (bands == null || bands.Length == 0)
            {
                return(null);
            }

            IBandInfo band = bands[0];

            return(await bandClientManager.ConnectAsync(band));
        }
示例#2
0
        private async Task SetupBandAsync()
        {
            // Use the fake band client manager
            IBandClientManager clientManager = GetBandClientManager();

            // --------------------------------------------------
            // set up Band SDK code to start reading HR values..
            var bands = await clientManager.GetBandsAsync();

            _bandInfo = bands.First();

            _bandClient = await clientManager.ConnectAsync(_bandInfo);

            await SetupSensorReadingAsync(_bandClient.SensorManager.HeartRate, async (obj, ev) =>
            {
                _hrArgs.Args = ev.SensorReading;
                var payload  = JsonConvert.SerializeObject(_hrArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });

            await SetupSensorReadingAsync(_bandClient.SensorManager.Gyroscope, async (obj, ev) =>
            {
                _gyroArgs.Args = ev.SensorReading;
                var payload    = JsonConvert.SerializeObject(_gyroArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });

            await SetupSensorReadingAsync(_bandClient.SensorManager.Accelerometer, async (obj, ev) =>
            {
                _accArgs.Args = ev.SensorReading;
                var payload   = JsonConvert.SerializeObject(_accArgs);
                using (var releaser = await _lockObj.LockAsync())
                {
                    await _socketWriter.WriteAsync(payload);
                }
            });
        }
示例#3
0
        public async Task <bool> LoadBands()
        {
            var ret = false;

            _bandManager = BandClientManager.Instance;
            _pairedBands = await _bandManager.GetBandsAsync();

            if (_pairedBands.Length == 0)
            {
                var md = new MessageDialog("no band connected");
                await md.ShowAsync();
            }
            else
            {
                await ConnectToBand();
                await GetBandInformation();

                ret = true;
            }
            return(ret);
        }
示例#4
0
 private async void MainPage_Loaded(object sender, RoutedEventArgs e)
 {
     _bandManager = BandClientManager.Instance;
     _pairedBands = await _bandManager.GetBandsAsync();
 }
示例#5
0
        private async void OnLoad(object sender, RoutedEventArgs e)
        {
            // Set up the fake bands
            FakeBandClientManager.Configure(new FakeBandClientManagerOptions
            {
                Bands = new List <IBandInfo>
                {
                    new FakeBandInfo(BandConnectionType.Bluetooth, "Fake Band 1"),
                    new FakeBandInfo(BandConnectionType.Bluetooth, "Fake Band 2"),
                }
            });

            // Use the fake band client manager
            IBandClientManager clientManager = FakeBandClientManager.Instance;

            // Microsoft Band SDK code
            var bands = await clientManager.GetBandsAsync();

            var bandInfo = bands.First();

            var bandClient = await FakeBandClientManager.Instance.ConnectAsync(bandInfo);

            var meTile = await bandClient.PersonalizationManager.GetMeTileImageAsync();

            PersonalizationView.PersonalizationViewModel.MeTile = meTile.ToWriteableBitmap();

            var theme = await bandClient.PersonalizationManager.GetThemeAsync();

            Mapper.Map(theme, ThemeView.BandThemeViewModel);

            await StartSensor(bandClient, bandClient.SensorManager.HeartRate, ev =>
            {
                Mapper.Map(ev.SensorReading, HeartRateView.HeartRateViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.Altimeter, ev =>
            {
                Mapper.Map(ev.SensorReading, AltimeterView.AltimeterViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.AmbientLight, ev =>
            {
                Mapper.Map(ev.SensorReading, AmbientLightView.AmbientLightViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.Accelerometer, ev =>
            {
                Mapper.Map(ev.SensorReading, AccelerometerView.AccelerometerViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.Calories, ev =>
            {
                Mapper.Map(ev.SensorReading, CaloriesView.BandCaloriesViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.Contact, ev =>
            {
                Mapper.Map(ev.SensorReading, ContactView.BandDeviceContactViewModel);
            });

            await StartSensor(bandClient, bandClient.SensorManager.Distance, ev =>
            {
                Mapper.Map(ev.SensorReading, DistanceView.BandDistanceViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.Gsr, ev =>
            {
                Mapper.Map(ev.SensorReading, GsrView.GsrViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.Gyroscope, ev =>
            {
                Mapper.Map(ev.SensorReading, GyroView.GyroViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.Pedometer, ev =>
            {
                Mapper.Map(ev.SensorReading, PedometerView.BandPedometerViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.RRInterval, ev =>
            {
                Mapper.Map(ev.SensorReading, RRIntervalView.BandRRIntervalViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.SkinTemperature, ev =>
            {
                Mapper.Map(ev.SensorReading, SkinTemperatureView.BandSkinTemperatureViewModel);
            });
            await StartSensor(bandClient, bandClient.SensorManager.UV, ev =>
            {
                Mapper.Map(ev.SensorReading, UVView.BandUVViewModel);
            });
        }