适用于笔记本电脑的Accelerometer API

时间:2010-05-30 17:54:38

标签: windows accelerometer

大多数IBM(和一些戴尔)笔记本电脑都有内置的加速度计,可以在突然跌落时停止任何移动部件,但我无法找到标准化的Windows API来访问这些数据。我假设每个制造商都会提供一个与传感器接口的驱动程序。

  1. 哪些流行的笔记本电脑品牌标配有可从API访问的加速度计,我应该使用哪些库来访问数据?
  2. 是否存在API *以消除不同制造商之间的差异?我知道Windows 7传感器API,但我想支持XP及更早版本。

2 个答案:

答案 0 :(得分:3)

如果笔记本电脑意外掉落或突然受到另一个物体的影响(即超过某个加速度阈值时),大多数信誉良好的笔记本电脑供应商都会使用加速度计来停放硬盘驱动器头。例如,我的HP有“HP 3D DriveGuard”。然而,这项技术是低级嵌入式的,即使没有加载操作系统似乎也可以工作,所以我想它是在BIOS中。我想它只是暴露了一种ACPI方式来启用或禁用这项技术。因此,即使在具有标准化传感器API的Windows 7上,也无法像智能手机那样使用标准加速度计。也许将来如果市场需要它(但我不这么认为)。

答案 1 :(得分:0)

这对所有制造商都不起作用,但经过大量搜索(我自己一直想要这个功能)后,我找到了wrote a driver wrapper用于惠普笔记本电脑加速度计的人。如果您的笔记本电脑支持HP 3d DriveGuard或HP ProtectSmart,则此驱动程序应该让加速度计显示在Windows传感器列表中。

在我的惠普笔记本电脑上进行了测试,安装顺利。示例程序有效,但响应速度很慢。我认为这不适用于高精度需求(例如游戏),但如果您只需要一些较慢的方向数据,它可能会有效。

windows control panel sensors

请注意,这可以通过将加速度计暴露给Windows传感器API来实现。传感器API提供了访问任何类型传感器的标准方法,无论安装的实际硬件如何。有关Windows Sensor Platform on MSDN的更多信息。