Compartilhar via


Adaptador de dispositivo humano

O HDA (Adaptador de Dispositivo Humano) é uma maneira de interagir manualmente com a BTP (Plataforma de Teste Bluetooth), permitindo o uso de dispositivos com BTP que ainda não foram automatizados. Por exemplo, o HDA possibilitaria interagir com um headset comprado que, de outra forma, não tem uma maneira clara de se conectar ao BTP. O HDA permite o teste manual de usuário entre um dispositivo Windows e o hardware de prototipagem sem o uso de hardware externo, como Traduci. Dessa forma, tudo o que é necessário para configurar é um computador que dá suporte a Bluetooth e seu próprio dispositivo de teste.

Configuração do HDA

Instale o software conforme descrito na Instalação de Software BTP para dar suporte ao HDA.

Arquivo de configuração do HDA

Crie um arquivo de configuração com o nome do dispositivo de teste, por exemplo: mytestdevice.txt. O nome do arquivo e a extensão não são importantes. O arquivo de configuração deve conter as seguintes informações:

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

Testes de emparelhamento HDA

Navegue até a pasta em que o pacote de software BTP foi extraído, normalmente C:\BTP. Os scripts estão em uma subpasta do diretório do pacote. Execute o script apropriado para o ambiente de comando desejado:

Ambiente de comando Script
Prompt de comando com privilégios elevados RunPairingTests.bat HDA,conf_file=<configuration file name>
Console do PowerShell com privilégios elevados RunPairingTests.ps1 HDA,conf_file=<configuration file name>

O parâmetro -VerboseLogs opcional pode ser adicionado para fornecer uma saída mais detalhada das operações internas do BTP para ajudar na depuração.

Emparelhamento manual do HDA

  1. O script pergunta se o dispositivo foi emparelhado antes. Se você responder com y, o script excluirá o emparelhamento. Se você responder com n, o processo continuará sem nenhuma ação.

    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
    

    O exemplo a seguir mostra o HDA excluindo o emparelhamento. Ele também solicita que você exclua todas as informações de emparelhamento no dispositivo (aqui chamado "MyTestDevice"). Pressione qualquer tecla para continuar depois que todas as informações de emparelhamento forem excluídas.

    [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. Em seguida, o script inicia o processo de emparelhamento executando verificações e, em seguida, solicitando que o usuário insira seu dispositivo (aqui chamado "MyTestDevice") em "Modo de Emparelhamento de Banda ". Depois de colocar o dispositivo no modo de emparelhamento, pressione qualquer tecla para continuar.

    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. O script inicia o emparelhamento. Se o emparelhamento for bem-sucedido, você verá a saída a seguir. Responda a quaisquer notificações no dispositivo ou no computador de teste para confirmar e concluir o emparelhamento. Em seguida, o teste solicita que você tire o dispositivo do modo de emparelhamento. Depois de tirar o dispositivo do modo de emparelhamento, pressione qualquer tecla para continuar.

    [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. Depois que o emparelhamento for concluído, o script continuará nos testes disponíveis no conjunto de testes. A documentação sobre testes disponíveis e como executá-los pode ser encontrada em testes BTP com suporte no momento

Captura de log do HDA

Se forem encontrados problemas, os logs de Bluetooth poderão ser capturados logs bluetooth seguindo instruções em Busiotools para Repositório windows no GitHub para Captura de Log ou usando a opção -VerboseLogs de script ao iniciar os testes.

Confira também