locked
Universal Windows - Erreur lors de la récupération des services d'un périphérique Bluetooth 4 BLE RRS feed

  • Discussion générale

  • Bonjour,

    J'ai besoins d’interroger des services d'un périphérique BLE via une application Windows phone 10.

     Pour le moment j'arrive bien a avoir mon device.

    Mais lorsque je fait :

    var service = await GattDeviceService.FromIdAsync(device.DeviceId) -> j'ai une erreur System.Exception Element not found.

    Je n'arrive pas a comprendre d'ou viens le problème puisque mon device m'ai retourné par un watcher et que la méthode est appelé qu'au moment ou le device passe en statut connected.

    Si je ne passe pas par cette étape et que je veux faire cela :

    var result = (await TXPower.ReadValueAsync(BluetoothCacheMode.Uncached)); 

    Erreur : ArgumentException : value does not fall within the expected range.

    Mais si je fait :

    var result = (await TXPower.ReadValueAsync(BluetoothCacheMode.Cached)); 

    J'ai bien une valeur, mais j'aimerai avoir la valeur au moment de l'appel et pas une qui date de ...  

    Si vous avez des pistes à me proposer, je suis preneur de toute idée.

    Merci

    nicolas

    vendredi 23 octobre 2015 14:17

Toutes les réponses

  • Bonjour, Nicolas Lurvois,

    Veuilez consulter l'article en bas:
    GattDeviceService.FromIdAsync | fromIdAsync method
    Je vous remercie par avance de votre retour.

    Cordialement,
    Teodora


    Votez! Appel à la contribution TechNet Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    lundi 26 octobre 2015 13:54
  • Bonjour,

    J'avais fait un test en ajoutant dans le Package.appxmanifest :

    <DeviceCapability Name="bluetooth" >
          <Device  Id="any">
            <Function Type="name:battery"/>
          </Device>
        </DeviceCapability>

    Mais a ce moment la, j'ai une erreur au deployment sur le device

    Error : DEP0001 : Unexpected Error: Package could not be registered. (Exception from HRESULT: 0x80073CF6)

    lundi 26 octobre 2015 15:47
  • La solution :

    <DeviceCapability Name="bluetooth.genericAttributeProfile" >

    mercredi 28 octobre 2015 13:43
  • Finalement j'ai toujours un problème

    dans le Package.appxmanifest :

    Avec <Function Type="name:battery"/>

    j'arrive bien a faire : device.GetGattService(GattServiceUuids.Battery);

    par contre si j'ajoute 

    <!-- Immediate alerte-->
     <Function Type="serviceId:1802" /> ou <Function Type="serviceId:00001802-0000-1000-8000-00805f9b34fb"/>

    ceci ne fonctionne pas (element not found):

     device.GetGattService(new Guid("00001802-0000-1000-8000-00805f9b34fb"));

    ou 

     device.GetGattService(GattServiceUuids.ImmediateAlert);

    Pourtant mon device à bien le service dans ca liste, vérifier par :

    bleDevice.GattServices

    Quelqu'un a t'il réussi a faire fonctionner l'immediate alert, j'ai peut être oublié un paramètre ou de précisé la caractéristique cible ?

    Merci d'avance


    vendredi 30 octobre 2015 09:23