基于STM32的个人健康管理系统设计
2020-10-23蔡俊王志刚王丽王楷
蔡俊 王志刚 王丽 王楷
摘 要:为有效预防疾病、关注空巢老人身心健康,采用嵌入式技术、传感器技术和无线通信技术设计了一款集检测、理疗于一体的个人健康管理系统。系统主要由STM32主控模块、心率/体温检测与理疗设备、LabVIEW上位机以及手机端APP四大部分构成。人体心率和体温数据被采集并经STM32处理分析后,系统执行相应控制指令,同时上传体检数据至上位机。当人体健康状态不佳时,智能启动理疗设备。测试结果表明:系统运行稳定可靠,实时性好,准确度高,操作简单安全,适用于老年人群体。
关键词:STM32;传感器;无线通信;上位机
中图分类号:TP274 文献标识码:A 文章编号:2095-7394(2020)02-0051-10
随着我国人口老龄化的发展,城乡空巢老人现象愈发明显[1],在一些家庭中,子女平时忙于工作,疏于照顾年迈老人,老年人群体往往身体状态欠佳、行动不便;且多数老人患有风湿、关节炎、脊椎病等,需要配合理疗手段才不易反复发作,但定期外出体检、理疗又很难实现,因此,老年人群体的健康问题备受关注。近年来,杨裴裴、张自达等分别基于嵌入式技术设计了人体健康状况检测系统,实现了日常生理参数的测量和监护功能。[2-5]
本文基于STM32嵌入式系统,结合LabVIEW 软件和Android技术,设计了一套含人机交互界面的个人健康管理系统,可实时检测人体心率/体温数据,并配备智能控温的艾灸理疗功能,利用传统医学中艾灸疗法调理身体、舒缓压力。该系统方便操作,安全可靠。
1 系统总体设计
系统分为下位机和上位机两大部分,其中:下位机负责检测人体心率/体温、提供艾灸理疗服务以及实时上传体检数据至上位机,它主要由STM32主控模块、心率脉搏/温度传感器以及艾灸理疗设备组成;上位机开发采用LabVIEW和Android技术,主要负责显示体检数据、管理用户健康状态,同时控制理疗设备工作状态。系统上/下位机间采用无线串口和蓝牙通信,实现协调运作,总体框图如图1所示。
2 系统硬件设计
2.1 MCU选择
下位机STM32主控模块和艾灸理疗设备分别选用ARM 公司Cortex-M3为内核的STM32F103ZET6和STM32F103C8T6微处理器芯片,系统时钟72 MHz,芯片处理速度快、功耗低、串口资源丰富,内置两个12位数模转换器,以满足系统信息采集速度、存储以及通信需求。
2.2 心率/温度检测模块
心率/体温是人体健康的重要指标。心率检测采用pulsesensor脉搏传感器,它体积小、方便携带;供电后,传感器LED灯点亮并发出一定波长入射光,穿过人体皮肤后反射,从而检测人体心率。传感器实物图如图2(a)所示。
体温和艾灸理疗设备温度检测均选用DS18B20温度传感器,它具有灵敏度高、测量范围大等优势,理疗设备一般工作在高温环境,实物图如图2(b)所示。
2.3 无线通信模块
系统中,STM32主控模块采用无线串口与心率/体温检测模块,理疗设备以及LabVIEW上位机实现通信,无线串口通信具有传输距离远、传输稳定等特点,其引脚连接如图3(a)所示。
STM32主控模块与手机端APP之间采用HC-05蓝牙模块进行通信,该模块体积小巧、使用灵活,用户可根据需要设置波特率,通信距离可达10 m,其引脚连接如图3(b)所示。
3 系统软件设计
3.1 软件开发环境概述
系统在开发过程中,运用Keil uVision5软件环境编写下位机代码,包含STM32主控功能、心率/體温检测以及艾灸理疗设备控制程序;程序下载过程分别使用了J-LINK下载器在线下载方式和基于FlyMcu软件的串口下载方式;采用LabVIEW软件编写PC端上位机界面,LabVIEW拥有强大的图形化编辑语言功能,其可视化界面为开发带来了便利[6];手机端APP设计是在eclipse软件开发环境下完成的,使用Java语言编写APP程序。系统软件开发环境如图4所示。
3.2 系统主程序设计
个人健康管理系统下位机可独立完成心率/体温检测以及理疗功能,上位机PC端LabVIEW界面和手机端APP程序,一方面,可实时检测并显示人体健康数据以及艾灸理疗设备工作情况;另一方面,可控制下位机按需启动理疗设备。系统主要分为两大工作模式:心率/体温检测模式和艾灸理疗手动模式,主要工作流程如图5所示。
当系统处于心率/体温检测模式下,下位机STM32主控模块可发送指令启动心率/体温数据采集功能,并在上位机LabVIEW以及APP客户端界面完成健康数据的实时显示;同时,当心率或者体温处于非正常状态时,系统自动开启艾灸理疗设备,可在一定程度上缓解体检者的不适状况。
当系统处于艾灸理疗手动模式下,下位机STM32主控模块、艾灸理疗设备、上位机LabVIEW以及手机端APP程序均可发送指令手动开启艾灸理疗设备,设置艾灸盒工作温度,并在上位机实时显示理疗盒工作状态。
3.3 心率/体温检测
心率/体温检测模块采用pulsesensor脉搏传感器采集人体心率值,由DS18B20温度传感器采集体温值,并上传体检数据至上位机软件,心率/体温检测子流程如图6所示。
3.4 通信模块程序设计
STM32主控模块采用无线串口分别实现与心率/体温检测、艾灸理疗设备、上位机LabVIEW之间互联通信。系统可实现多设备全双工串口通信,通信协议中设置包头、数据位及包尾,其中:包头主要用于识别设备,采用十六进制0xA1、0xA2,0xA1代表艾灸理疗设备,0xA2代表心率/体温检测设备;数据位中主要存储控制指令,不同数据代表不同指令,如0x10代表打开设备、0x11代表关闭设备;包尾表示数据结束。帧结构如表1所示。
串口通信部分核心程序如下:
……
send[0]=0XA2; //包头
send[4]=0X0d; //包尾
send[5]=0X0a; //包尾
while(1)
{
u8 i ;
temperature = DS18B20_Get_Temp ( ); //
获取温度值
send[1] = temperature/10; //获取温度值
整数部分
send[2] = temperature%10; //获取温度值
小数部分
send[3] = Num; //将采集的心率值赋值
给send[3]元素
for ( i= 0 ; i<6 ; i++)
{
USART_SendData ( USART1, send [i] ) ;
//按照帧结构发送数据包
while (USART_GetFlagStatus ( USART1,
USART_FLAG_TC )!=SET );//等待发送
結束
}……
3.5 上位机LabVIEW设计
LabVIEW采用图形化编辑语言,其可视化界面为上位机开发带来便利,个人健康管理系统前面板包含心率/体温测量、艾灸理疗控制和串口通信界面、系统简介和使用说明。人机交互界面可方便用户直观了解体检者的健康数据,同时可帮助空巢老人手动控制艾灸理疗设备,从而提升用户体验。
LabVIEW核心程序框图如图7所示,主要包含串口数据发送和解析两大部分。在程序框图设计中:串口通信协议采用波特率9 600,端口用PC机COM11端口;上位机通过串口VISA读函数接收下位机消息,数据解析依据串口通信协议,通过从数据包中查找固定包头以及字符串分割函数等的使用,提取有效数据位;上位机通过串口VISA写函数向下位机发送控制指令,同样依据串口通信协议帧结构,以数据包形式发送,如A110、A111、A112、A113为控制指令,分别代表关闭理疗设备、打开理疗设备、开电机和关电机。
3.6 手机端APP设计
手机端APP设计[7]是在eclipse软件开发环境下完成的,使用Java语言编写APP程序,可实现心率/体温值采集、对理疗设备开/关、手动调温功能、预警和点火功能等。其中:紧急按键实现对理疗设备紧急处理,即关闭总电源;点火是辅助功能,作用为防止理疗过程中出现火灭问题。APP软件基于Android 4.03设计,大部分安卓智能手机都可下载安装,大小在333 KB左右,其界面由多种控件组成,如表2所示。
4 系统调试及数据分析
该系统调试主要内容包含:上位机LabVIEW、APP客户端功能测试、下位机数据采集准确度和理疗设备工作状态受控情况,系统整体实物图如图8所示。
由图8可见,理疗设备整体外观为长方形盒体,顶端由传感器模块、控制模块组成,前端包含显示屏、功能按键(含升温、降温及一键启动),内部置有点燃艾条孔洞,孔洞上端是散热装置。艾灸理疗设备具备自动调温功能,相对于传统艾灸盒而言,其操作简单、使用安全,功能更加人性化。
4.1 LabVIEW上位机测试
在上位机LabVIEW测试过程中,串口号选择COM11端口,波特率9 600,首先点击串口通信模块“连接”按钮,实现上位机与下位机终端连接;然后点击体温计模块“工作开关”按钮,测量体温并实时显示;最后点击心率测量模块“工作开关”按钮,测量心率并实时显示。在测试中,上位机显示人体温度37.5 ℃,心率76次/min,与专业测量设备数据相符;测试艾灸理疗控制界面中各个控制按键功能,发现与理疗设备实际工作状态一致。LabVIEW测试效果如图9所示。
4.2 手机端APP测试
APP客户端主要测试蓝牙连接、下位机心率/体温数据接收以及理疗设备按键控制等功能。在测试过程中,点击“打开蓝牙”,启动手机蓝牙功能,下拉滚动条,选择匹配设备,点击“连接”后,APP客户端与下位机建立通信,完成心率/体温值测试,测试效果如图10所示,与下位机健康数据相符。
4.3 数据分析
4.3.1人体心率数据分析
人体心率无时不在波动,多次测量可减少测量误差。本文使用下位机心率检测模块以及市场上专业的心率检测设备,针对不同受检者在不同时间,分别采集了10次心率数据,对两组数据进行对比,如表3所示。
如图11所示为测试数据效果图。图11(a)直观反映了该心率检测模块和第三方测量数据大致相符,相对误差控制在±4. 3%以内,总体来说,测量结果具有一定的可靠性,值得应用推广。人体温度测试方法类似,测试结果较理想,不再赘述。
4.3.2理疗设备温度数据分析
以下主要完成对控温时间和控温精度的测量。在测试过程中,将艾灸理疗设备目标温度设定为50 ℃,分别测量不同初始温度(20~80 ℃)下达到稳定状态的时间及温度误差。在控制精度方面,理疗设备自动控温相对误差可达±0.4%以内,测量结果如表4所示。
如图11(b)控温时间结果显示,预先设定温度值为50 ℃,初始值在20~50 ℃范围内是升温过程,必须等待艾条燃烧,而艾条燃烧是一个缓慢过程,此过程会花费一定时间;初始温度越是接近50 ℃用时越少;当初始温度在50~80 ℃之间时,是降温过程,因艾条原本处于高温高热状态,降温过程所用时间就会较多。总体来说,控温时间尚可,基本能达到用户需求。
5 结论
本文基于嵌入式技术、传感器检测技术及无线通信技术,针对行动不便的空巢老人群体,设计了一套家用个人健康管理系统,该系统具备心率/体温检测和艾灸理疗等功能。LabVIEW上位机和手机APP中人性化的交互界面设计,能方便老人观察体检数据,同时,可智能控制艾灸理疗设备的工作状态。系统调试结果表明:心率/温度测量结果准确可靠,艾灸理疗功能运行稳定,能满足老年人群体对健康理疗的基本需求。当然,该系统尚存在不足之处,其目前仅支持心率/体温基础测量,对于人体其他日常健康指标的测量功能还有待进一步完善。
参考文献:
[1] 杨菊华,王苏苏,刘轶锋.新中国70年:人口老龄化发展趋势分析[J].中国人口科学,2019(4):30-42.
[2] 杨裴裴,李胜岚,石恒瑞.基于STM32和Onenet的智能健康管家的设计与实现[J].电子产品世界,2019,26(8):60-64.
[3] 张自达.基于STM32的多功能智能健康手表设计[D].银川:宁夏大学,2018.
[4] 张敏,石倩倩,张珊珊,等.基于语音识别和STM32的老年人健康狀况监护系统的设计[J].电子质量,2017(5):57-59.
[5] 尹继武,付奎.基于STM32的生理参数无线监测系统设计[J].陕西理工大学学报(自然科学版),2019,35(5):16-20.
[6] 王浩博,唐晨栋,张宇.基于LabVIEW的室内环境智能监控系统[J].物联网技术,2019,9(9):12-15.
[7] 武志鹏,陶松岚.基于Android和蓝牙的遥控开关控制系统设计[J].物联网技术,2019,9(9):49-51.
责任编辑 盛 艳
Design of Personal Health Management System Based on STM32
CAI Jun,WANG Zhigang,WANG Li,WANG Kai
(School of Electronic Engineering,Huainan Normal University,Huainan 232000,China)
Abstract: In order to effectively prevent the diseases,and focus on physical and mental health of the empty-nest elderly,a personal health management system with detection and physiotherapy functions is designed by using embedded technology,sensor technology and wireless communication technology. It is mainly composed of STM32 microprocessor module,the equipment with heart rate/body temperature monitoring and physiotherapy functions,upper computer based on LabVIEW and mobile APP. Data of heart rate and body temperature are measured and analyzed by STM32, then it will execute the corresponding instruction, and upload physical examination data to the upper computer. The physiotherapy equipment will be automatically activated when people is in poor health. The system test results show that it has the advantages of good real time performance,high accuracy,simple and safe operation,which is suitable for the elderly.
Key words: STM32;sensor;wireless communication;upper computer
收稿日期:2020-01-09
基金项目:2017年安徽省大学生创新创业训练计划项目“智能调温艾灸盒”(201710381089)
作者简介:蔡俊,助教,硕士,主要研究方向为信号处理与无线通信、计算机图形图像处理。