com.awareframework.ios.sensor.gyroscope 0.5.0

com.awareframework.ios.sensor.gyroscope 0.5.0

tetujinyuuki.nishiyama 维护。



  • 作者:
  • Yuuki Nishiyama

AWARE: Gyroscope

CI Status Version License Platform

此传感器模块使我们能够从机载陀螺仪中检索数据。数据由 iOS Core Motion 库提供。请查看以下链接以获取详细信息。

陀螺仪测量设备绕空间轴旋转的速度。许多 iOS 设备都有一个三轴陀螺仪,在三个轴上提供旋转值。旋转值测量为每秒钟绕给定轴的弧度数。旋转值的正负取决于旋转的方向。

[苹果 | 获取原始陀螺仪事件] (https://developer.apple.com/documentation/coremotion/getting_raw_gyroscope_events) [苹果 | Core Motion | 原始陀螺仪数据 CMGyroData] (https://developer.apple.com/documentation/coremotion/cmgyrodata)

需求

iOS 10 或更高版本

安装

com.awareframework.ios.sensor.gyroscope 通过 CocoaPods 提供。

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

公共函数

陀螺仪传感器

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

GyroscopeSensor.Config

用于保持传感器配置的类。

字段

  • sensorObserver: GyroscopeObserver: 用于实时数据更新的回调。
  • 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_gyroscope"。
  • dbHost: String 同步数据库的宿主。默认值 = null

广播

已完成的广播

  • GyroscopeSensor.ACTION_AWARE_GYROSCOPE 在陀螺仪保存数据到数据库后触发。

接收到的广播

  • GyroscopeSensor.ACTION_AWARE_GYROSCOPE_START:接收到的广播以启动传感器。
  • GyroscopeSensor.ACTION_AWARE_GYROSCOPE_STOP:接收到的广播以停止传感器。
  • GyroscopeSensor.ACTION_AWARE_GYROSCOPE_SYNC:接收到的广播以向主机发送同步尝试。
  • GyroscopeSensor.ACTION_AWARE_GYROSCOPE_SET_LABEL:接收到的广播以设置数据标签。标签预期在Intent extras的GyroscopeSensor.EXTRA_LABEL字段中。

数据表示

陀螺仪数据

包含原始传感器数据。

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

示例用法

let gyroSensor = GyroscopeSensor.init(GyroscopeSensor.Config().apply{ config in
    config.debug = true
    config.sensorObserver = Observer()
})
gyroSensor?.start()
class Observer:GyroscopeObserver {
    func onChanged(data: GyroscopeData) {
        // Your code here...
    }
}

作者

Yuuki Nishiyama, [email protected]

许可

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

根据Apache License,版本2.0(“许可”)授权;除非遵守该许可,否则不得使用此文件。您可以在以下位置获取该许可副本:

https://apache.ac.cn/licenses/LICENSE-2.0 除非法律规定或书面同意,否则在许可证下分发的软件按照“原样”基础分发,不提供任何明示或暗示保证或条件。有关许可证项下的具体许可权限和限制,请参阅许可证。