当前位置:首页 期刊杂志

基于Android系统的手机计步器设计

时间:2024-05-04

刘丹 黎培瀚 肖德琴

摘要:在快节奏高效率的现代社会中,不少人处于亚健康状态,事实证明坚持步行,就能达到锻炼的目的。随着智能手机的普及,本文通过对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)

AbstractIn 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.

KeywordsAndroid; pedometer; acceleration sensor U8

引用:劉丹, 黎培瀚, 肖德琴. 基于Android系统的手机计步器设计[J]. 数码设计, 2018, 7(6): 33-33.

CiteLIU 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.

[3]      张清.Android平台下的计步器设计[J].甘肃科技,2017,33(21):11-13.

[4]      段志杰. 基于Android传感器模块手机计步器的设计与实现[D].重庆邮电大学,2017.

[5]    胡东旭,蔡文超.基于Android的人体运动计步器系统的设计与实现[J].电脑知识与技术,2016,12(15):94-97.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!