将数字滤波后的结果进行步态分析,判定一次有效计步的3 个条件为:
1)曲线向下跨过动态阈值。动态阈值每1 s 更新一次,取上1 s 产生的最大值和最小值的平均值。
2)人体走路的频率在0.5~5 Hz,即2 次计步之间的时间间隔必须在0.2~2 s 的时间窗口之内,否则无效。
3)人体走路产生的加速度变化会有一个波峰和波谷,其峰值必须大于预定值,本系统设为1.5 m/s2 。
03
数据库设计
由于应用程序需要运行在硬件系统中,所以通常的Sqlserver,DB2等大型商用数据库并不符合嵌入式系统的简洁小型够用就可以的需求。同时Android移动智能操作系统自带了嵌入式轻量级的数据库SQLite数据库,其良好的嵌入式系统适用性可以满足软件运行和产品的需求,其中SQLite数据库的特点主要包括:独立性、非服务式、零配置、元处理和开放性等特征,这些特征在保证数据库运行的简介快速之外,又保证了数据库数据的安全。
当我们设计数据库的时候,一定要满足我们想要实现的功能,并且,为了达到数据库特别的明了,最后把数据库以两个表格的形式展现出来,一个是用来保存睡眠信息的表格,另一个是用来保存运动时间的表格。
04 硬件模块设计
05
应用软件设计
应用软件层里面包含了这款智能设备的所有功能,是进行人机交互的接口,为使用者提供直接的服务。在这里这款智能设备的上层应用开发,基本上来讲就是基于Android移动智能操作系统的手机APP的研究,所以在传统系统软件研发中的内容都可以用在这款智能设备的手机APP软件研发。根据“总体架构、整合开发、分步实施、持续完善”的工作思路,这款手机APP应该具有包含完善的运动及睡眠的数据。也是为了以后维护起来会更加的便捷,使用起来更加的方便。在这基础上还应该拥有舒适好看的界面,这样就可以给用户一个良好的视觉体验。
在功能方面该智能健康手表的健康应用软件需要对用户的睡眠和运动进行监测,把使用者在使用状态时的运动数据和睡眠数据进行整理。因为这款智能手表应该和手机端共同使用,所以最后把整理的全部信息发送到手机端。
使用者根据这款APP能够观察自己在使用状态时的运动以及睡眠的数据,并且根据预先设定的值来监督自己是否完成,从而达到监督使用者是否完成自己的任务,让使用者坚持锻炼,提高身体素质。在此基础上,手机APP也应该向手机发送整理之后的信息并且读取预先设定的信息。
依据用户对功能的要求,我们把手机APP主要分成三个部分:电源管理模块、运动监测模块和睡眠监测模块。在这基础上,运动检测模块下又分为两部分:分别是使用者使用状态下运动的步数、达到预先设定步数时震动提醒;睡眠检测模块下又分为三部分:分别是使用者使用时的睡眠总之间、使用者使用时的深度睡眠时间以及使用者使用时的轻度睡眠时间。
这款手机APP主要拥有三个部分。首先使用者应该根据手机端向这款手机APP的健康管理模块进行信息传送,把使用者在手机端输入的使用者预计的健康信息传送到手表端的程序中,为了用来进行健康监测。手机APP主要是为了达到监测运动质量和睡眠质量的目的,所以就应该包含两个和健康监测有关的模块,分别是:运动监测模块和睡眠监测模块,对使用者在使用状态下进行监控。
其中,健康管理模块为运动监测信息设置模块。手表端会收到用户在手机端输入的预先设置的信息,然后对信息进行处理。每个子模块的信息,分别被其他子模块使用。
运动检测模块主要分为两个部分,分别是使用者使用状态下运动的总步数以及达到预先设定步数时的运动提醒模块。在健康应用软件的工作模式为运动监测模式时,应用软件用户从底层的加速度传感器(ADXL345)驱动程序获得用户行走的事件,以时间为标杆对步数进行统计。
睡眠检测模块主要分为三个部分,分别是统计使用者在使用状态下睡眠的最时间、深度睡眠时间以及轻度睡眠时间。此时手机APP的运行状态应该是睡眠监测状态,应用软件从底层加速度传感器(ADXL345)驱动程序获得用户翻身的事件,以时间为标杆对用户的翻身频率进行统计,同时根据设置的健康数据和统计算法,再以时间为标杆对用户的睡眠总时间、轻度睡眠总时间、深度睡眠总时间进行统计。
电量监测功能是对手表当前使用时剩余电量的监测情况,并显示到手机APP屏幕上方,达到对手表电量的实时监测,以免因电量不足而影响用户的正常使用。