首先,手機主人的運動狀態肯定是透過手機裡面的感測器反饋給手機的,一般運動資訊感測器無非就是陀螺儀(得到角速度),加速度感測器(得到加速度),氣壓計(得到高度),磁力計,等等。在現在微電子技術高速發展的今天,這些感測器都可以被直接整合在一塊指甲蓋大小的晶片裡面。例如比較常見的mpu6050就集成了陀螺儀和加速度計,一般手機裡面採用的就是mpu系列的整合晶片。
目前據我所知,有的部分手機把處理這些感測器資料的任務交給了協處理器,協處理器可以把他看成一個協助cpu工作的處理。因為現在的協處理的功耗可以做到很低,所以它可以一直工作,在後臺完成常見的計步等運動統計功能。再來說一下,手機是怎麼判斷你是在甩手機還是真的再走路呢?其實感測器傳給處理器的都是一些運動方向上的資料,透過對比採集到的資料和真實的走路的資料特點對比分析,如果某一個動作的特點滿足了步行的運動特點,就判斷是在走路,有的手機還可以透過是否有gps的位移來區分是在假裝步行還是真的步行。這些判斷的演算法或許每個公司都不一樣,但是最終的判斷效果都差不多的。手機裡面還有個爬樓梯層數,得到高度資料這個就是典型的氣壓計的應用了,如果你是坐電梯上去的雖然有高度變化但是沒有動作,這個不會算在爬樓梯上,這個就是演算法的精妙之處了。
首先,手機主人的運動狀態肯定是透過手機裡面的感測器反饋給手機的,一般運動資訊感測器無非就是陀螺儀(得到角速度),加速度感測器(得到加速度),氣壓計(得到高度),磁力計,等等。在現在微電子技術高速發展的今天,這些感測器都可以被直接整合在一塊指甲蓋大小的晶片裡面。例如比較常見的mpu6050就集成了陀螺儀和加速度計,一般手機裡面採用的就是mpu系列的整合晶片。
目前據我所知,有的部分手機把處理這些感測器資料的任務交給了協處理器,協處理器可以把他看成一個協助cpu工作的處理。因為現在的協處理的功耗可以做到很低,所以它可以一直工作,在後臺完成常見的計步等運動統計功能。再來說一下,手機是怎麼判斷你是在甩手機還是真的再走路呢?其實感測器傳給處理器的都是一些運動方向上的資料,透過對比採集到的資料和真實的走路的資料特點對比分析,如果某一個動作的特點滿足了步行的運動特點,就判斷是在走路,有的手機還可以透過是否有gps的位移來區分是在假裝步行還是真的步行。這些判斷的演算法或許每個公司都不一樣,但是最終的判斷效果都差不多的。手機裡面還有個爬樓梯層數,得到高度資料這個就是典型的氣壓計的應用了,如果你是坐電梯上去的雖然有高度變化但是沒有動作,這個不會算在爬樓梯上,這個就是演算法的精妙之處了。
現在,蘋果的iOS10已經加入了新的手機喚醒操作了,就是手機被拿起自動亮屏,手機被放下自動鎖屏,這些也是透過這類感測器來識別的,比如手機被拿起來,肯定是有一個朝手機上面的一個加速度或者速度的,可以透過對普通人操作手機動作的資料進行分析,得到普遍的手機被拿起的動作的資料,將這些資料加以利用就可以完成功能了。