IOS 传感器Core Motion相关简述
由于公司要求,了解了一下IOS上传感器数据的处理方式,在此作为记录。
Core Motion
Core Motion是IOS提供的一个封装好的框架,核心运动框架,可以很方便地获取基本九轴传感器的数据(加速度计,陀螺仪和磁力计),还提供了高通滤波的算法,直接获取剥离了重力加速度的加速度分量。
Core Motion的数据结构
- CMAccelerometerData
实际包含一个结构体acceleration(类型:CMAcceleration),提供三轴加速度值,如下所示:
typedef struct {
double x;
double y;
double z;
} CMAcceleration;
// A structure containing 3-axis acceleration data.
- CMGyroData
实际包含一个结构体rotationRate(类型:CMRotationRate),提供三轴角速度值,如下所示:
typedef struct {
double x;
double y;
double z;
} CMRotationRate;
// A structure containing 3-axis rotation rate data.
- CMMagnetometerData
实际包含一个结构体magneticField(类型:CMMagneticField),提供三轴磁力值,如下所示:
typedef struct {double x;double y;double z;
} CMMagneticField;
// A structure containing 3-axis magnetometer data.
CMDeviceMotion
包含四种数据attitude(类型:CMAttitude) 姿态
// Returns the attitude of the device.
其中包含欧拉角度(roll,pitch,yaw),四元组 (CMQuaternion),还有一个旋转矩阵(CMRotationMatrix)
multiplyByInverseOfAttitude方法rotationRate(类型:CMRotationRate) 角速度
// Returns the rotation rate of the device for devices with a gyro.
和上述的陀螺仪角速度一致gravity(类型:CMAcceleration) 重力加速度
// Returns the gravity vector expressed in the device’s reference
frame. Note that the total acceleration of the device is equal to
gravity plus userAcceleration.userAcceleration(类型:CMAcceleration) 用户的加速度,即高通滤波后的加速度
// Returns the acceleration that the user is giving to the device.
Note that the total acceleration of the device is equal to gravity
plus userAcceleration.magneticField (类型:CMCalibratedMagneticField) 磁场数值
//Returns the magnetic field vector with respect to the device.
还有一些磁场校准的精度数据CMMagneticFieldCalibrationAccuracy等等
数据获取方式
push方式
1.创建运动管理对象
CMMotionManager *mgr = [[CMMotionManageralloc]init];
2.判断加速器是否可用
if(mgr.isAccelerometerAvailable){
}
3.设置采样间隔
mgr.accelerometerUpdateInterval= 1.0/60.0;// 1秒钟采样60次
4.开始采样
-(void)startAccelerometerUpdatesToQueue:(NSOperationQueue*)queue withHandler:(CMAccelerometerHandler)handler;
pull方式
1.创建运动管理对象
CMMotionManager *mgr = [[CMMotionManageralloc]init];
2.判断加速器是否可用
if(mgr.isAccelerometerAvailable){
}
3.开始采样
-(void)startAccelerometerUpdates;
4.在需要时获取数据
CMAcceleration acc = mgr.accelerometerData.acceleration;
Device Motion信息的提供
CMDeviceMotion中的所有数据都是可读数据,用户可以直接从中获取需求的数据,比如说重力加速度等等,而不只是传感器的原始数据,IOS提供的库已经对原始数据进行了加工处理
以上信息总结至多个博文
IOS传感器的基本使用
Core Motion框架使用方法
CoreMotion可以测到的各种值
IOS 传感器Core Motion相关简述相关推荐
- iOS传感器数据采集
传感器信息采集项目到了一定的节点,总结一下iOS中传感器信息采集的相关知识. 代码下载:https://github.com/haojinming/SensorInIOS Accelerometer ...
- iOS传感器:实现一个随屏幕旋转的图片
作者 非典型技术宅 关注 2017.05.24 17:22* 字数 1568 阅读 351评论 7喜欢 14 在写上一个动画系列的时候学到了非常多的知识,也认识了很多人.例如受邀进入了某个神秘的动效组 ...
- 陀螺仪重力感应(the gyroscope gravity induction)and (core Motion Framework)
在iOS4之前,加速度计由UIAccelerometer类来负责采集工作,而电子罗盘则由Core Location接管.而iPhone4的推出,由于加速度计的升级(有消息说使用的是这款芯片)和陀螺仪的 ...
- SwiftUI Core Motion 基础教程
Core Motion 过程加速度计,陀螺仪,计步器和与环境有关的事件. 使用教程 Core Motion报告来自iOS设备的内置硬件的运动和环境相关数据,包括来自加速度计和陀螺仪以及计步器,磁力计和 ...
- iOS传感器开发——为APP添加手机密码、指纹进行安全验证
iOS传感器开发--为APP添加手机密码.指纹进行安全验证 一.引言 iPhone5s之后,iPhone硬件上已支持进行指纹识别的功能,相应的,一些新的api也可以应用于APP中,进行用户安全的验证. ...
- iOS硬编解码相关知识
1.软编与硬编概念 1.1 软编码:使用CPU进行编码. 实现直接.简单,参数调整方便,升级易,但CPU负载重,性能较硬编码低,低码率下质量通常比硬编码要好一点. 1.2 硬编码:不使用CPU进行编码 ...
- 转:基于iOS上MDM技术相关资料整理及汇总
转自:http://www.mbaike.net/mdm/6.html 一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企 ...
- iOS传感器集锦、飞机大战、开发调试工具、强制更新、Swift仿QQ空间头部等源码
iOS精选源码 飞机大作战 MUPhotoPreview -简单易用的图片浏览器 image LLDebugTool是一款针对开发者和测试者的调试工具,它可以帮... image 多个UIScroll ...
- ios开发学习笔记--Core Motion
iOS开发学习笔记之CoreMotion-运动传感器 官网文档:CoreMotion Framework Reference 一. 简介 现在的苹果手机都基本有运动传感器,能够过获取到设备的加 ...
最新文章
- redis php 书,php中redis的使用
- 3、ShardingSphere 之 Sharding-JDBC 实现水平分库
- 2020全国大学生数学建模竞赛【论文格式、时间节点及作品提交要求、竞赛题目下载、评分要点】【微信公众号:校苑数模】
- 设计模式学习笔记(三)之静(动)态代理模式、适配器模式
- 英特尔显示器音频_英特尔也玩马甲?有关USB TypeC的冷知识你了解多少
- MySQL乱码问题如何排查
- 树(2)-----leetcode(层、深度、节点)
- 小程序的好处是什么?
- python2中文乱码
- 酱茄教你怎么用URL Scheme H5链接打开微信小程序
- Owin Katana 的底层源码分析
- 详细讲解电脑怎么录屏 电脑录制视频的方法
- linkedin 架构_投票:您如何使用LinkedIn?
- Oracle:错误码ORA-28040 的坑
- PHP正则表达式教程
- firefox linux 中文字体,Ubuntu下的Firefox字体配置方案
- ImageJ Nikon_尼康“小世界”竞赛的获胜者揭示了微小的彩色世界|尼康|小世界|nikon|显微镜...
- TZOJ 3315 买火车票(线段树区间最小值)
- 攻防世界MISC 功夫再高也怕菜刀
- Nancy朋友的时间线
热门文章
- Java--SimHash实现文本标题内容相似度计算
- ubuntu安装PGI以及问题解决
- Grub2 制作多系统U盘启动
- ACTF出题(dropper+master_of_dns)
- EBS发票AP常用表
- 【致远FAQ】V5V8.0sp1_致信客户端支持国产化PC吗?
- Margin 在WPF中的用法
- 【零声教育】C/C++Linux服务器开发/高级架构师 课程
- CC1310低功耗高速率Sub1G微控制器芯片CC1310F128RSMR
- ygbook和ptcms哪个好_杰奇CMS 和 PTCMS 有什么区别? 为什么很多人选择杰奇?