2016-11-01 2 views
0

Par exemple, j'ai deux moniteurs de fréquence cardiaque jumelés à ma tablette PC. J'utilise ce code pour obtenir la liste des périphériques de gestion des ressources humaines:Comment accéder à deux services différents à partir du même périphérique

var devices = await Windows.Devices.Enumeration.DeviceInformation.FindAllAsync 
(
    GattDeviceService.GetDeviceSelectorFromUuid(GattServiceUuids.HeartRate) 
); 

J'affiche une liste dans l'interface graphique avec des noms de périphériques ont des appareils [i] .name. Par exemple, je sélectionner avec l'index 0. appareil Ensuite, je peux y avoir accès HR serivice et caractéristique de la GRH:

var service = await GattDeviceService.FromIdAsync(devices[0].Id); 
var characteristic = await service.GetCharacteristics(attCharacteristicUuids.HeartRateMeasurement); 

Avec la fréquence cardiaque I ont besoin d'un état de la batterie. Comment puis-je avoir accès au service de batterie du même appareil (déjà sélectionné)?

Répondre

0

Quelques informations avant de commencer:

Vous ne devez paire vos périphériques Bluetooth avec votre ordinateur, avant de pouvoir les numériser!

Listing your paired devices:

ListBox1.Items.Clear(); 

var devices = await DeviceInformation.FindAllAsync(RfcommDeviceService.GetDeviceSelector(RfcommServiceId.SerialPort)); 

foreach (var device in devices) 
{ 
    ListBox1.Items.Add(device); 
} 

Si vous voulez connaître la vie de la batterie de l'appareil Bluetooth:

How to get the battery level after connect to the BLE device?

Pour accéder à plusieurs services à la fois, vous devez "reconnecter" vers l'appareil:

Le périphérique A peut se connecter seulement un à la fois au service S sur le périphérique B. Le périphérique A peut se connecter au service S sur le périphérique B, C, D et E, etc. en même temps.

@alanjmcf

Source: Establishing multiple bluetooth SPPs at the same time

Mais ne pas confondre avec la méthode GetAllIncludedServices();, car il ne revient vraiment "services inclus". Comme une réponse a déclaré à :

Vous ne voulez probablement pas obtenir les "services inclus". Les services inclus sont un concept spécial dans BLE dont je doute que vous utilisez qui est utilisé pour lier un service d'un autre.

@Emil

+0

Les appareils sont appairés et il n'y a aucun problème avec liste des périphériques. Il n'y a pas non plus de problèmes pour obtenir une vie meilleure sans avoir la GRH. J'ai un problème avec l'accès aux deux services de périphérique sélectionné ONCE. –