胡 洋,候 松,石煌雄, 潘文林
(1.云南民族大学 电气信息工程学院,云南 昆明 650500;2.重庆大学 光电工程学院,重庆 沙坪坝 400044;3.云南民族大学 数学与计算机科学学院,云南 昆明 650500)
随着社会的发展,日常生活佩戴用品越来越智能化.以往人们对智能佩戴设备较注重于头部等部位.以上产品并不是生活必需品,生活需要的穿戴设备腰带却被严重忽略.例如,无法利用传统的穿戴设备获取用户腰围尺寸.腰带相比其他产品拥有可测量、可嵌入、不会遗失等优点.基于以上几个方面的特性,智能腰带发展前景比其他穿戴产品更好.目前,智能腰带主要应用于信息交流、健康检测、安全保护等领域.
智能腰带的研究开发现状:郑刚等[1]基于腰带的摔倒检测并提出运用MPU6050六轴加速度计传感器监测老人姿态;鄢丽娟等[2]提出意外摔倒智能报警腰带系统进行了研究;余震[3]提出盲人导航腰带,该腰带具有超声波模块测距、红外线模组测障等功能通过语音和触觉提醒盲人;阮太元[4]提出具有人体姿势监测功能的腰带;周丽萍[5]提出具有人体重心轨迹及倾角测量功能的腰带.
上述有关智能腰带的研发没有考虑设备与手机客户端进行实时通信的功能,使得产品功能单一.针对该问题,本文提出一种综合功能的智能腰带.在腰带中嵌入STM32单片机,使得腰带具备自动检测用户腰围、测量用户每日行走的步数、久坐时间是否超出设定时间并进行震动提醒等功能,此外还设计了紧急求救按钮用于突发事件发生时呼救.上述功能都全部集成到手机客户端程序中,便于用户使用.
本系统以STM32F103ZET6单片机作为整个系统的主控制器,5V锂电池组进行供电.腰围测量模块根据两路槽型光耦光电测速传感器通过对腰带边缘孔进行计数从而得到腰围长度数据;计步模块和久坐震动提醒模块采用MPU-6050三轴加速度计,通过动态阈值算法对MPU-6050模块采回的3轴角度数据及3轴加速度数据进行阈值判断.求救模块是通过采用GPS北斗定位模块对当前位置进行定位.主控制器还将通过WIFI通信模块将检测数据,如腰围长度、当前行走步数、久坐时间累积等信息发送至手机APP设备云上位机,便于实时查看用户当前状态.如图1系统硬件结构图所示.
本系统运用主控制器实现对腰围测量、求救按键检测、定位模块数据读取、步数记录、久坐震动提醒以及所测数据上传.
腰围数据是通过2路槽型光耦光电测速传感器对腰带边缘孔进行感应.穿过一个孔产生一组方波信号并触发主控制器芯片的外部中断进行计数,再通过公式(1)计算得到腰围长度,如图2腰带测量方式结构所示.
L腰围=L总长-L-C孔数×0.5.
(1)
其中L腰围为腰围数据,L总长为腰带的总长度,L为腰带尾部没有打孔部分总长度,C孔数为通过2路槽型光耦光电测速传感器的孔数,孔与孔之间的距离为 0.5 cm.
计步模块是通过MPU6050模块采回当前姿态的三轴角度值、角加速度值,通过IIC协议传送给主控制器芯片.主控制芯片再采用动态阈值算法对当前动作进行判断,从而进行计数.如图3MPU6050模块原理图所示.
久坐震动提醒模块是通过MPU6050模块采回当前姿态的角加速度值,通过IIC协议传送给主控制器芯片.主控制芯片再采用阈值算法对当前状态进行判断,并进行久坐计时.当用户久坐时间达到预设值,主控制器芯片将会发送命令给震动电机工作,腰带以震动的方式提醒久坐.其中震动电机镶嵌与腰带内部,如图4震动电机布局结构图所示.
根据求救模块的设计思路,在用户求救过程中仅需要向求助对象提供当前位置就能达到目的,选用可以定位的GPS北斗定位模块便可以实现,一旦主控制器芯片检测到求救按键处于被按下状态,主控制器芯片将定位信息发送给指定联系人.
WIFI模块与STM32F103ZET6的串口2(PA2、PA3)相连,并将数据(腰围、步数、久坐时间)进行打包由WIFI模块通过EDP协议发送给手机APP设备云,本腰带涉及到数据的上传与手机APP上位机久坐时间的设定.如图5WIFI模块原理图所示.
智能健康监测腰带的软件系统主要有各个模块的初始化组成.以及求救按键的检测、定位信息的获取、求救信息的发送.MPU6050模块数据采集的读取、阈值的判断、腰围数据的获取以及打包数据的上传与久坐时间设定数据的接收.通过求救按键与定位模块实现报警信息的发送,MPU6050模块实现计步,和久坐提醒,通过2路槽型光耦光电测速传感器进行腰围计数通过WIFI模块将数据上传至手机APP设备云.如图6智能健康监测腰带系统图所示.
采用动态阈值算法的阈值设定根据人在行走过程中,大腿将上下来回抖动,将抖动信号转换成为角度信号,角度的变化将成1个类似于正弦信号的周期性变化.因此阈值的设定为1个周期信号内角度最大值的1/2再加上角度最大值的±1%;角度变化为从大变小的过程时,阈值1采用公式(2)计算,角度变化从小变大的过程时,阈值2采用公式(3)计算.
(2)
(3)
其中,T1为阈值1,T2为阈值2,Amax为1个周期内角度的最大值.判断行走一步的方法为,存在向前的加速度的情况下,若所测角度值在从大变小的过程中,角度值小于阈值1,则记为用户行走一步,紧接着所测角度值在从小变大的过程中,角度值大于阈值2,则记为用户行走一步,通过这样的方式计步.
通过AT指令进行配置WIFI模块并连接热点,WIFI模块与手机APP设备云采用既可以上传数据又可以接收数据的EDP协议,如图7WIFI模块的程序流程图,包含连接云平台(左)、接收数据(中)、发送函数(右)程序流程图.
OneNet是智能设备自助开发工具,提供物联网专网、短信、位置定位、设备管理、消息分发、远程升级等基础服务,并支持后台技术服务.本文采用EDP协议,使OneNet显示数据同时还能控制指令下发,使用中能够实现实时命令或者离线命令等功能.如图8OneNet云端平台设计流程图.
智能腰带由5个功能组成:功能1为显示腰围尺寸;功能2为设置久坐时间;功能3为当前是否为久坐状态;功能4为显示每日步数;功能5为发送求救信号;如图9上位机手机APP设备云界面所示,分别展示5个功能在界面位置.根据图9分析,功能1腰围显示为119,实际腰围测试为118误差很小满足用户需求.功能2设置预定的久坐时间,到达设置时间功能3会通过腰带震动提醒当前为久坐状态.接下来实验通过数据展示分析,功能4腰带计步功能与手机计步功能进行对比测试.功能5通过在5个不同地点测试求救系统稳定性.
五个人依次系上腰带,并打开手机的计步功能.同时记录实际行走步数、系统腰带步数和手机计步.如图表1,进行50、100、150、200和300步的记录,其中系统一和手机一为同1个人行走的步数记录.根据表1分析,不同的人进行测试,增加数据多样性.同时测试距离长短不一保证每一组数据的独立.智能腰带和手机的计步分别测试25组数据,保证数据有一定的对比性.
表1 采集步数数据精度测试表
通过表2分析实际行走步数、腰带测试步数和手机计步均存在一定的误差.腰带计步功能的绝对误差范围在1~13,相对误差范围在1%~6%.手机计步功能的绝对误差范围在1~10,相对误差范围在1%~6%.通过分析系统的误差随着行走的步数增加逐渐趋于稳定.形成误差的主要原因是每个测试的人行走过程中大腿抖动不同,最后造成不同误差.综合分析智能腰带的计步功能误差小,符合使用要求.
表2 计步功能误差分析表
求救功能测试,选择5个不同信号地点测试.分别是空旷马路、室内房间、地下车库、水域和高层建筑.5个测试地点信号强度不一,最强为空旷马路,最弱为地下车库.每一个地点分别由5个人依次系上腰带在不同地点测试.测试结果5个地点25组数据,发送求救信号,实验结果为均接收到正确的求救信息,系统具有很强的稳定性能.
以STM32F103ZET6芯片为核心构建了一个智能健康监测腰带.通过人体行走姿态规律分析,设计出一种简单、可靠的动态阈值算法,能够精准的对用户行走的步数进行计数.经过多次的实验,得出智能健康监测腰带,计步误差小、精度高、系统稳定,符合设计要求,具有较高的社会经济价值.本系统设计通信模块考虑价格问题采用WIFI进行通信,在实际生活中没有网络情况下该系统数据就无法进行传输.在未来工作中继续优化该系统通信模块,使系统应对更加复杂真实环境.