com.awareframework.ios.sensor.magnetometer 0.5.0

com.awareframework.ios.sensor.magnetometer 0.5.0

tetujinyuuki.nishiyama 维护。



  • 作者:
  • Yuuki Nishiyama

AWARE: 磁力计

CI Status Version License Platform

此传感器模块允许我们获取当前 磁流体 数据。数据由 Core Motion 库中的 CMDeviceMotion 提供。请查看以下链接以获取详细信息。

Apple | 获取处理过的设备运动数据

Apple | CMDeviceMotion | CMCalibratedMagneticField

要求

iOS 10 或更高版本

安装

com.aware.ios.sensor.magnetometer 通过 CocoaPods 提供。

  1. 要安装,只需在您的 Podfile 中添加以下行:
pod 'com.aware.ios.sensor.magnetometer'
  1. 将 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 除非法律要求或者书面同意,否则根据本许可协议分发的软件是“按原样”分发的,不提供任何明示或暗示的保证或条件。有关许可协议的具体语言规定,请参阅许可协议。