AWARE: 磁力计
此传感器模块允许我们获取当前 磁流体 数据。数据由 Core Motion 库中的 CMDeviceMotion 提供。请查看以下链接以获取详细信息。
Apple | CMDeviceMotion | CMCalibratedMagneticField
要求
iOS 10 或更高版本
安装
com.aware.ios.sensor.magnetometer 通过 CocoaPods 提供。
- 要安装,只需在您的 Podfile 中添加以下行:
pod 'com.aware.ios.sensor.magnetometer'
- 将 com.aware.ios.sensor.magnetometer 库导入到您的源代码中。
import com_aware_ios_sensor_magnetometer
公共函数
磁力计传感器
init(config:MagnetometerSensor.Config?)
: 使用可选配置初始化磁力计传感器。start()
: 以可选配置启动陀螺仪传感器。stop()
: 停止服务。
MagnetometerSensor.Config
用于保存传感器配置的类。
Fields
sensorObserver: MagnetometerObserver
:实时数据更新的回调。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_magnetometer")dbHost: String
数据库同步的主机。(默认 =null
)
广播
触发广播
MagnetometerSensor.ACTION_AWARE_GYROSCOPE
:在周期结束时将陀螺仪数据保存到数据库后触发。
已接收广播
MagnetometerSensor.ACTION_AWARE_MAGNETOMETER_START
:收到广播以启动传感器。MagnetometerSensor.ACTION_AWARE_MAGNETOMETER_STOP
:收到广播以停止传感器。MagnetometerSensor.ACTION_AWARE_MAGNETOMETER_SYNC
:收到广播以向主机发送同步尝试。MagnetometerSensor.ACTION_AWARE_MAGNETOMETER_SET_LABEL
:收到广播以设置数据标签。标签应位于意图额外信息的MagnetometerSensor.EXTRA_LABEL
字段。
数据表示
磁力计数据
包含原始传感器数据。
字段 | 类型 | 描述 |
---|---|---|
x | Double | X轴的值 |
y | Double | Y轴的值 |
z | Double | Z轴的值 |
标签 | String | 可自定义的标签。用于数据校准或可追溯性 |
deviceId | String | AWARE 设备 UUID |
标签 | String | 可自定义的标签。用于数据校准或可追溯性 |
timestamp | Int64 | 自 1970 年以来的 unixtime 毫秒数 |
timezone | Int | 设备的原始时区偏移量 |
os | String | 设备的操作系统(例如 ios) |
示例用法
var magnetometer = MagnetometerSensor.init( MagnetometerSensor.Config().apply{ config in
config.debug = true
config.sensorObserver = Observer()
})
magnetometer?.start()
class Observer:MagnetometerObserver {
func onDataChanged(data:MagnetometerData){
// 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 除非法律要求或者书面同意,否则根据本许可协议分发的软件是“按原样”分发的,不提供任何明示或暗示的保证或条件。有关许可协议的具体语言规定,请参阅许可协议。