用于近场通信 (NFC) 的 Hardware Lab Kit (HLK)

用于 NFC 的 HLK 验证 NFC 驱动程序实现是否符合 Microsoft 规范。 虽然测试可以手动运行,但为了对 HLK NFC 测试套件进行更快、更可靠的自动化测试,建议合作伙伴获取 NFC 互操作性测试工具 (NITT)。

NITT 模拟 1、2、3 和 4 类 NFC 论坛标签。 NITT 有一个机械臂,可以移动射频屏蔽,模拟点对点场景和卡仿真场景的触碰/取消触碰操作。 下图演示了 NITT 设置。

具有可以移动射频屏蔽的机械臂的 NITT 照片

NITT 由 7.5v 的外部电源供电,并连接到客户端电脑。

若要获取 NITT,请使用以下联系信息:

JJG Technologies LLC
1034 231st Pl NE
Sammamish, WA 98074 
Phone: (206) 304-1921 Fax: (208) 298-0623
inquiry@jjgtechnologies.com

设置 HLK 测试框架后:

硬件要求

  • 搭载 NFC 芯片的设备(称为受测设备 (DUT)),用于实现 NFC 驱动程序 DDI 并接受符合性测试
  • 带 USB 端口的台式电脑(电脑客户端)
  • 连接到电脑客户端的 NITT 板(如果有)
  • 搭载 NFC 芯片的设备,用于实现近场邻近感应 DDI(NFC 客户端)
  • 连接到电脑客户端的智能卡读卡器(通过 USB 或嵌入在电脑客户端中)

注意

电脑客户端需要安装通用 C 运行时。 此包可直接从 Microsoft 下载中心获得。

测试执行

运行测试前的准备工作

  • 确保将 HLK 客户端部署到 DUT。
  • 将 DUT 放在 NITT 板 NFC 天线的顶部。
  • 根据要运行的测试,将 NFC 客户端或智能卡读卡器放在 NFC 天线和 NITT 的射频屏蔽下方。
  • 确保电脑客户端安装了通用 C 运行时。
  • 确保 DUT、NFC 客户端和电脑客户端具有网络连接。 如果 DUT 或 NFC 客户端是手机,需要使用虚拟以太网工具才能连接到手机。

HLK Studio/控制器在 DUT 上部署和运行测试用例,但需要测试人员的一些干预。 对于需要手动干预的测试用例,需要手动启动帮助程序二进制文件。 为此,NFC 和电脑客户端需要进行以下设置:

NFC 客户端

  • 创建工作文件夹,并将对应于客户端体系结构的 TAEF 二进制文件从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,TAEF 二进制文件将位于以下目录中:

    C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\<arch>\*\MinTE\*
    

    其中 <arch> 是 x86、x64、arm、arm64。

  • 将 NfcRemotePeerService.dll 从以下 HLK Studio 位置复制到上面创建的工作目录:

    C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcRemotePeerService.dll
    

    其中 <arch> 是 x86、amd64、arm、arm64。

电脑客户端(*使用 NITT 时的设置)

  • 创建工作文件夹,并将对应于客户端体系结构的 TAEF 二进制文件从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,TAEF 二进制文件将位于以下目录中:

    C:\Program Files (x86)\Windows Kits\10\Testing\Runtimes\TAEF\<arch>\*\MinTE\*
    

    其中 <arch> 是 x86、x64、arm、arm64。

  • 将 NfcNittController.exe 从以下 HLK Studio 位置复制到上面创建的工作目录:

    C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcNittController.exe
    

    其中 <arch> 是 x86、amd64、arm、arm64。

  • 将 MuttUtil.dll 从以下 HLK Studio 位置复制到上面创建的工作目录:

    C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\usb\MuttTools\MuttUtil.dll
    

    其中 <arch> 是 x86、amd64、arm、arm64。

电脑客户端(*不使用 NITT 时的设置)

  • 创建工作文件夹,并将对应于客户端体系结构的 NfcManualHelper.exe 从 HLK 控制器复制到工作目录。 对于典型的 HLK Studio 设置,NfcManualHelper.exe 将位于以下目录中:

    C:\Program Files (x86)\Windows Kits\10\Hardware Lab Kit\Tests\<arch>\NFC\NfcManualHelper.exe
    

    其中 <arch> 是 x86、x64、arm、arm64。

使用 HLK 运行测试

HLK Studio

  • 在 HLK Studio 中,根据下图从“测试”选项卡中选择测试:

    HLK Studio 的屏幕截图,其中选择了“测试”选项卡。在“测试名称”列表中选择了 PublishAndSubscribeMany 测试。

  • 单击“运行所选项”

  • 如果要手动运行测试(没有 NITT),则将参数值从 nitt 更改为 manual,如下图所示:

    屏幕截图显示将“值”参数设置为“manual”。

使用 NFC 客户端进行测试

  • 打开命令提示符,并转到上面创建的工作文件夹

  • 运行以下命令:

    TE.exe NfcRemotePeerService.dll /p:server=<ip_of_dut>
    

    其中 <ip_of_dut> 是 DUT 的 IP 地址

  • NfcRemotePeerService.dll 将连接到 DUT 上运行的测试并接收来自测试的命令。 这些命令将指示 NfcRemotePeerService.dll 何时在 NFC 客户端上创建近场邻近感应发布和订阅。 将 DUT 与 NFC 客户端触碰时,会触发发布和订阅,并演习 NFC 的点对点场景。

使用电脑客户端进行测试(*使用 NITT 时的设置)

  • 打开命令提示符,并转到上面创建的工作文件夹

  • 运行以下命令:

    nfcnittcontroller.exe -server <ip_of_dut> -tagIndex <tag_index> -reader <reader_name>
    

    其中 <ip_of_dut> 是 DUT 的 IP 地址,<tag_index> 是 NITT 板标签索引,<reader_name> 是连接到电脑客户端的智能卡读卡器的名称。 <tag_index> 的可能值为 1、2、3 和 4,分别对应于符合 NFC 论坛规范的 T1T、T2T、T3T 和 T4T。 若要查找连接到电脑客户端的智能卡读卡器的名称,可以使用 NfcManualHelper.exe 的 -listReaders 选项(见下文)。

  • NfcNittController.exe 将连接到 DUT 上运行的测试并接收来自测试的命令。 这些命令将指示 NfcNittController.exe 何时使用 NITT 执行操作。 这些操作将自动执行,不需要任何手动交互。 示例操作:在 NITT 上打开和关闭射频屏蔽,启用和禁用标签。

电脑客户端测试(*不使用 NITT 时的设置)

  • 打开命令提示符,并转到上面创建的工作文件夹

  • 运行以下命令:

    nfcmanualhelper.exe -server <ip_of_dut> -reader <reader_name>
    

    其中 <ip_of_dut> 是 DUT 的 IP 地址,<reader_name> 是连接到电脑客户端的智能卡读卡器的名称。 若要查找连接到电脑客户端的智能卡读卡器的名称,可以运行以下命令:

    nfcmanualhelper.exe -listReaders
    
  • NfcManualHelper.exe 将连接到 DUT 上运行的测试,并输出有关执行测试时要执行哪些操作的说明。 示例说明:用 DUT 触碰 NFC 客户端,用 DUT 触碰智能卡读卡器,用 DUT 触碰近场邻近感应标签。