26 avril 2024
IoT

Lire votre température corporelle avec la Microsoft Band

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 !
temperature-microsoft-band

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é »

proximite

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 ! :
wp_ss_20150428_0003

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 »

Laisser un commentaire