Partager via


Adaptateur de périphérique humain

L’adaptateur de périphérique humain (HDA) est un moyen pratique d’interagir manuellement avec la plateforme de test Bluetooth (BTP), ce qui permet d’utiliser des appareils avec BTP qui n’ont pas encore été automatisés. Par exemple, le HDA permettrait d’interagir avec un casque acheté qui, sinon, n’a pas de moyen clair de se connecter à BTP. HdA permet de tester manuellement les utilisateurs entre un appareil Windows et votre matériel de prototypage sans utiliser de matériel externe, tel que Traduci. Par conséquent, tout ce qui est nécessaire pour configurer est un PC qui prend en charge Bluetooth et votre propre appareil de test.

Configuration HDA

Installez le logiciel comme décrit dans le programme d’installation du logiciel BTP pour prendre en charge HDA.

Fichier de configuration HDA

Créez un fichier de configuration nommé d’après votre appareil de test, par exemple : mytestdevice.txt. Le nom de fichier et l’extension ne sont pas importants. Le fichier de configuration doit contenir les informations suivantes :

name=myTestDevice
baseband=BR
br_address=B4:F1:DA:96:C0:A4

Tests d’appairage HDA

Accédez au dossier dans lequel le package logiciel BTP a été extrait, généralement C:\BTP. Les scripts se trouvent dans un sous-dossier du répertoire du package. Exécutez le script approprié pour l’environnement de commande souhaité :

Environnement de commandes Script
Invite de commandes avec élévation de privilèges RunPairingTests.bat HDA,conf_file=<configuration file name>
Console PowerShell avec élévation de privilèges RunPairingTests.ps1 HDA,conf_file=<configuration file name>

Le paramètre -VerboseLogs facultatif peut être ajouté pour fournir une sortie plus détaillée des opérations internes de BTP pour faciliter le débogage.

Appairage manuel HDA

  1. Le script demande si l’appareil a déjà été jumelé. Si vous répondez avec y, le script supprime l’association. Si vous répondez avec n, le processus continue sans action.

    Verify: SUCCEEDED(WEX::TestExecution::RuntimeParameters::TryGetValue(deviceParameterName.c_str(), deviceParametersStr)): Getting required runtime parameter 'central'
    [BluetoothTests::PairingTestsImpl::PairingTestsImpl]: Using central device named: MyCentralDevice
    [BluetoothTests::PairingTestsImpl::PairingTestsImpl]: Using peripheral device named: MyTestDevice
    [BluetoothTestHelpers::Pairing::Unpair]: Unpairing device with address B4F1DA96C0A4 from the device with address D83BBFAC35607
    [BluetoothTestHelpers::Pairing::Unpair]: Unpaired successfully
    [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Waiting for disconnection of device with address B4F1DA96C0A4
    [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Asserted: connectionModule.WaitForDisconnection(otherDeviceAddress, c_disconnectionAfterUnpairingTimeout)
    [BluetoothTestHelpers::Pairing::WaitForDisconnection]: Disconnected successfully
    Is MyTestDevice paired to the device with address D83BBFAC35607?
    Enter (y/n): y
    

    L’exemple suivant montre que le HDA supprime le couplage. Il vous invite également à supprimer toutes les informations de jumelage sur l’appareil (ici nommé « MyTestDevice »). Appuyez sur n’importe quelle touche pour continuer une fois que les informations de jumelage ont été supprimées.

    [BluetoothTestHelpers::Pairing::Unpair]: Unpairing device with address D83BBFAC35607 Public from the device with address D83BBFAC35607 Public
    If possible, delete the pairing on MyTestDevice
    Press any key to continue
    
  2. Le script commence ensuite le processus d’appairage en exécutant des vérifications, puis en invitant l’utilisateur à entrer son appareil (ici nommé « MyTestDevice ») en « Mode de jumelage de bandes ». Après avoir mis l’appareil en mode appairage, appuyez sur n’importe quelle touche pour continuer.

    StartGroup: BluetoothTests::TaefPairingTests::OutgoingJustWorksPairingTest
    [BluetoothTests::PairingTestsImpl::OutgoingJustWorksPairingTest]: Will attempt an outgoing pairing to the peripheral device and validate that a JustWorks ceremony was used
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: (originDeviceAssociationModule) != nullptr
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->CanInitiatePairing()
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->CanCheckPairingStatus()
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: !(originDeviceAssociationModule->IsPairedTo(destinationDeviceAddress))
    If not already, put MyTestDevice in BR pairing mode
    Press any key to continue . . .
    
  3. Le script lance le jumelage. Si l’appairage réussit, la sortie suivante s’affiche. Répondez aux notifications sur l’appareil ou sur le PC de test pour confirmer et terminer le jumelage. Le test vous invite ensuite à sortir l’appareil du mode d’appairage. Une fois que vous avez sorti l’appareil du mode d’appairage, appuyez sur n’importe quelle touche pour continuer.

    [BluetoothTestHelpers::Pairing::Pair]: Initiating pairing request from device with address D83BBFAC35607 to device with address B4F1DA96C0A4
    [BluetoothTestHelpers::Pairing::DefaultPairingCeremonyHandler::OnJustWorks]: JustWorks ceremony used
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: originDeviceAssociationModule->IsPairedTo(destinationDeviceAddress)
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: ceremonyHandler.GetLastCeremonyUsed().has_value()
    [BluetoothTestHelpers::Pairing::Pair]: Asserted: ceremonyHandler.GetLastCeremonyUsed().value() == expectedCeremony
    [BluetoothTestHelpers::Pairing::Pair]: Paired successfully
    If the device is in pairing mode, exit pairing mode if possible.
    Press any key to continue . . .
    
  4. Une fois le couplage terminé, le script continue sur les tests disponibles dans la suite de tests. La documentation sur les tests disponibles et leur exécution est disponible dans Tests BTP actuellement pris en charge

Capture de journal HDA

Si des problèmes sont rencontrés, les journaux Bluetooth peuvent être capturés en suivant les instructions de Busiotools pour Windows Repo sur GitHub pour la capture de journaux, ou en utilisant l’option -VerboseLogs de script lors du démarrage des tests.

Voir aussi