连接设备编程

  • Jonathan Allen
  • 李彬

2013 年 7 月 1 日

话题:架构

WinRT 8.1 中着重强调了通过 HID、蓝牙和 USB 接口控制设备的能力。能够控制的范围涵盖了从玩具和小设备,到 POS 机硬件,再到强大的 3D 打印机等多种设备。

WinRT 8.1 为标准化硬件提供了六类“设备场景 API”:

  • 用指纹取代密码
  • 读取条形码和磁条
  • 使用地理围栏来触发事件
  • 管理虚拟智能卡片
  • 进行 3D 打印
  • 扫描文档和图像

而对于定制化硬件,WinRT 开发者能够回退到针对 HID、蓝牙和 USB 的新的“设备协议 API”。

定制 SDK

WinRT 鼓励硬件开发者发布针对特定设备的 SDK。这些 SDK 一般将被表示为封装了底层设备协议 API 的 Windows 运行时组件。例如,针对机器臂的 SDK 会把诸如向上、向下、松开或握紧手掌的方法转换为硬件所能使用的二进制消息。

连接即启动

硬件开发者可以选择加入自动播放(Autoplay)功能,这样 WinRT 应用就能够将自己注册为设备的连接即启动(Launch on Connect)句柄。就像文件类型和 URL 协议句柄一样,如果多个应用注册到了同一个设备,用户将得到提示。

该特性与设备后台任务(Device Background Task)结合——后者将允许应用在后台运行最多十分钟。设备后台任务的主要用途是在电脑和设备之间同步数据。

设备元数据

除了支持自动播放外,设备可以暴露带有设备图标、应用自动安装信息和其他关键信息的元数据包。为了简化这一工作,开发者可以使用新的设备元数据编辑器——这个工具首先将询问目标场景。可选的场景包括:

  • 设备与应用(即匹配 Windows Store 应用)
  • 仅设备(用于古旧设备)
  • 宽带设备

接下来该工具将使用微软兼容性实验室所采用的测试,针对场景校验元数据包。如果测试错误,那么它将提供对应的 MSDN 链接;而如果测试通过,该工具会生成用来集成在 Windows Store 应用中的设备数据文件。

查看英文原文:Programming with Connected Devices

架构