Partilhar via


Adaptador para dispositivos humanos

O Adaptador de Dispositivo Humano (HDA) é uma forma do-itde interagir manualmente com a Plataforma de Teste Bluetooth (BTP), permitindo a utilização de dispositivos com BTP que ainda não foram automatizados. Por exemplo, o HDA tornaria possível interagir com um fone de ouvido comprado que, de outra forma, não tem uma maneira clara de se conectar ao BTP. O HDA permite o teste manual do usuário entre um dispositivo Windows e seu hardware de prototipagem sem o uso de hardware externo, como o Traduci. Como tal, tudo o que é necessário para configurar é um PC que suporte Bluetooth e o seu próprio dispositivo de teste.

Configuração de HDA

Instale o software conforme descrito em Configuração de software BTP para suportar o HDA.

Arquivo de configuração 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 onde 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 elevado RunPairingTests.bat HDA,conf_file=<configuration file name>
Console do PowerShell em modo elevado RunPairingTests.ps1 HDA,conf_file=<configuration file name>

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

Emparelhamento manual HDA

  1. O script pergunta se o dispositivo já 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 seguinte mostra o HDA eliminando o emparelhamento. Ele também solicita que você exclua qualquer informação de emparelhamento no dispositivo (aqui chamado "MyTestDevice"). Pressione qualquer tecla para continuar depois que qualquer informação de emparelhamento for excluída.

    [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. O script então inicia o processo de emparelhamento executando verificações e, em seguida, solicitando que o usuário insira seu dispositivo (aqui chamado "MyTestDevice") em "Band Pairing Mode". 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 PC 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. Após a conclusão do emparelhamento, o script prossegue para os testes disponíveis na suíte de testes. A documentação sobre os testes disponíveis e como executá-los pode ser encontrada em Testes BTP atualmente suportados

Captura de log HDA

Se forem encontrados problemas, os logs Bluetooth podem ser capturados seguindo as instruções em Busiotools for Windows Repo no GitHub for Log Capture ou usando a opção -VerboseLogs de script ao iniciar os testes.

Ver também