Auf Englisch lesen

Freigeben über


Adapter für menschliche Geräte

Der HdA-Adapter (Human Device Adapter) ist eine Do-it-yourself-Methode für die manuelle Interaktion mit der Bluetooth Test Platform (BTP) und ermöglicht die Verwendung von Geräten mit BTP, die noch nicht automatisiert wurden. Beispielsweise würde der HDA die Interaktion mit einem erworbenen Headset ermöglichen, das andernfalls keine klare Möglichkeit zum Herstellen einer Verbindung mit BTP hat. Der HDA ermöglicht manuelle Benutzertests zwischen einem Windows-Gerät und Ihrer Prototyping-Hardware ohne die Verwendung externer Hardware, z. B. Traduci. Daher ist für die Einrichtung nur ein PC erforderlich, der Bluetooth und Ihr eigenes Testgerät unterstützt.

HDA-Einrichtung

Installieren Sie die Software wie unter BTP-Softwaresetup beschrieben, um hda zu unterstützen.

HDA-Konfigurationsdatei

Erstellen Sie eine Konfigurationsdatei namens nach Ihrem Testgerät, z. B .:mytestdevice.txt. Der Dateiname und die Erweiterung sind nicht wichtig. Die Konfigurationsdatei sollte die folgenden Informationen enthalten:

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

HDA-Kopplungstests

Navigieren Sie zu dem Ordner, in dem das BTP-Softwarepaket extrahiert wurde, in der Regel C:\BTP. Die Skripts befinden sich in einem Unterordner des Paketverzeichnisses. Führen Sie das entsprechende Skript für die gewünschte Befehlsumgebung aus:

Befehlsumgebung Skript
Eingabeaufforderung mit erhöhten Rechten RunPairingTests.bat HDA,conf_file=<configuration file name>
PowerShell-Konsole mit erhöhten Rechten RunPairingTests.ps1 HDA,conf_file=<configuration file name>

Der optionale Parameter -VerboseLogs kann hinzugefügt werden, um eine ausführlichere Ausgabe der inneren Vorgänge von BTP bereitzustellen, um das Debuggen zu unterstützen.

Manuelle HDA-Kopplung

  1. Das Skript fragt, ob das Gerät zuvor gekoppelt wurde. Wenn Sie mit y antworten, löscht das Skript die Kopplung. Wenn Sie mit n antworten, wird der Prozess ohne Aktion fortgesetzt.

    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
    

    Das folgende Beispiel zeigt, wie der HDA die Kopplung löscht. Außerdem werden Sie aufgefordert, alle Kopplungsinformationen auf dem Gerät zu löschen (hier mit dem Namen "MyTestDevice"). Drücken Sie eine beliebige Taste, um fortzufahren, nachdem alle Kopplungsinformationen gelöscht wurden.

    [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. Das Skript beginnt dann mit dem Kopplungsprozess, indem Es Überprüfungen ausführt und den Benutzer dann auffordert, sein Gerät (hier mit dem Namen "MyTestDevice") in den "Bandkopplungsmodus" einzugeben. Nachdem Sie das Gerät in den Kopplungsmodus versetzt haben, drücken Sie eine beliebige Taste, um fortzufahren.

    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. Das Skript initiiert die Kopplung. Wenn die Kopplung erfolgreich ist, wird die folgende Ausgabe angezeigt. Reagieren Sie auf alle Benachrichtigungen auf dem Gerät oder auf dem Test-PC, um die Kopplung zu bestätigen und abzuschließen. Der Test fordert Sie dann auf, das Gerät aus dem Kopplungsmodus zu entfernen. Nachdem Sie das Gerät aus dem Kopplungsmodus versetzt haben, drücken Sie eine beliebige Taste, um den Vorgang fortzusetzen.

    [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. Nach Abschluss der Kopplung wird das Skript mit den in der Testsammlung verfügbaren Tests fortgesetzt. Dokumentation zu verfügbaren Tests und deren Ausführung finden Sie unter Derzeit unterstützte BTP-Tests.

HDA-Protokollerfassung

Wenn Probleme auftreten, können Bluetooth-Protokolle erfasst werden, indem Sie die Anweisungen unter Busiotools für Windows Repo auf GitHub für die Protokollerfassung befolgen oder beim Starten der Tests die Skriptoption -VerboseLogs verwenden.

Siehe auch