com.awareframework.ios.sensor.accelerometer 0.4.4

com.awareframework.ios.sensor.accelerometer 0.4.4

tetujinyuuki.nishiyama 维护。



  • Yuuki Nishiyama

AWARE: 加速计

CI Status Version License Platform

此传感器模块允许我们管理由 iOS CoreMotion 库提供的 3 轴加速度计数据。请参考以下链接以获取详细信息。

加速度计可以测量沿一个轴的速度变化。所有 iOS 设备都具有三轴加速度计,每个轴提供加速值。加速度计报告的值是以重力加速度的增量来测量的,值为 1.0 表示在给定方向上的加速度为 9.8 米每秒平方。加速度值可能是正的或负的,取决于加速度的方向。

Apple | 获取原始加速度计事件

要求

iOS 10 或更高版本

安装

com.aware.ios.sensor.accelerometer 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行

pod 'com.awareframework.ios.sensor.accelerometer'

将 com.awareframework.ios.sensor.accelerometer 库导入到你的源代码中。

import com_awareframework_ios_sensor_accelerometer

公开函数

加速度传感器

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

AccelerometerSensor.Config

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

Fields

  • sensorObserver: AccelerometerObserver: 实时数据更新的回调。
  • frequency: Int: 每秒收集的数据样本(Hz)。(默认 = 5)
  • period: Float: 保存数据的周期(分钟)。(默认 = 1)
  • threshold: Double: 如果设置,当值的改变小于设定的值时,不记录连续的点。
  • enabled: Boolean 传感器是否启用。 (默认 = false
  • debug: Boolean 启用/禁用日志记录到 Logcat。 (默认 = false
  • label: String 数据的标签。 (默认 = "")
  • deviceId: String 与事件和传感器相关联的设备的ID。 (默认 = "")
  • dbEncryptionKey 数据库的加密密钥。 (默认 = null
  • dbType: Engine 使用哪个数据库引擎来保存数据。 (默认 = Engine.DatabaseType.NONE
  • dbPath: String 数据库的路径。 (默认 = "aware_accelerometer")
  • dbHost: String 同步数据库的宿主机。 (默认 = null

广播消息

已发射的广播

  • AccelerometerSensor.ACTION_AWARE_ACCELEROMETER 当加速度计在时间段结束时将数据保存到数据库时触发。

接收到的广播

  • AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_START:接收启动传感器的广播。
  • AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_STOP:接收停止传感器的广播。
  • AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_SYNC:接收发送同步尝试到主机的广播。
  • AccelerometerSensor.ACTION_AWARE_ACCELEROMETER_SET_LABEL:接收设置数据标签的广播。标签预期在intent extras的AccelerometerSensor.EXTRA_LABEL字段中。

数据表示

加速度计数据

包含原始传感器数据。

字段 类型 描述
x Double 沿x轴的加速度力,包括重力,以G(G=9.8m/s²)计
y Double 沿y轴的加速度力,包括重力,以G(G=9.8m/s²)计
z Double 沿z轴的加速度力,包括重力,以G(G=9.8m/s²)计
label String 自定义标签,用于数据校准或可追溯性
deviceId String AWARE设备UUID
label String 自定义标签,用于数据校准或可追溯性
timestamp Int64 自1970年以来的Unix时间毫秒数
timezone Int 设备所在的时区
os String 设备的操作系统(例如,android)

示例用法

将加速度计传感器库(com_aware_ios_sensor_accelerometer)导入到您的目标类中。

import com_awareframework_ios_sensor_accelerometer

生成加速度计传感器实例并启动/停止传感器。

let accelerometer = Accelerometer.init(Accelerometer.Config().apply{ config in
   config.sensorObserver = Observer()
   config.period   = 0.5
   condig.deviceId = UUID.init().uuidString
   config.debug    = true
})

accelerometer?.start()

accelerometer?.stop()
class Observer:AccelerometerObserver{
   func onDataChanged(data: AccelerometerData){
      // Your code here...
   }
}

作者

Yuuki Nishiyama,[email protected]

相关链接

许可

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

遵循Apache License 2.0(“许可”);除非符合许可证规定或者书面授权,否则不得使用此文件。您可以在以下网址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0 除非法律要求或者书面同意,按照许可证发布的软件是以“现状”为基础发布的,不提供任何明示或暗示的保证或条件。请参阅许可证了解具体管理许可权限和限制的语言。