首先,手机主人的运动状态肯定是通过手机里面的传感器反馈给手机的,一般运动信息传感器无非就是陀螺仪(得到角速度),加速度传感器(得到加速度),气压计(得到高度),磁力计,等等。在现在微电子技术高速发展的今天,这些传感器都可以被直接集成在一块指甲盖大小的芯片里面。例如比较常见的mpu6050就集成了陀螺仪和加速度计,一般手机里面采用的就是mpu系列的集成芯片。
目前据我所知,有的部分手机把处理这些传感器数据的任务交给了协处理器,协处理器可以把他看成一个协助cpu工作的处理。因为现在的协处理的功耗可以做到很低,所以它可以一直工作,在后台完成常见的计步等运动统计功能。再来说一下,手机是怎么判断你是在甩手机还是真的再走路呢?其实传感器传给处理器的都是一些运动方向上的数据,通过对比采集到的数据和真实的走路的数据特点对比分析,如果某一个动作的特点满足了步行的运动特点,就判断是在走路,有的手机还可以通过是否有gps的位移来区分是在假装步行还是真的步行。这些判断的算法或许每个公司都不一样,但是最终的判断效果都差不多的。手机里面还有个爬楼梯层数,得到高度数据这个就是典型的气压计的应用了,如果你是坐电梯上去的虽然有高度变化但是没有动作,这个不会算在爬楼梯上,这个就是算法的精妙之处了。
现在,苹果的iOS10已经加入了新的手机唤醒操作了,就是手机被拿起自动亮屏,手机被放下自动锁屏,这些也是通过这类传感器来识别的,比如手机被拿起来,肯定是有一个朝手机上面的一个加速度或者速度的,可以通过对普通人操作手机动作的数据进行分析,得到普遍的手机被拿起的动作的数据,将这些数据加以利用就可以完成功能了。
本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:dandanxi6@qq.com