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 »