首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian >> Symbian开发 >> 文章正文
使用加速度传感器(Sensor)API
作者:symbianb…    文章来源:symbianblog    更新时间:2008-7-27 15:55:40

N95硬件中隐藏了一个加速度传感器(Accelerometers),该硬件来自STMicroelectronics,型号为LIS302DL。加速度传感器用于将重力或者运动加速度变换为电信号,Accelerometers很可能是继GPS之后的下一个重量级的硬件。Forum Nokia Wiki上有最权威的描述:http://wiki.forum.nokia.com/index.php/N95_sensor

Accelerometers API首先在NokiaResearchCenter(http://research.nokia.com/projects/activity_monitor)发布,目前可以支持N95,N95 8GB,N93i,N82等手机.该plug-in只能用于研究和开发用途,并含有如下Capabilities,根据Symbian安全性规则,你的应用程序不能含有比他更多的Capabilities:
    LocalServices ,Location ,NetworkServices ,ReadDeviceData ,ReadUserData
    SurroundingsDD ,SwEvent ,UserEnvironment ,WriteDeviceData ,WriteUserData

如何使用Accelerometers plug-in API开发应用程序。
首先下载:http://research.nokia.com/files/N95_RD_Accelerometer.zip
1,安装配置:
需要将N95AccelerometerPlugin.sis安装到你的手机(目前可以支持N95,N95 8GB,N93i,N82)
在开发环境中,将RDAccelerometer.h和RDAccelerometerObserver.h头文件放到SDK的\epoc32\include目录中,将*.dso和*.lib文件复制到SDK的\epoc32\release\armv5\LIB目录中

2,具体使用:
  - 将库文件RDAccelerometer.lib添加到你应用程序的工程中
  - 在你需要的类中继承MRDAccelerometerObserver接口,并实现HandleAccelerationL()函数接收来自加速度传感器的数据
  - 创建一个CRDAccelerometer实例,并将上面提到的类作为参数传入
  - 当实例创建完成后,加速度传感器数据会自动通过HandleAccelerationL()方法发送到应用程序中。
 参数含义如下(参考RDAccelerometerObserver.h 获取更多信息):
     - 1G加速度等于64
     - 0G加速度等于0
     - (-1G)加速度等于(-63)
  - 删除CRDAccelerometer实例就可以停止接收来自传感器的数据

3,开发经验:
  - 即使你将手机放在桌上不动,通过HandleAccelerationL()得到的数据还是略为有所改变。
  - 每秒钟会有30帧的数据传入到HandleAccelerationL()中,非常耗电。
  - 应用程序中尽量早地关闭传感器,在需要的时候再开启。

附上显示加速度传感器数据的例子TestSensorCode

相关文章:
使用加速度传感器(Sensor)API