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
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
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 . . .
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 . . .
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.