物联网的老年人远程监护定位系统
2020-12-17刘云天
杨 刚,韩 路,刘云天,张 鑫
(西安邮电大学 通信与信息工程学院,陕西 西安 710121)
人口老龄化已成为全世界共同关心的问题,人口老龄化对各个国家和地区的发展产生了长远的影响[1]。进入21世纪以来,中国老年人口数量急剧增加,独生子女家庭比例越来越大,年轻人的工作压力不断增加,这在客观上造成了子女对老年人的监护困难。高血压、心脏病等疾病在老年人中极为普遍,容易造成老年人出现意外跌倒状况,造成伤残[2]。特别是当老年人独自一人出门在外时,如何远程监护老年人成为亟待解决的问题。
目前,已经有一些学者对老年人跌倒检测与血压测量的相关技术进行了研究。文献[3]采用将手机放入胸前口袋中的方法,利用安卓手机平台实时检测人体活动,得到老年人的姿态和活动状态信息,但是胸部所获取的信息,无法充分反应老年人的人体姿态特征。此外,智能手机不能长时间稳定工作,无法对老年人进行长时间的监护。文献[4]通过研制监护仪器来监测、分析人体的心电图、血压等重要体征数据,形成更详细的健康报告,若发现报告异常,则系统自动会将报告和监测数据一起发送给医院监护中心。这种方法主要应用于家庭、社区、养老院与医院等机构的健康监护,但未能满足老年人日常出行在外时的实时健康监护需求。文献[5]设计了多参数健康监护仪,用于采集人体的心电、心率、血氧饱和度和运动姿态数据,当数据异常或老年人发生跌倒时发出警报,并通过蓝牙与智能手机连接进行数据的显示和存储,并且将监护数据上传到社区健康监护中心,为医生对老年人病情分析提供重要数据参考,但其缺点是采用传统专用服务器,不利于数据共享和广域应用。文献[6]设计了一种实时的心率跌倒检测系统,采用Zigbee网络实现采集信号到掌上电脑(personal digital assistant,PDA)的汇集,应用WiFi局域网实现报警和定位功能,使用两个电极采集心电信号,在PDA上采用小波分析和表决算法提取心率数据。该方法的不足之处在于仅适用于WiFi局部区域,不具备远程和广域特点,应用范围受限。
目前研究的系统和装置都可以对远程监护老年人起到一定作用,但功能相对单一,绝大部分的研究都没有切实将老年人作为用户中心,并且无法有效积累老年人长期的健康测量数据。针对这些问题,本文拟设计一种基于物联网的老年人远程监护定位系统。该系统包括便携式检测装置,物联网云计算平台,监护人手机应用程序(application,APP)客户端软件和社区监护管理软件。采用无创便捷、基于手指动脉波的光电检测算法检测老年人血压与心率,利用加速度计叠加陀螺仪的方式检测老年人的姿态和活动状态信息。
1 老人监护系统总体架构
基于物联网的远程老年人监护定位系统,由便携式监护装置终端、移动物联网云平台端、社区监护管理软件以及手机客户端软件3个层次构成。如图1所示。
图1 老年人监护定位系统总体架构
将便携式监护装置终端穿戴在老年人身上,内置全球定位系统(global positioning system,GPS)/北斗定位系统、4G通信模块、加速度陀螺仪及光电容积脉搏传感器,综合实现老年人户外实时定位、跌倒检测和血压心率测量等功能。其中,对老年人跌倒检测主要基于加速度矢量特征的跌倒条件并结合老年人跌倒后续几秒钟的检测值综合判断,以降低误判率。血压及心率数据获取基于手指动脉波,通过分析计算出容积脉搏波的传播时间,然后根据脉搏波传播时间和血压之间相关性计算血压值。
物联网云平台包含用于数据传输的移动互联网、物联网云计算平台和公共医疗中心。便携式装置端的老年人监护数据,经4G移动互联网上传到物联网云计算平台。云计算平台存储数据并分类处理,可以实现普适广域的用户应用。利用物联网云平台的应用程序接口(application programming interface,API)实现对数据库中大量数据的分类管理和简单统计。社区管理系统主要指运行在个人计算机(personal computer,PC)上,对社区或养老院等多用户进行监管系统软件。当社区中某个用户出现意外,社区管理系统界面会弹出报警信息,并且会自动调用高德地图锁定老年人目前所在位置,迅速实施救治。另外,利用社区管理系统还可以查看各个老年人所在数据库的体征、电子病历等信息。在其子女手机客户端或医护等监护人的智能手机上运行的Android客户端APP应用软件,主要完成与服务器间的数据交互以及对自身数据的存储和处理、网络通信等功能,实现对所监护老年人血压、位置、跌倒等相应信息的监测,在老年人发生意外时立即提醒其子女等监护人的报警提示。
在数据通信方面,利用移动网络将老年人监护终端连接到云平台。全球广域网(world wide web,Web)管理端与Android手机客户端利用无线技术连接到云平台,获取老年人的实时数据,完成社区老年人监护系统中3个子系统之间的数据流通。系统主要通信流程为,老年人监护终端将采集到的位置信息与生理参数处理后以JavaScript对象简谱(javascript object notation,Json)格式上传到云平台数据库。云平台数据库存储大量的生理参数,云平台对数据分析存储可用于医学研究,当检测参数出现异常时,云平台数据库实现推送报警功能。终端应用设备请求云服务器相应数据接口,云服务器获取到云数据库中对应的数据并将其封装为Json格式响应给终端应用设备,终端应用设备解析并显示数据。系统通信模块结构示意如图2所示。
图2 系统通信模块结构示意
2 老年人监护系统的检测功能
2.1 跌倒检测
老年人跌倒检测模块基于加速度矢量特征,由加速度传感器、陀螺仪与三轴加速度芯片组成。通过对加速度传感器所采集到的老年人体姿的加速度矢量以及加速度幅值等特征进行分析,判定人体跌倒情况,并以加速度幅值瞬时变化值的大小,来辅助分辨跌倒后当事人是否还能控制身体活动,是否需要该装置报警求助的情况,从而实现准确检测和报警,老年人跌倒检测流程如图3所示。
图3 老年人跌倒检测流程
分别从人体的姿态和运动变化两个方面来判断老年人跌倒情况。人体的姿态变化主要通过陀螺仪的Z轴倾角来测量,人体的运动变化主要通过矢量和加速度来测量。为更准确判断老年人跌倒,将终端佩戴于人体的重心位置,即人体的腰部,以实现更加准确测量。处理器实时采集加速度数据,当检测到有加速度明显变化时,对其矢量进行数据处理进行判定。设S为加速度幅值,Smax为加速度幅值的最大值,当加速度幅值大于最大值,即S>Smax时,说明老年人处在剧烈运动状态,容易造成跌倒。通过加速度矢量和加速度幅值S确定人体已经跌倒,只要被监护人还能够控制自己的身体进行活动,能够自己或其他人帮助站起来,就不需该置进行报警求助。假设加速度幅值瞬时变化值为ΔS,ΔSmax为加速度幅值瞬时变化值的最大值,设置延迟时间,继续检测ΔS,若ΔS<ΔSmax,说明本次测得的S与上次测得的S没有太大差距,可以认为老年人跌倒未起,此时触发处理器进行报警处理,系统会通过全球通信移动系统(global system for mobile communications,GSM)模块向老年人子女或医护人员发送位置信息和求助信息。
2.2 血压检测
利用老年人食指按压一组反射式光电容积脉搏传感器的方式,检测得到手指动脉的脉搏波传播时间(pulse transit time,PTT),利用脉搏波传播时间与血压变化之间的关系来计算血压值。不同被测者都有自己的个性化特征参数,建立的PTT与血压关系式也并不相同,使得血压的检测更加准确。
便携式检测装置进行血压采集时实物图,如图4所示。
图4 便携式检测装置进行血压采集
3 老年人监护系统的软件实现
3.1 统一开放式的物联网云平台
传统的远程监护中心一般采用固定网际互连协议(internet protocol,IP)专用服务器结构,造成检测数据成了信息孤岛,不利于数据共享和广域应用。采用基于物联网架构的云平台模式,可避免传统专用服务器不利于广域应用的弊端[7]。
目前常用的开放式的物联网云平台主要有新浪云平台、乐联网、阿里云平台、云智易等。通过对上述4个云平台的分析与测试,最终根据业务用户数,数据量等相关参数,选择新浪云平台作为系统的统一开放式的云平台架构。新浪云是我国最大云计算服务平台[8],支持开发者在特殊的运行环境中调用平台基础资源,实现下位监控数据录入、Web管理端输出等功能的物联网云平台,为开发者提供了便捷的管理界面[9]。新浪云架构分为反向代理层、路由逻辑层、Web计算服务池3层。反向代理层负责响应网页和手机客户端的超文本传输协议(hyper text transfer protocol,HTTP)请求。服务路由层负责桥接测量设备或监护设备和互联网。Web计算服务池负责实际处理用户的HTTP请求,通过接口调用各种服务实现采集便携式终端人体健康数据、提供数据存储空间、计算与处理、提供对被检测人日常健康记录的管理等功能,便于监护人和社区管理人员实时访问老年人的生活状态,更加有效地完成对老年人的健康监护。
C/S(client/server)体系结构的优点在于能实现复杂的业务流程,业务处理能力强,有比较强的执行力。B/S (browser/serve)体系结构是在客户端与服务器端加入Web服务器,故在系统的维护与升级方面更加便捷,有很强的共享性与分布性,用户可以随时随地访问服务,不受地理条件约束。为了保障基于云平台社区老年人监护系统的完整性,平衡B/S与C/S架构的优缺点,决定将2种架构混合使用。根据监护人与社区管理员的具体需求,在子女手机客户端采取C/S架构,而在社区Web管理端则采用B/S架构,使得该系统既具有B/S快速更新能力,又具有C/S高可靠性和互动性两种结构的优点。构建的网络体系结构,如图5所示。
图5 基于C/S和B/S网络体系结构
3.2 社区监护管理系统
社区监护管理系统能够实现用户基本信息管理、体征参数监测显示及危险提示等功能。其中,用户基本信息管理部分主要分3个部分。用户管理模块包括用户登录和用户退出等功能。老年人信息模块包括老年人身份信息及监护人信息、注册或编辑老年人电子病历以及根据老年人的患病史设立患病等级(1-5级)等功能。终端信息模块包括每个老年人所佩戴的终端编号及其运行状态等功能。
利用Java Web编程来实现社区老年人健康监护系统的后台管理。Web后台管理系统的主要功能包括用户登录、监护终端管理、老年人病历档案管理、健康参数实时显示、历史数据查询、老年人定位、轨迹查询、老年人跌倒阈值设定、报警提示等。社区监护管理系统界面如图6所示。
图6 社区监护管理系统界面
3.3 监护人手机客户端
利用Android手机系统[10]开发手机客户端应用软件。软件系统采用C/S架构,客户端软件的功能结构组成如图7所示。其中,服务器采用公共的物联网云平台,客户端部分采用Java开发,利用SharedPreferences结构实现数据存储,结合Socket完成网络通信,最终编译之后打包生成安卓应用程序包(android application package,APK)文件,直接安装在Android 手机上。
图7 Android客户端软件功能结构
软件在老年人子女或医护等监护人手机上运行,通过移动无线网络向物联网云平台发起请求,实现老年人各项体征数据的显示、查询及保存。客户端能够实现突发报警、地图定位、电子栅栏、实时数据查询、历史数据查询、参数设置、帮助等功能。监护人可通过手机主动查询老年人当前和历史信息,在老年人发生意外时立即收到报警,利用软件提供的老年人位置进行及时救助。
客户端APP软件界面主要包含体征监测界面、位置监测界面与设置主界面,利用3个按钮组成的底部导航栏实现不同主界面的切换。体征监测界面主要包括血压监测与跌倒监测。两个监测页面所含部分界面元素保持相同,且便于以后拓展软件监测参数,并采用安卓首页Fragment结合翻页视图方式,实现血压与跌倒两个标签页的标签点击切换与滑动切换功能。
4 老年人监护系统的实测结果
4.1 跌倒实测
为测试老年人跌倒检测性能,实验中让被试者佩戴检测终端进行检测。跌倒检测相关结果如图8所示。
图8 跌倒检测结果
其中,图8(a)为佩戴终端跌倒状态,被试者在海绵垫上分别模拟向前、向后、和侧边跌倒。当发生跌倒情况后,终端会将跌倒特征值、位置信息及报警信息发送给手机APP和社区管理系统。图8(b)为手机APP跌倒界面,可以看出发生跌倒时其跌倒特征值曲线会有明显改变。图8(c)为跌倒推送界面。图8(d)社区管理系统的跌倒界面,当社区中某一用户发生跌倒,在系统界面会立刻弹出跌倒者的姓名及当前位置。
4.2 血压心率监测
邀请10位被试者进行血压测试,将手指放在监测终端侧面传感器上面测量血压、心率等数据,血压测量中收缩压单位为mmHg/次,舒张压单位为mmHg/次,心率测量单位为次/min。APP手机客户端显示的血压测试结果界面如图9所示。其中,图9(a)为APP血压心率界面。图9(b)为APP血压历史数据列表,可以记录历史数据,监护人通过点击历史数据页面的选择按钮,选择有历史数据的月份,将可获得对应某月的血压心率数据,判断被监护人血压及心率是否正常。
图9 APP手机客户端显示的血压测试结果界面
5 结语
以统一开放式接口的物联网云平台为基础架构,结合GPS/北斗定位,便携式检测装置,4G移动通讯网络,手机客户端APP等相关技术,设计了一套基于物联网的远程老年人监护定位系统。该系统能实现跌倒与体征检测报警,远程通知监护人手机,监护数据云平台储存,以及社区后台管理等功能,并且可广域远程应用和便捷实用。可以实时地监测老年人血压、心率、跌倒状况和位置信息,且当老年人意外情况发生时能够及时推送报警,以便老年人子女或社区及时定位老年人的位置,并快速施救,保障老年人独自外出的身心健康。