com.awareframework.ios.sensor.rotation 0.5.0

com.awareframework.ios.sensor.rotation 0.5.0

tetujinyuuki.nishiyama 维护。



  • Yuuki Nishiyama

AWARE: 旋转

CI Status Version License Platform

这个传感器模块允许我们访问设备的 旋转速率。旋转数据包含指定设备绕三个轴旋转速率的数据。此属性的值包含了经过 Core Motion 算法移除偏差的陀螺仪数据的测量。

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

Apple | CMDeviceMotion | 旋转

要求

iOS 10 或更高版本

安装

com.awareframework.ios.sensor.rotation 可通过 CocoaPods 获得。

  1. 要安装它,只需将以下行添加到您的 Podfile 中
pod 'com.awareframework.ios.sensor.rotation'
  1. 将 com.awareframework.ios.sensor.rotation 库导入到您的源代码中。
import com_awareframework_ios_sensor_rotation

公共函数

旋转传感器

  • init(config:RotationSensor.Config?):使用可选配置初始化旋转传感器。
  • start():使用可选配置启动旋转传感器。
  • stop():停止服务。

RotationSensor.Config

用于存储传感器配置的类。

Fields

  • sensorObserver: RotationObserver:实时数据更新的回调。
  • 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_rotation")
  • dbHost: String 同步数据库的宿主。(默认 = null)

广播

触发的广播

  • RotationSensor.ACTION_AWARE_ROTATION 当周期结束时,旋转数据保存到数据库后触发。

接收到的广播

  • RotationSensor.ACTION_AWARE_ROTATION_START:接收启动传感器的广播。
  • RotationSensor.ACTION_AWARE_ROTATION_STOP:接收停止传感器的广播。
  • RotationSensor.ACTION_AWARE_ROTATION_SYNC:接收发送同步尝试到主机的广播。
  • RotationSensor.ACTION_AWARE_ROTATION_SET_LABEL:接收设置数据标签的广播。标签应在intent extras的`RotationSensor.EXTRA_LABEL`字段中。

数据表示

旋转数据

包含原始传感器数据。

字段 类型 描述
x Double X轴的值
y Double Y轴的值
z Double Z轴的值
label String 可定制的标签。对于数据校准或可追溯性非常有用
deviceId String AWARE 设备 UUID
label String 可定制的标签。对于数据校准或可追溯性非常有用
timestamp Int64 自 1970 年以来的 Unixtime 毫秒
timezone Int 设备的原始时区偏移量
os String 设备的操作系统(例如 ios)

示例用法

// Do any additional setup after loading the view, typically from a nib.
let rotationSensor = RotationSensor.init(RotationSensor.Config().apply{ config in
    config.sensorObserver = Observer()
    config.debug = true
})
rotationSensor?.start()
class Observer:RotationObserver{
    func onDataChanged(data: RotationData) {
        // Your code here..
    }
}

作者

山谷义行,[email protected]

许可

版权所有(c)2021 AWARE移动上下文监控中间件/框架(http://www.awareframework.com

遵循Apache许可证版本2.0(“许可证”);除非符合该许可证,否则不得使用此文件。您可以在以下位置获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0 除非适用法律要求或经书面同意,否则根据本许可证分发的软件是以“原样”为基础分发的,不提供任何明示或暗示的保证或条件。有关许可证下权限和限制的具体语言,请参阅许可证。