AWARE: 加速计
此传感器模块允许我们管理由 iOS CoreMotion 库提供的 3 轴加速度计数据。请参考以下链接以获取详细信息。
加速度计可以测量沿一个轴的速度变化。所有 iOS 设备都具有三轴加速度计,每个轴提供加速值。加速度计报告的值是以重力加速度的增量来测量的,值为 1.0 表示在给定方向上的加速度为 9.8 米每秒平方。加速度值可能是正的或负的,取决于加速度的方向。
要求
iOS 10 或更高版本
安装
com.aware.ios.sensor.accelerometer 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行
pod 'com.awareframework.ios.sensor.accelerometer'
将 com.awareframework.ios.sensor.accelerometer 库导入到你的源代码中。
import com_awareframework_ios_sensor_accelerometer
公开函数
加速度传感器
init(config:AccelerometerSensor.Config?)
: 使用可选配置初始化加速度传感器。start()
: 用可选配置启动加速度传感器。stop()
: 停止服务。
AccelerometerSensor.Config
用于保存传感器配置的类。
Fields
sensorObserver: AccelerometerObserver
: 实时数据更新的回调。frequency: Int
: 每秒收集的数据样本(Hz)。(默认 = 5)period: Float
: 保存数据的周期(分钟)。(默认 = 1)threshold: Double
: 如果设置,当值的改变小于设定的值时,不记录连续的点。enabled: Boolean
传感器是否启用。 (默认 =false
)debug: Boolean
启用/禁用日志记录到Logcat
。 (默认 =false
)label: String
数据的标签。 (默认 = "")deviceId: String
与事件和传感器相关联的设备的ID。 (默认 = "")dbEncryptionKey
数据库的加密密钥。 (默认 =null
)dbType: Engine
使用哪个数据库引擎来保存数据。 (默认 =Engine.DatabaseType.NONE
)dbPath: String
数据库的路径。 (默认 = "aware_accelerometer")dbHost: String
同步数据库的宿主机。 (默认 =null
)
广播消息
已发射的广播
AccelerometerSensor.ACTION_AWARE_ACCELEROMETER
当加速度计在时间段结束时将数据保存到数据库时触发。
接收到的广播
AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_START
:接收启动传感器的广播。AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_STOP
:接收停止传感器的广播。AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_SYNC
:接收发送同步尝试到主机的广播。AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_SET_LABEL
:接收设置数据标签的广播。标签预期在intent extras的AccelerometerSensor.EXTRA_LABEL
字段中。
数据表示
加速度计数据
包含原始传感器数据。
字段 | 类型 | 描述 |
---|---|---|
x | Double | 沿x轴的加速度力,包括重力,以G(G=9.8m/s²)计 |
y | Double | 沿y轴的加速度力,包括重力,以G(G=9.8m/s²)计 |
z | Double | 沿z轴的加速度力,包括重力,以G(G=9.8m/s²)计 |
label | String | 自定义标签,用于数据校准或可追溯性 |
deviceId | String | AWARE设备UUID |
label | String | 自定义标签,用于数据校准或可追溯性 |
timestamp | Int64 | 自1970年以来的Unix时间毫秒数 |
timezone | Int | 设备所在的时区 |
os | String | 设备的操作系统(例如,android) |
示例用法
将加速度计传感器库(com_aware_ios_sensor_accelerometer)导入到您的目标类中。
import com_awareframework_ios_sensor_accelerometer
生成加速度计传感器实例并启动/停止传感器。
let accelerometer = Accelerometer.init(Accelerometer.Config().apply{ config in
config.sensorObserver = Observer()
config.period = 0.5
condig.deviceId = UUID.init().uuidString
config.debug = true
})
accelerometer?.start()
accelerometer?.stop()
class Observer:AccelerometerObserver{
func onDataChanged(data: AccelerometerData){
// Your code here...
}
}
作者
Yuuki Nishiyama,[email protected]
相关链接
许可
版权所有(c)2018 AWARE移动上下文仪器中间件/框架(http://www.awareframework.com)
遵循Apache License 2.0(“许可”);除非符合许可证规定或者书面授权,否则不得使用此文件。您可以在以下网址获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0 除非法律要求或者书面同意,按照许可证发布的软件是以“现状”为基础发布的,不提供任何明示或暗示的保证或条件。请参阅许可证了解具体管理许可权限和限制的语言。