Udostępnij przez


Adapter urządzenia dla człowieka

Karta Human Device Adapter (HDA) to do-it— sposób ręcznej interakcji z platformą testową Bluetooth (BTP), umożliwiając korzystanie z urządzeń z usługą BTP, które nie zostały jeszcze zautomatyzowane. Na przykład usługa HDA umożliwiłaby interakcję z zakupionym zestawem słuchawkowym, który w przeciwnym razie nie ma jasnego sposobu nawiązywania połączenia z usługą BTP. Usługa HDA umożliwia ręczne testowanie użytkowników między urządzeniem z systemem Windows i sprzętem do tworzenia prototypów bez użycia sprzętu zewnętrznego, takiego jak Traduci. W związku z tym wszystko, co jest wymagane do skonfigurowania, to komputer obsługujący połączenie Bluetooth i własne urządzenie testowe.

Konfigurowanie usługi HDA

Zainstaluj oprogramowanie zgodnie z opisem w temacie Konfiguracja oprogramowania BTP w celu obsługi usługi HDA.

Plik konfiguracji usługi HDA

Utwórz plik konfiguracji o nazwie po urządzeniu testowym, na przykład: mytestdevice.txt. Nazwa pliku i rozszerzenie nie są ważne. Plik konfiguracji powinien zawierać następujące informacje:

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

Testy parowania HDA

Przejdź do folderu, w którym wyodrębniono pakiet oprogramowania BTP, zazwyczaj C:\BTP. Skrypty znajdują się w podfolderze katalogu pakietów. Uruchom odpowiedni skrypt dla żądanego środowiska poleceń:

Środowisko poleceń Skrypt
Wiersz polecenia z podwyższonym poziomem uprawnień RunPairingTests.bat HDA,conf_file=<configuration file name>
Konsola programu PowerShell z podwyższonym poziomem uprawnień RunPairingTests.ps1 HDA,conf_file=<configuration file name>

Opcjonalny parametr -VerboseLogs można dodać, aby uzyskać bardziej szczegółowe dane wyjściowe dotyczące operacji wewnętrznych BTP, aby ułatwić debugowanie.

Ręczne parowanie HDA

  1. Skrypt pyta, czy urządzenie było wcześniej sparowane. Jeśli odpowiesz na y, skrypt usunie parowanie. Jeśli odpowiesz „n”, proces będzie kontynuowany bez żadnych działań.

    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
    

    W poniższym przykładzie pokazano, jak usługa HDA usuwa parowanie. Zostanie również wyświetlony monit o usunięcie wszelkich informacji dotyczących parowania na urządzeniu (tutaj o nazwie "MyTestDevice"). Naciśnij dowolny klawisz, aby kontynuować po usunięciu jakichkolwiek informacji dotyczących parowania.

    [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. Następnie skrypt rozpoczyna proces parowania, uruchamiając testy, a następnie prosząc użytkownika o ustawienie urządzenia (tutaj o nazwie "MyTestDevice") w trybie parowania Band. Po umieszczeniu urządzenia w trybie parowania naciśnij dowolny klawisz, aby kontynuować.

    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. Skrypt inicjuje parowanie. Jeśli parowanie zakończy się pomyślnie, zobaczysz następujące dane wyjściowe. Odpowiedz na wszelkie powiadomienia na urządzeniu lub na komputerze testowym, aby potwierdzić i zakończyć parowanie. Następnie test wyświetla monit o wyjęcie urządzenia z trybu parowania. Po wyjęciu urządzenia z trybu parowania naciśnij dowolny klawisz, aby kontynuować.

    [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. Po zakończeniu parowania skrypt kontynuuje testy dostępne w zestawie testów. Dokumentacja dotycząca dostępnych testów i sposobu ich uruchamiania można znaleźć w artykule Obecnie obsługiwane testy BTP

Przechwytywanie dziennika usługi HDA

Jeśli napotkane zostaną problemy, dzienniki Bluetooth można przechwycić, postępując zgodnie z instrukcjami w repozytorium Busiotools for Windows na GitHub w sekcji dotyczącej przechwytywania dzienników lub używając opcji -VerboseLogs skryptu podczas uruchamiania testów.

Zobacz także