65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 Windows 8 Sensor API 读取超极本传感器数据

starIconstarIconstarIconstarIconstarIcon

5.00/5 (10投票s)

2012年11月6日

CPOL

2分钟阅读

viewsIcon

31047

downloadIcon

1152

应用创新竞赛的良好开端。

引言

注意这不是一篇完整的文章。分享它的目的是帮助 App Innovation 参赛者开始使用 Ultrabook 传感器操作。如果我的时间允许,我会向文章添加更多细节。

Windows 8 传感器 API 可以轻松地与 Ultrabook 的传感器进行通信。

背景

Ultrabook 包括几个物理固态传感器,以及一些通过 API 抽象出来的虚拟传感器。

工作原理

该应用程序由一个单窗体的 Windows Forms 应用程序组成,该应用程序使用当前传感器数据实时更新用户界面。一个后台线程订阅传感器类事件并收集传感器数据。UI 线程定期使用传感器线程收集的数据更新 UI。

要获取传感器数据,请调用相应类的静态 GetDefault() 方法,根据需要设置属性,并订阅可用事件(通常可以使用 ReadingChanged)。

用户界面使用自定义的Metro 风格分组框控件。

关注点

  1. 我一直无法从 Intel Ultrabook 获取 GPS 传感器数据。据我所知,要么
    1. 没有 GPS 或者没有启用
    2. 没有天线
    3. 不包含可用的驱动程序
  2. 我一直无法使近场通信 (NFC) 工作。我只尝试感应 NFC 标签(包含 Mifare Ultralight 芯片)。
  3. 在桌面应用程序中使用 API 需要引用 Windows 8 runtime。 这需要在 Visual Studio 中进行一些修改
  4. 如果不存在 Windows 8,应用程序将在到达 Main() 之前,会失败并抛出 TypeLoadException
  5. 位置 API 似乎使用了一些标准精度值,我们可以从中推断出正在使用的传感器
    1. 1000m == IP 地址地理位置
    2. 100m == WiFi 数据库地理位置
    3. < 85m == GPS 地理位置
  6. 我不知道我的所有测量单位是否正确。
  7. 1G 等于 9.81m/s² 的加速度或 9.81N/kg 的力。

如果您有其他信息要分享,请与我联系。 如果您发现这很有用,请投一票。

历史

  • 2012-11-06 – 原始文章
© . All rights reserved.