2015-11-24 1 views
1

Je développe une application qui utilise un moniteur de fréquence cardiaque Polar H7. J'ai d'abord eu quelques problèmes avec la découverte de ses services parce que j'obtiendrais un gros objet et les codes hexadécimaux ne signifiaient rien pour moi.Polar H7 service et caractéristiques non résolus (à quoi servent-ils?)

Maintenant, j'ai résolu presque tous les services et les caractéristiques, mais il y en a certains que je n'ai pas encore compris.

Voici un objet simplifié contenant le service/de characteristicUuid et leur nom/fonctionnalité:

// first layer keys are serviceUuid's 
// second layer keys are characteristicUuid's 
// with their respective name/description as values 
{ 
"1800" /* Generic Access */      : { 
    "2a00": "Device Name", 
    "2a01": "Appearance", 
    "2a02": "Peripheral Privacy Flag", 
    "2a03": "Reconnection Address", 
    "2a04": "Peripheral Preferred Connection Parameters" 
}, 
"1801" /* Generic Attribute */     : { 
    "2a05": "Service Changed" 
}, 
"180d" /* Heart Rate */       : { 
    "2a37": "Heart Rate Measurement", 
    "2a38": "Body Sensor Location" 
}, 
"180a" /* Device Information */     : { 
    "2a23": "System ID", 
    "2a24": "Model Number String", 
    "2a25": "Serial Number String", 
    "2a26": "Firmware Revision String", 
    "2a27": "Hardware Revision String", 
    "2a28": "Software Revision String", 
    "2a29": "Manufacturer Name String" 
}, 
"180f" /* Battery Service */      : { 
    "2a19": "Battery Level" 
}, 
"6217ff4b-fb31-1140-ad5a-a45545d7ecf3" /* unknown */: { 
    "6217ff4c-c8ec-b1fb-1380-3ad986708e2d": "unknown", /* read:true */ // value = uInt16Array [3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
    "6217ff4d-91bb-91d0-7e2a-7cd3bda8a1f3": "unknown" /* write:true, indicate:true, descriptors:{ descriptorUuid: "2902" }*/ 
}} 

je ne pouvais pas trouver de la documentation pour la dernière serviceUuid et il est characteristicUuid de. Je ne sais pas ce qui me manque donc je ne peux pas dire si cela a de l'importance pour mon projet.

+0

Vous devriez vous attendre à des choses inconnues et juste l'ignorer. Vous obtenez des trucs de type mise à jour FW et des trucs de type test typiquement que vous voulez être capable de faire n'importe quoi sans les détails du fabricant. – Ifor

Répondre

1

Ceux avec lesquels vous n'êtes pas familier sont des UUID spécifiques aux fournisseurs. Vendors can define their own custom UUID's

Elles peuvent ou non être importantes pour votre projet, en fonction de ce que vous souhaitez extraire de l'appareil. Si c'est juste la fréquence cardiaque qui vous intéresse, cela ne devrait poser aucun problème et vous pouvez suivre le Bluetooth standard pour cela. Il peut y avoir des données supplémentaires dans ces UUID personnalisés que vous souhaitez extraire.

L'extraction de données à partir de ces UUID spécifiques à un fournisseur est cependant une question d'essai et d'erreur, à moins que vous ne puissiez obtenir les spécifications du fournisseur lui-même.