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