標籤:移動技術 加速器 計步器 加速度
隨著人們生活水平的提高,加上移動技術的快速發展,越來越多的軟體進軍健康行業,計步器是用來記錄個人運動的一項很好的技術。這段時間出於對這一技術的好奇,瞭解學習了一下計步器的實現過程。
計步器的實現有兩種方式,(1),直接調用HealthKit架構擷取蘋果的健康應用資料.(2)速度感應器動作感應器\加速度感應器\加速器(Motion/Accelerometer Sensor)
(1)HealthKit這種方式簡單粗暴,但是也有相應的弊端,這個架構擷取到的資料好像是1小時一更新,如果你的軟體是想要擷取到即時資料的話,這種方式的實現不是最佳選擇。
(2)基於CoreMotion架構,先來瞭解一下幾種感應器
動作感應器\加速度感應器\加速計(Motion/Accelerometer Sensor)環境光線感應器(Ambient Light Sensor)距離感應器(Proximity Sensor)磁力計感應器(Magnetometer Sensor)內部溫度感應器(Internal Temperature Sensor)濕度感應器(Moisture Sensor)陀螺儀(Gyroscope)
在iOS8及其以上系統中我們可以使用CMPedometer類擷取行走相關資訊(步數、距離、上樓、下樓、當前速度等)。
當前裝置是否可以擷取步數
+ (BOOL)isStepCountingAvailable;
當前裝置是否可以擷取距離
+ (BOOL)isDistanceAvailable;
當前裝置是否可以擷取上下樓層數
+ (BOOL)isFloorCountingAvailable;
當前裝置是否可以擷取速度(s/m)
+ (BOOL)isPaceAvailable
當前裝置是否可以擷取節奏
+ (BOOL)isCadenceAvailable
根據開始和結束時間查詢行走相關資訊
- (void)queryPedometerDataFromDate:(NSDate )start toDate:(NSDate )end withHandler:(CMPedometerHandler)handler;
從某一時刻開始監測步數變化
- (void)startPedometerUpdatesFromDate:(NSDate *)start withHandler:(CMPedometerHandler)handler;
停止監測步數變化
- (void)stopPedometerUpdates;
把相應的的方法最好放在一個單例裡面,利用單例裡面對應的方法我們就能擷取到自己想要擷取到的資料了。
ios 計步器的簡單實現