Con Microsoft Band podemos realizar diferentes operaciones como las que listo a continuación:
En primer lugar, debemos comenzar por descargar el SDK para Microsoft Band desde este enlace donde podremos además encontrar ejemplos para Windows Phone, iOS y Android.
Lo que viene después es muy sencillo ya que el SDK ha sido bien trabajado por los desarrolladores de Microsoft y es muy simple conectarse y extraer información y con este código que os comparto, podréis conectaros a Microsoft Band, extraer la información de su versión de hardware y firmware y, además, suscribiros al sensor de pulsaciones y mostrar la información.
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
}
/// <summary>
/// Invoked when this page is about to be displayed in a Frame.
/// </summary>
/// <param name=»e»>Event data that describes how this page was reached.
/// This parameter is typically used to configure the page.</param>
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
var bandClient = await BandConnect();
if (bandClient != null)
{
var info = await GetBandVersion(bandClient);
if (info != null)
{
printInfo(info);
}
SubscribeSensorHeart(bandClient);
}
}
private void printInfo(List<string> info)
{
this.fversion.Text += info[0];
this.hversion.Text += info[1];
//throw new NotImplementedException();
}
protected async Task<IBandClient> BandConnect()
{
// Get a list of paired Bands
IBandInfo[] pairedBands = await BandClientManager.Instance.GetBandsAsync();
try
{
IBandClient bandClient = await BandClientManager.Instance.ConnectAsync(pairedBands[0]);
return bandClient;
}
catch (BandException ex)
{
return null;
}
//var bandManager = BandClientManager.Instance;
//var pairedBands = await bandManager.GetBandsAsync();
//if (pairedBands.Count() == 0)
// await Launcher.LaunchUriAsync(new Uri(«ms-settings-bluetooth:»));
}
protected async Task<List<string>> GetBandVersion(IBandClient bandClient)
{
var fwVersion = string.Empty;
var hwVersion = string.Empty;
try
{
var info = new List<string>();
fwVersion = await bandClient.GetFirmwareVersionAsync();
hwVersion = await bandClient.GetHardwareVersionAsync();
info.Add(fwVersion);
info.Add(hwVersion);
return info;
}
catch (BandException ex)
{
return null;
}
}
protected async void SubscribeSensorHeart(IBandClient bandClient)
{
if (bandClient.SensorManager.HeartRate.GetCurrentUserConsent() != UserConsent.Granted)
{
// user has not consented, request it
await bandClient.SensorManager.HeartRate.RequestUserConsentAsync();
}
// hook up to the Heartrate sensor ReadingChanged event
bandClient.SensorManager.HeartRate.ReadingChanged += HRReadingChange;
// start the Heartrate sensor
await bandClient.SensorManager.HeartRate.StartReadingsAsync();
}
private async void HRReadingChange(object sender, BandSensorReadingEventArgs<IBandHeartRateReading> e)
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
IBandHeartRateReading hrReading = e.SensorReading;
this.heartrate.Text = hrReading.HeartRate.ToString();
});
}
}
A partir de aquí, vuestra imaginación es el límite para poder explotar los datos que ofrece Microsoft Band
Este sitio web utiliza cookies para que tengas la mejor experiencia de usuario. Si continuas navegando, estás dando tu consentimiento para aceptar las cookies y también nuestra política de cookies (esperemos que no te empaches con tanta cookie 😊)