com.awareframework.ios.sensor.linearaccelerometer 0.5.0

com.awareframework.ios.sensor.linearaccelerometer 0.5.0

tetujinyuuki.nishiyama 维护。



  • 作者:
  • Yuuki Nishiyama

AWARE: 线性加速度计

CI Status Version License Platform

此传感器模块允许我们访问当前 线性加速度计 数据。用户对设备施加的加速度。设备总加速度等于 重力 加上用户施加到设备上的加速度。数据由 Core Motion 库中的 CMDeviceMotion 提供。请参考以下链接获取详细信息。

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

Apple | CMDeviceMotion | gravity

需求

iOS 10 或更高版本

安装

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

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

公共函数

线性加速度传感器

  • init(config:LinearAccelerometerSensor.Config?) : 使用可选配置初始化线性加速度传感器。
  • start():启动线性加速度传感器,带有可选配置。
  • stop():停止服务。

LinearAccelerometerSensor.Config

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

Fields

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

广播

已发送广播

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

接收到的广播

  • LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_START:接收到的广播以启动传感器。
  • LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_STOP:接收到的广播以停止传感器。
  • LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_SYNC:接收到的广播以向主机发送同步尝试。
  • LinearAccelerometerSensor.ACTION_AWARE_LINEAR_ACCELEROMETER_SET_LABEL:接收到的广播以设置数据标记。标记在意图的额外的 LinearAccelerometerSensor.EXTRA_LABEL 字段中预期。

数据表示

线性加速度计数据

包含原始传感器数据。

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

示例使用

var linearAccSensor = LinearAccelerometerSensor.init(LinearAccelerometerSensor.Config().apply{config in
    config.debug    = true
    config.dbType   = .REALM
    config.sensorObserver = Observer()
})
linearAccSensor.start()
class Observer:LinearAccelerometerObserver{
    func onDataChanged(data: LinearAccelerometerData) {
        // 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 根据“按原样”基础分发许可证下的软件,除非适用法律强制或经书面同意,否则不对软件或其任何部分提供任何明示或暗示的保证或条件。请参阅许可证了解许可证授予的权限和限制。