上個月買了小米4手環(huán),初心有二:體驗(yàn)新鮮電子產(chǎn)品;用來計(jì)算步數(shù) 。在使用過程中我一直對其計(jì)算方式比較好奇,索性今天滿足下自己的好奇心,enjoy~
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? ?① ?小米手環(huán)怎么解決數(shù)據(jù)疊加問題呢?
簡單列舉兩個場景:
場景一:
早上我只帶了手環(huán)去了籃球場,顯示步數(shù)5000;下午我只帶了手機(jī)外出,顯示步數(shù)3000.
場景二:
早上我只帶了手環(huán)去了籃球場,顯示步數(shù)5000;中午我同時帶了手機(jī)和手環(huán)走了1小時,手機(jī)顯示步數(shù)3000.
那么,今天我的微信運(yùn)動步數(shù)是多少呢?

這個問題,我小侄子都能算出。正確應(yīng)該是5000+3000=8000步。
但我想表達(dá)的是,微信運(yùn)動在讀取數(shù)據(jù)時,是如何做到精確統(tǒng)計(jì)呢?
我的推理是這樣的:
小米手環(huán)和iPhone的健康數(shù)據(jù)作為一個數(shù)據(jù)源,可以簡單理解為數(shù)據(jù)ID,那么在匯總統(tǒng)計(jì)時,會對每一條上傳的數(shù)據(jù)打上數(shù)據(jù)來源標(biāo)簽。對于在同一時間段內(nèi)的重復(fù)數(shù)據(jù)進(jìn)行合并處理。
即,將一天24小時按照時間長度依次疊加數(shù)據(jù),這樣就可以保證數(shù)據(jù)的準(zhǔn)確性。
那么,事實(shí)上是不是這樣呢?
? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ② ?揭秘時刻
下面這張圖是我選取上周日的數(shù)據(jù)。
可以看到,每條數(shù)據(jù)由3部分構(gòu)成:數(shù)據(jù)來源+步數(shù)+時間點(diǎn)。每個上傳的數(shù)據(jù)都按照時間進(jìn)行展示,最終一天的數(shù)據(jù)就是這些數(shù)據(jù)的累加。

完美!

? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ?③ ?小米手環(huán)的計(jì)步原理是什么呢?
是的,我就是來自本山大叔刨根問底欄目組的那個誰誰誰。
根據(jù)小米官方文檔看出,小米手環(huán)能夠精準(zhǔn)計(jì)步由硬件和軟件算法兩方面組成。
硬件:
是指小米手環(huán)里內(nèi)置的那枚強(qiáng)悍的三軸加速度傳感器,軍用級。
那么,啥是三軸加速度傳感器呢?
這里的三軸是指空間坐標(biāo)軸X/Y/Z。物理知識告訴我們,運(yùn)動就會產(chǎn)生加速度,通過傳感器獲取這些數(shù)據(jù),接下來的事情交給軟件算法。
軟件算法:
程序猿根據(jù)三軸加速度實(shí)時捕捉到的三維數(shù)據(jù),經(jīng)過濾波、峰谷檢測等過程,使用各種算法和邏輯計(jì)算,最終將這些數(shù)據(jù)轉(zhuǎn)變成手環(huán)里的可讀數(shù)字,包括步數(shù)、距離、消耗的卡路里等數(shù)值。
好了,大概就是這些了,算是給自己在這塊的一個基本交代。
下周有時間好好學(xué)習(xí)下硬件傳感器方面的知識。