Je viens de recevoir ma première Microsoft Band et forcément je me suis empressé de vouloir tester la première preview du SDK que fournit Microsoft ! Je vais donc simplement prendre un capteur au hasard comme celui qui permet de lire la température de la peau !

Préambule
Notons que le SDK est dispo pour Windows Phone, android et ios. Pour Windows Phone vous devez avoir Visual Studio 2013 et il est compatible à partir de Windows Phone 8.1.
Cette preview du SDK est très simple est Microsoft dédie un site pour cela : http://developer.microsoftband.com/
En installant le SDK via le manager Nuget : clic droit sur la solution, (Gérer les packer Nugets ► Sélectionnez bien « Inclure la version préliminaire » sinon le SDK preview ne s’affichera pas ► rechercher « Microsoft band sdk » et installez le.
dans le Package.appxmanifest, sélectionner « Proximité »

Codons maintenant
Alors pas de chichi entre nous ! J’irais à l’essentiel :
Tout d’avoir il faut se connecter à votre Microsoft Band, démarrer le capture, le laisser reposer quelques instant, arrêter la mesure, et faire ce qu’on veut du résultat 🙂 Mes commentaires vous diront tout :
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
//liste "des bands" connecté ! et oui "Des..."
var pairedBands = await BandClientManager.Instance.GetBandsAsync();
try
{
// on se connecte à la première MSBand
using (var bandClient = await
BandClientManager.Instance.ConnectAsync(pairedBands[0]))
{
//toc toc, le capteur de T° est dispo ?
//et si à l'avenir MS sors une autre Band sans ce dernier hein
if (bandClient.SensorManager.SkinTemperature.IsSupported)
{
//Je m'abonne pour récupérer la température
bandClient.SensorManager.SkinTemperature.ReadingChanged
+= SkinTemperature_ReadingChanged;
//enfin je démarre le capture
await bandClient.SensorManager.SkinTemperature.StartReadingsAsync();
//le laisse faire son relevé pendant 5 secondes
await Task.Delay(TimeSpan.FromSeconds(5));
//et stop le relevé
await bandClient.SensorManager.SkinTemperature.StopReadingsAsync();
}
}
}
catch (BandException ex)
{
this.txtTemp.Text = "MSBand non connecté";
}
}
Dans l’évènement SkinTemperature_ReadingChanged que crée Visual Studio lorsque l’on s’y abonne, on récupère directement la température en degré Celcius. Si vous app est internationalisé, faudra pensé à la conversion en F° par exemple bien sûr.
async void SkinTemperature_ReadingChanged(object sender, Microsoft.Band.Sensors.BandSensorReadingEventArgs e)
{
var temperatureReading = e.SensorReading;
var temperature = string.Format("{0}°C", temperatureReading.Temperature);
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
this.txtTemp.Text = temperature;
}).AsTask();
}
Bon j’ai une MsBand et pourtant j’ai pas très chaud ! :

Regardez la doc, on peut commencer à faire pas mal de petite chose avec cette preview.

Une réflexion sur « Lire votre température corporelle avec la Microsoft Band »