AWARE: 线性加速度计
此传感器模块允许我们访问当前 线性加速度计 数据。用户对设备施加的加速度。设备总加速度等于 重力 加上用户施加到设备上的加速度。数据由 Core Motion 库中的 CMDeviceMotion 提供。请参考以下链接获取详细信息。
Apple | CMDeviceMotion | gravity
需求
iOS 10 或更高版本
安装
com.awareframework.ios.sensor.linearaccelerometer 通过 CocoaPods 提供。
- 要安装它,只需将以下行添加到您的 Podfile 中:
pod 'com.awareframework.ios.sensor.linearaccelerometer'
- 将 com.awareframework.ios.sensor.linearaccelerometer 库导入到您的源代码中。
import com_awareframework_ios_sensor_linearaccelerometer
公共函数
线性加速度传感器
init(config:LinearAccelerometerSensor.Config?)
: 使用可选配置初始化线性加速度传感器。start()
:启动线性加速度传感器,带有可选配置。stop()
:停止服务。
LinearAccelerometerSensor.Config
用于保留传感器配置的类。
Fields
sensorObserver: LinearAccelerometerObserver
:实时数据更新的回调。frequency: Int
:每秒收集的数据样本数(Hz)。(默认 = 5)period: Double
:保存数据的周期(分钟)。(默认 = 1)threshold: Double
:如果设置,如果值的变化小于设置值,则不记录连续的点。enabled: Boolean
:传感器是否启用。(默认 =false
)debug: Boolean
:启用/禁用将日志记录到 Xcode 控制台。(默认 =false
)label: String
:数据的标签。(默认 = "")deviceId: String
:将与事件和传感器相关联的设备的 ID。(默认 = "")dbEncryptionKey
:数据库的加密密钥。(默认 =null
)dbType: Engine
:用于保存数据的数据库引擎。(默认 =Engine.DatabaseType.NONE
)dbPath: String
:数据库的路径。(默认 = "aware_linear_acceleromete")dbHost: String
:同步数据库的主机。(默认 =null
)
广播
已发送广播
LinearAccelerometerSensor.ACTION_AWARE_GYROSCOPE
在陀螺仪数据保存到数据库后触发。
接收到的广播
LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_START
:接收到的广播以启动传感器。LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_STOP
:接收到的广播以停止传感器。LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_SYNC
:接收到的广播以向主机发送同步尝试。LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_SET_LABEL
:接收到的广播以设置数据标记。标记在意图的额外的LinearAccelerometerSensor.EXTRA_LABEL
字段中预期。
数据表示
线性加速度计数据
包含原始传感器数据。
字段 | 类型 | 描述 |
---|---|---|
x | Double | X轴的价值 |
y | Double | Y轴的价值 |
z | Double | Z轴的价值 |
label | String | 可自定义的标签。对于数据校准或可追溯性很有用 |
deviceId | String | AWARE 设备 UUID |
label | String | 可自定义的标签。对于数据校准或可追溯性很有用 |
timestamp | Int64 | 1970年以来的Unix时间(毫秒) |
timezone | Int | 设备的原始时区偏移量 |
os | String | 设备的操作系统(例如,ios) |
示例使用
var linearAccSensor = LinearAccelerometerSensor.init(LinearAccelerometerSensor.Config().apply{config in
config.debug = true
config.dbType = .REALM
config.sensorObserver = Observer()
})
linearAccSensor.start()
class Observer:LinearAccelerometerObserver{
func onDataChanged(data: LinearAccelerometerData) {
// Your code here...
}
}
作者
Yuuki Nishiyama, [email protected]
许可
版权所有 (c) 2021 AWARE 移动上下文仪器中间件/框架 (http://www.awareframework.com)
遵循Apache许可证版本2.0("许可证");除非您按照许可证规定行事或以书面形式同意,否则您不得使用此文件。您可以在以下位置获取许可证副本:
https://apache.ac.cn/licenses/LICENSE-2.0 根据“按原样”基础分发许可证下的软件,除非适用法律强制或经书面同意,否则不对软件或其任何部分提供任何明示或暗示的保证或条件。请参阅许可证了解许可证授予的权限和限制。