基于Android系统的手机计步器设计
作者:刘丹 黎培瀚 肖德琴
来源:《数码设计》2018年第06期
摘要:在快节奏高效率的现代社会中,不少人处于亚健康状态,事实证明坚持步行,就能达到锻炼的目的。随着智能手机的普及,本文通过对Android系统的研究,设计了一套基于Android系统的手机计步器的应用软件。
关键字:Android;计步器;加速度传感器u8
中图分类号:TP311 ;;;;;文献标识码: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系统的手机计步器设计[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.
引言
本设计是基于Android平台的一款小型应用,针对智能手机用户日常使用的实际情况,帮助用户随时随地记录和了解自身的运动情况、锻炼成效。其使用Java 语言,利用Eclipse开发工具开发完成。根据加速度传感器,进行数据采集、处理和分析原始数据,并进行特征
提取、建立模型,把所提取的特征用来识别步数。
1; 基于Android系统的计步器的开发平台
1.1; 开发工具及环境简介
Android的上层应用程序是用Java语言开发[1],同时还需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开发环境Eclipse。只有Eclipse还不够,还应该有由SUN公司提供的Java SDK。此外,Android的应用程序开发和Java开发有较大的区别,所以还需要有Google提供的Android SDK。同时,还需要在Eclipse安装ADT [2-3]。
1.2; 开发环境
本软件是在Windows 7操作系统中,利用eclipse开发工具搭载Android SDK工具包,结合Android手机自带的加速度传感器进行开发。
2; 基于Android系统的手机计步器的实现
2.1; 传感器数据采集
重力传感器(G-Sensor)又称为加速度传感器,用来感知加速度的变化,它使用三维方向的加速度分量来表示。该数值包含地心引力的影响,单位是m/s^2。
将手机平放在桌面上,x轴默认为0,y轴默认0,z轴默认9.81。将手机朝下放在桌面上,z轴为-9.81。将手机向左倾斜,x轴为正值。将手机向右倾斜,x轴为负值。将手机向上倾斜,y轴为负值。将手机向下倾斜,y轴为正值。
2.2; 特征提取模块
用户在水平步行运动中,垂直和前进两个加速度会呈现周期性变化。在步行收脚的动作中,由于重心向上单只脚触地,垂直方向加速度是呈正向增加的趋势,之后继续向前,重心下移两脚触底,加速度相反。水平加速度在收脚时减小,在迈步时增加[4]。
通过波形图分析,在步行运动中,垂直和前进产生的加速度与时间大致为一个正弦曲线,而且在某点有一个峰值。其中,垂直方向的加速度变化最大,通过对轨迹的峰值进行检测计算和加速度阀值决策,即可实时计算用户运动的步数,还可依此进一步估算用户步行距离。
2.3; 运动状态的计算
(1)距离参数:
距离 = 步数 × 每步距离
跨步长度与速度(每2秒步数)和身高的关系有对应关系(Neil Zhao,2010)
(2)速度参数:速度 = 距离/时间,而每2秒步数和跨步长度均可根据上述算法计算,因此可以使用以下公式获得速度参数。
速度 = 每2秒步数 × 跨步/2 s
(3)卡路里参数:我们无法精确计算卡路里的消耗速率。决定其消耗速率的一些因素包括体重、健身强度运动水平和新陈代谢,不过,我们可以使用常规近似法进行估计。卡路里消耗与跑步速度的典型关系为:
卡路里(C/kg/h) = 1.25 × 跑步速度(km/h)
3; 测试运行与分析
经过测试,手机计步器的功能基本上与设计构想一致。其中存在的问题是计步器的计步准确度不是完全可信的,由于是获取手机上硬件加速传感器的信号,又因为手机的颤动程度用户是不可能准确控制的,所以会出现记不起不准确的现象。
4; 结束语
本软件能实现用户对计步器的基本要求,方便用户开启/关闭计步器,对运动情况和运动量可以直观的从计步界面获取信息。整个计步的关键过程在于模型的建立,而且必须满足使用手机的任意性和处理不同环境下的噪声[5]。所使用的算法是用FFT 来处理原始数据,设立一定的阀值和时间间隔,然后监视过程的变化(踩点->起点->踩点)。在本文的程序里采样率为20HZ,Threshold取1,时间间隔在200~2000毫秒。
参考文献:
[1];;;;; 蒋洪深.Android计步器的设计和实现[J].中国战略新兴产业,2018(12):111.
[2];;;;; 王斯盾,琚生根.基于Android的嵌入式系统综合实验设计[J].实验技术与管理,2017,34(12):168-171.
android软件 [3];;;;; 张清.Android平台下的计步器设计[J].甘肃科技,2017,33(21):11-13.
[4];;;;; 段志杰. 基于Android传感器模块手机计步器的设计与实现[D].重庆邮电大学,2017.
[5];;; 胡东旭,蔡文超.基于Android的人体运动计步器系统的设计与实现[J].电脑知识与技术,2016,12(15):94-97.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论