劉丹 黎培瀚 肖德琴
摘要:在快節(jié)奏高效率的現(xiàn)代社會中,不少人處于亞健康狀態(tài),事實(shí)證明堅(jiān)持步行,就能達(dá)到鍛煉的目的。隨著智能手機(jī)的普及,本文通過對Android系統(tǒng)的研究,設(shè)計(jì)了一套基于Android系統(tǒng)的手機(jī)計(jì)步器的應(yīng)用軟件。
關(guān)鍵字:Android;計(jì)步器;加速度傳感器u8
中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A文章編號:1672-9129(2018)06-0033-01
Design of Mobile Phone Pedometer Based on Android System
LIU Dan*, LI Peihan, XIAO Deqin
(South Chin Agricultural University, GUANG Dong Guangzhou 510642, China)
Abstract:In the fast-paced and efficient modern society, many people are in sub-health state. Facts have proved that walking can achieve the purpose of exercise. With the popularity of smart phones, this paper designs a set of application software of mobile pedometer based on Android system through the research of Android system.
Keywords:Android; pedometer; acceleration sensor U8
引用:劉丹, 黎培瀚, 肖德琴. 基于Android系統(tǒng)的手機(jī)計(jì)步器設(shè)計(jì)[J]. 數(shù)碼設(shè)計(jì), 2018, 7(6): 33-33.
Cite:LIU Dan, LI Peihan, XIAO Deqin. Design of Mobile Phone Pedometer Based on Android System[J]. Peak Data Science, 2018, 7(6): 33-33.
引言
本設(shè)計(jì)是基于Android平臺的一款小型應(yīng)用,針對智能手機(jī)用戶日常使用的實(shí)際情況,幫助用戶隨時(shí)隨地記錄和了解自身的運(yùn)動情況、鍛煉成效。其使用Java 語言,利用Eclipse開發(fā)工具開發(fā)完成。根據(jù)加速度傳感器,進(jìn)行數(shù)據(jù)采集、處理和分析原始數(shù)據(jù),并進(jìn)行特征提取、建立模型,把所提取的特征用來識別步數(shù)。
1? 基于Android系統(tǒng)的計(jì)步器的開發(fā)平臺
1.1? 開發(fā)工具及環(huán)境簡介
Android的上層應(yīng)用程序是用Java語言開發(fā)[1],同時(shí)還需要基于Dalvik虛擬機(jī),所以Google公司推薦使用主流的Java繼承開發(fā)環(huán)境Eclipse。只有Eclipse還不夠,還應(yīng)該有由SUN公司提供的Java SDK。此外,Android的應(yīng)用程序開發(fā)和Java開發(fā)有較大的區(qū)別,所以還需要有Google提供的Android SDK。同時(shí),還需要在Eclipse安裝ADT [2-3]。
1.2? 開發(fā)環(huán)境
本軟件是在Windows 7操作系統(tǒng)中,利用eclipse開發(fā)工具搭載Android SDK工具包,結(jié)合Android手機(jī)自帶的加速度傳感器進(jìn)行開發(fā)。
2? 基于Android系統(tǒng)的手機(jī)計(jì)步器的實(shí)現(xiàn)
2.1? 傳感器數(shù)據(jù)采集
重力傳感器(G-Sensor)又稱為加速度傳感器,用來感知加速度的變化,它使用三維方向的加速度分量來表示。該數(shù)值包含地心引力的影響,單位是m/s^2。
將手機(jī)平放在桌面上,x軸默認(rèn)為0,y軸默認(rèn)0,z軸默認(rèn)9.81。將手機(jī)朝下放在桌面上,z軸為-9.81。將手機(jī)向左傾斜,x軸為正值。將手機(jī)向右傾斜,x軸為負(fù)值。將手機(jī)向上傾斜,y軸為負(fù)值。將手機(jī)向下傾斜,y軸為正值。
2.2? 特征提取模塊
用戶在水平步行運(yùn)動中,垂直和前進(jìn)兩個(gè)加速度會呈現(xiàn)周期性變化。在步行收腳的動作中,由于重心向上單只腳觸地,垂直方向加速度是呈正向增加的趨勢,之后繼續(xù)向前,重心下移兩腳觸底,加速度相反。水平加速度在收腳時(shí)減小,在邁步時(shí)增加[4]。
通過波形圖分析,在步行運(yùn)動中,垂直和前進(jìn)產(chǎn)生的加速度與時(shí)間大致為一個(gè)正弦曲線,而且在某點(diǎn)有一個(gè)峰值。其中,垂直方向的加速度變化最大,通過對軌跡的峰值進(jìn)行檢測計(jì)算和加速度閥值決策,即可實(shí)時(shí)計(jì)算用戶運(yùn)動的步數(shù),還可依此進(jìn)一步估算用戶步行距離。
2.3? 運(yùn)動狀態(tài)的計(jì)算
(1)距離參數(shù):
距離 = 步數(shù) × 每步距離
跨步長度與速度(每2秒步數(shù))和身高的關(guān)系有對應(yīng)關(guān)系(Neil Zhao,2010)
(2)速度參數(shù):速度 = 距離/時(shí)間,而每2秒步數(shù)和跨步長度均可根據(jù)上述算法計(jì)算,因此可以使用以下公式獲得速度參數(shù)。
速度 = 每2秒步數(shù) × 跨步/2 s
(3)卡路里參數(shù):我們無法精確計(jì)算卡路里的消耗速率。決定其消耗速率的一些因素包括體重、健身強(qiáng)度運(yùn)動水平和新陳代謝,不過,我們可以使用常規(guī)近似法進(jìn)行估計(jì)??防锵呐c跑步速度的典型關(guān)系為:
卡路里(C/kg/h) = 1.25 × 跑步速度(km/h)
3? 測試運(yùn)行與分析
經(jīng)過測試,手機(jī)計(jì)步器的功能基本上與設(shè)計(jì)構(gòu)想一致。其中存在的問題是計(jì)步器的計(jì)步準(zhǔn)確度不是完全可信的,由于是獲取手機(jī)上硬件加速傳感器的信號,又因?yàn)槭謾C(jī)的顫動程度用戶是不可能準(zhǔn)確控制的,所以會出現(xiàn)記不起不準(zhǔn)確的現(xiàn)象。
4? 結(jié)束語
本軟件能實(shí)現(xiàn)用戶對計(jì)步器的基本要求,方便用戶開啟/關(guān)閉計(jì)步器,對運(yùn)動情況和運(yùn)動量可以直觀的從計(jì)步界面獲取信息。整個(gè)計(jì)步的關(guān)鍵過程在于模型的建立,而且必須滿足使用手機(jī)的任意性和處理不同環(huán)境下的噪聲[5]。所使用的算法是用FFT 來處理原始數(shù)據(jù),設(shè)立一定的閥值和時(shí)間間隔,然后監(jiān)視過程的變化(踩點(diǎn)->起點(diǎn)->踩點(diǎn))。在本文的程序里采樣率為20HZ,Threshold取1,時(shí)間間隔在200~2000毫秒。
參考文獻(xiàn):
[1]????? 蔣洪深.Android計(jì)步器的設(shè)計(jì)和實(shí)現(xiàn)[J].中國戰(zhàn)略新興產(chǎn)業(yè),2018(12):111.
[2]????? 王斯盾,琚生根.基于Android的嵌入式系統(tǒng)綜合實(shí)驗(yàn)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2017,34(12):168-171.
[3]????? 張清.Android平臺下的計(jì)步器設(shè)計(jì)[J].甘肅科技,2017,33(21):11-13.
[4]????? 段志杰. 基于Android傳感器模塊手機(jī)計(jì)步器的設(shè)計(jì)與實(shí)現(xiàn)[D].重慶郵電大學(xué),2017.
[5]??? 胡東旭,蔡文超.基于Android的人體運(yùn)動計(jì)步器系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2016,12(15):94-97.