AWARE: 重力
此传感器模块允许我们访问当前的 重力向量 数据。用设备参考系表示的重力加速度向量。此外,设备的总加速度等于重力加上用户施加给设备的加速度(用户加速度)。数据由 Core Motion 库中的 CMDeviceMotion 提供。请查看以下链接以获取详细信息。
要求
iOS 10 或更高版本
安装
com.awareframework.ios.sensor.gravity 可通过 CocoaPods 获取。
- 要安装它,只需将以下行添加到您的 Podfile 中:
pod 'com.awareframework.ios.sensor.gravity'
- 导入 com.awareframework.ios.sensor.gravity 库到您的源代码中。
import com_awareframework_ios_sensor_gravity
公开函数
重力传感器
init(config:GravitySensor.Config?)
: 初始化重力传感器,可带可选配置。start()
: 以可选配置启动陀螺仪传感器。stop()
: 停止服务。
GravitySensor.Config
包含传感器配置的类。
Fields
sensorObserver: GravityObserver
: 实时数据更新的回调。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
用于保存数据的 db 引擎。 (默认 =Engine.DatabaseType.NONE
)dbPath: String
数据库的路径。 (默认 = "aware_gravity")dbHost: String
同步数据库的主机。 (默认 =null
)
广播
已发布的广播
GravitySensor.ACTION_AWARE_GYROSCOPE
在陀螺仪在周期结束后将数据保存到数据库时触发。
接收到的广播
GravitySensor.ACTION_AWARE_GRAVITY_START
:收到启动传感器的广播。GravitySensor.ACTION_AWARE_GRAVITY_STOP
:收到停止传感器的广播。GravitySensor.ACTION_AWARE_GRAVITY_SYNC
:收到发送同步尝试到主机的广播。GravitySensor.ACTION_AWARE_GRAVITY_SET_LABEL
:收到设置数据标签的广播。标签应在意图额外信息的GravitySensor.EXTRA_LABEL
字段中。
数据表示
重力数据
包含原始传感器数据。
字段 | 类型 | 描述 |
---|---|---|
x | Double | X轴加速度,单位是G(重力加速度)。 |
y | Double | Y轴加速度,单位是G(重力加速度)。 |
z | Double | Z轴加速度,单位是G(重力加速度)。 |
label | String | 可自定义的标签。用于数据校准或追踪 |
deviceId | String | AWARE设备UUID |
label | String | 可自定义的标签。用于数据校准或追踪 |
timestamp | Int64 | unixtime自1970年以来的毫秒数 |
timezone | Int | 设备原始时区偏移 |
os | String | 设备的操作系统(例如:ios) |
示例用法
var gravitySensor = GravitySensor.init(GravitySensor.Config().apply{config in
config.debug = true
config.dbType = .REALM
config.sensorObserver = Observer()
})
gravitySensor.start()
class Observer:GravityObserver{
func onDataChanged(data: GravityData) {
// 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 除非法律要求或您同意书面,否则在许可协议下分发的软件按“原样”分发,不提供任何形式的保证或条件,无论是明示的还是暗示的。有关许可协议中规定允许的权利和限制范围,请参阅许可协议。