private async void SkinTemperature_ReadingChanged(object sender, BandSensorReadingEventArgs <IBandSkinTemperatureReading> e)
        {
            IBandSkinTemperatureReading temperatureReading = e.SensorReading;
            string text = string.Format("Temperature: {0}C", temperatureReading.Temperature);
            await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { this.textBlock.Text = text; }).AsTask();

            //if (tilesRemaining > 0)
            //    await bandClientCopy.NotificationManager.SendMessageAsync(Guid.Parse(tileId), text, "Your temperature reading has been taken.", DateTimeOffset.Now, MessageFlags.ShowDialog);
        }
Exemplo n.º 2
0
        public BandSkinTemperatureSensorReadingChangedEventArgs(IBandSkinTemperatureReading sensorReading)
        {
            if (sensorReading == null)
            {
                throw new ArgumentNullException("sensorReading");
            }

            this.SensorReading = sensorReading;
        }
Exemplo n.º 3
0
        private void SkinTemperature_ReadingChanged(object sender, BandSensorReadingEventArgs <IBandSkinTemperatureReading> e)
        {
            IBandSkinTemperatureReading skinTempRead = e.SensorReading;

            data.temperature = skinTempRead.Temperature;
        }
Exemplo n.º 4
0
        private async void ButtonRun_Click(object sender, RoutedEventArgs e)
        {
            if (IsRunning)
            {
                return;
            }
            else
            {
                IsRunning = true;
            }

            try
            {
                this.ButtonRun.IsEnabled = false;
                this.StatusMessage.Text  = "";

                // Get the list of Microsoft Bands paired to the phone.
                IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();

                if (pairedBands.Length < 1)
                {
                    this.StatusMessage.Text = "Connect To Microsoft Band Please";
                    return;
                }

                // Connect to Microsoft Band.
                using (IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]))
                {
                    if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted)
                    {
                        await bandClient.SensorManager.HeartRate.RequestUserConsentAsync();
                    }

                    int samplesReceivedHR = 0; // the number of HeartRate samples received
                    int samplesReceivedST = 0; // the number of SkinTemperature samples received
                    int samplesReceivedUV = 0; // the number of UV samples received


                    // Subscribe to HeartRate data.
                    bandClient.SensorManager.HeartRate.ReadingChanged += (s, args) =>
                    {
                        samplesReceivedHR++;
                        IBandHeartRateReading readings = args.SensorReading;
                        CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                        {
                            this.txtHR.Text = readings.HeartRate.ToString() + " [" + readings.Quality.ToString() + "]";
                        });
                    };
                    await bandClient.SensorManager.HeartRate.StartReadingsAsync();



                    // Subscribe to SkinTemperature data.
                    bandClient.SensorManager.SkinTemperature.ReadingChanged += (s, args) =>
                    {
                        samplesReceivedST++;
                        IBandSkinTemperatureReading readings = args.SensorReading;
                        CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                        {
                            this.txtSkinTemp.Text = readings.Temperature.ToString();
                        });
                    };
                    await bandClient.SensorManager.SkinTemperature.StartReadingsAsync();

                    // Subscribe to UV data.
                    bandClient.SensorManager.UV.ReadingChanged += (s, args) =>
                    {
                        samplesReceivedUV++;
                        IBandUVReading readings = args.SensorReading;
                        CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
                        {
                            this.txtUV.Text = readings.IndexLevel.ToString();
                        });
                    };
                    await bandClient.SensorManager.UV.StartReadingsAsync();

                    // Receive sensor data for a while
                    await Task.Delay(TimeSpan.FromSeconds(10));

                    // Stop the sensor subscriptions
                    await bandClient.SensorManager.Accelerometer.StopReadingsAsync();

                    await bandClient.SensorManager.Calories.StopReadingsAsync();

                    await bandClient.SensorManager.Contact.StopReadingsAsync();

                    await bandClient.SensorManager.Distance.StopReadingsAsync();

                    await bandClient.SensorManager.Gyroscope.StopReadingsAsync();

                    await bandClient.SensorManager.HeartRate.StopReadingsAsync();

                    await bandClient.SensorManager.Pedometer.StopReadingsAsync();

                    await bandClient.SensorManager.SkinTemperature.StopReadingsAsync();

                    await bandClient.SensorManager.UV.StopReadingsAsync();

                    this.StatusMessage.Text = string.Format("Done.\n {0} HeartRate samples received.\n {1} SkinTemperature samples received.\n {2} UV samples received.", samplesReceivedHR, samplesReceivedST, samplesReceivedUV);
                }
            }
            catch (Exception ex)
            {
                this.StatusMessage.Text = ex.ToString();
            }
            IsRunning = false;
            this.ButtonRun.IsEnabled = true;
        }
Exemplo n.º 5
0
 public static SkinTempReading FromBandSensor(IBandSkinTemperatureReading reading)
 {
     return new SkinTempReading
     {
         Temperature = reading.Temperature,
         Timestamp = reading.Timestamp
     };
 }
Exemplo n.º 6
0
 string FormatSkin(IBandSkinTemperatureReading reading) =>
 $"Temperature: {reading.Temperature:F2}";