基于多传感器与无线通信的空巢老人智能监护系统
2021-09-24任万春李德全
刘 钰,任万春,2,常 琳,李德全
(1.西南科技大学 信息工程学院,绵阳621010;2.特殊环境机器人技术四川省重点实验室,绵阳621010)
当今社会人口日趋老龄化,空巢老人因无人看护而导致意外频发,所以对老人进行全面监测成为一项困难而又紧迫的任务[1-4]。智能监护系统能在一定程度上代替家人对老人的生理状态、环境安全和生活情况进行实时监护,成为研究热点[5]。文献[6]设计了一种监测老人跌倒的看护系统,采用姿态传感器识别老人的身体姿势,可以有效检测跌倒行为并报警,客户端显示跌倒位置及周围环境,但功能过于单一;文献[7]设计一款基于C 语言集成生产系统的居家老年人监护系统,利用智能传感器对老人健康信息进行检测,实现智能家居环境下对老人的管控与监护,但设备只能应用于室内,应用场景限制较大;文献[8]基于STM3F4 的智慧养老看护系统采集老人居家的生理、环境参数,但老人和监护人都无法实时查看监测数据,人机交互不够完善。因此,尽管目前已开发了一些监护系统,但尚存在应用场景受限、系统功能单一和人机交互不完善等问题。
本文综合利用多传感器和无线通信等技术,设计并实现一种空巢老人智能监护系统。该系统集生理、位置、环境和睡眠等信息监测于一体,实现全方位多功能看护,采用主从机设计以适应不同场景的监测需求,主机为可佩戴腰间的移动装置,适用于室外活动监测;从机固定安装在室内(如床边),用于监测老人睡眠质量与环境安全。老人通过下位机上的液晶显示屏查看监测数据,监护人通过手机应用程序(application,APP)进行实时监护,并调用第三方地图定位与导航,实现丰富的人机交互功能。
1 系统结构及硬件方案
1.1 系统整体结构
本系统采用主从机设计,如图1所示,主机可穿戴于腰间,主要用于户外移动监护。功能包括跌倒与脉搏监测、定位、报警、显示等。使用心率传感器采用光电容积法[9]监测老人心率,并将数据信息显示在液晶显示屏上。采用姿态传感器利用跌倒检测算法判断是否发生跌倒,跌倒后蜂鸣器报警,同时调用全球定位系统(global positioning system,GPS)模块确定跌倒位置,通过窄带物联网(narrow band internet of things,NB-IoT) 模块将定位数据发送给手机端APP,从而调用第三方地图进行导航。
图1 系统总体功能设计框图Fig.1 System overall function design block diagram
从机可固定在床边,用于室内监护,主要功能包括环境安全与睡眠质量监测、报警、显示等[10]。采用温湿度传感器和气体传感器监测环境温湿度和煤气含量等参数,并显示在液晶显示屏上。利用压力和雨滴传感器检测睡眠时是否掉床、尿床等。当环境参数异常或睡眠行为异常时,系统发出警报提示。
APP 安装在监护人手机等移动终端设备上,老人跌倒后地理信息自动发送到手机APP 上,APP 调用第三方地图显示跌倒位置并进行导航,以便及时对老人进行救治。APP 端还可以显示老人心率、环境参数等监测数据,一旦监测异常便会发出警告,有效降低了老人出现意外事故的风险,起到有效监护的效果。
1.2 主机硬件方案
主机需设计为可穿戴式,不能影响老人正常活动,因此应具备体积小、功耗低、精确度高等特点。本设计采用基于ARM Cortex®-M3 内核的STM32F103C8T6 单片机;采用Pulse Sensor 光电反射式脉搏传感器[11];选用集加速度计、陀螺仪于一体的MPU6050 姿态传感器作为跌倒监测模块[12],检测X,Y,Z 三轴的加速度和角速度,主控单元读取原始数据(加速度和角速度等信息),经过滑动均值滤波处理,采用四元数法进行姿态融合后得到加速度向量幅值和姿态角,然后采用跌倒监测算法判定是否跌倒;GPS 定位模块选用NEO-6M[13],此模块适用于不同人群和场合,具备功耗低、可靠性高、成本低、分辨率高和定位精度高等优点;NB-IoT 模块选用BC26,采用轻量级物联网协议(lightweight machineto-machine,LwM2M)发送数据到云端,利用云端自带的数据推送服务将数据推送到APP 上,实现数据的传送[14]。
1.3 从机硬件方案
从机主要用于室内监测,安装在床边,因此对于体积的要求没有主机高。选用雨滴传感器和压力传感器通过输出的模拟电压判定老人是否有尿床、掉床行为;选用DHT11 传感器和MQ-5 传感器对环境安全进行监测,其中DHT11 传感器包括一个电容式感湿元件和一个负温度系数测温元件,监测环境温湿度,而MQ-5 传感器使用其内部电路将电导率的变化转换为与气体浓度相对应的输出信号,监测烟雾、煤气等有害气体的浓度。NB-IoT 模块选用BC26,利用LwM2M 协议上传数据到云端,云端将数据发送到APP。
2 系统软件设计
2.1 主机软件设计
主机的软件流程如图2所示,主要实现心率、跌倒和定位功能:①心率监测模块初始化后,启动定时器,触发模数转换器(analog-to-digital converter,ADC)采样,检测光电容积脉搏波,采用滑动平均滤波处理后判断是否异常,如果心率正常则返回重新读取传感器数据;如果心率异常,蜂鸣器报警同时APP 端收到报警提示并启动GPS 定位;②跌倒监测模块初始化后,系统实时采集数据并计算,判断当前加速度向量幅值是否大于阈值Th1,如果正常则继续采样,反之进入下一步判断姿态角是否大于阈值Th2,大于则判定为跌倒发生,蜂鸣器报警,同时启动GPS 定位;③GPS 定位模块初始化后,单片机打开串口,当发生危险情况时传感器采集数据并发送到串口,串口接收到数据后对进行解析,解析完成后判断数据是否正确,如果正确就将经纬度信息发送至APP,否则就返回重新采集数据解析。
图2 主机软件流程Fig.2 Flow chart of host software
2.2 从机软件设计
从机的软件流程如图3所示,主要实现睡眠质量和环境安全监测:①雨滴、压力、烟雾传感器初始化后,单片机开启定时器进行ADC 采样,读取各传感器输出的电压,判断数据是否异常。若异常,蜂鸣器报警,同时APP 端收到报警提示,否则返回重新读取传感器数据;②温湿度传感器初始化后,利用延时函数采集数据,单片机发送起始信号,DHT11收到起始信号后进行应答,单片机收到应答后开始接收数据,判断数据是否异常,如果是,蜂鸣器报警同时APP 端收到报警提示,否则返回重新发送信号读取数据。
图3 从机软件流程Fig.3 Slave software flow chart
2.3 无线通信数据收发软件设计
无线通信数据收发软件流程如图4所示,主要是实现监测数据的收发。设备接入中国移动打造的物联网平台——OneNET的操作过程分为平台侧操作和设备侧操作。在平台侧,完成账户注册和登录,创建产品并添加设备;在设备侧,单片机通过LwM2M 协议发送AT 指令到BC26,实现NB-IoT 模组与NB-IoT 基站以及核心网等网元的连接,进而单片机与OneNET 平台进行交互。编写Java 语言搭建手机端APP,查看已经注册的OneNET 账号应用程序编程接口(application programming interface,API)得到获取数据的统一资源定位系统(uniform resource locator,URL),再利用软件进行连接测试获取数据,转换为Java 格式。APP 主要分为用户注册登录界面、数据显示和分析界面、用户反馈界面、消息通知栏和获取定位调用第三方地图模块。
图4 无线通信数据收发流程Fig.4 Flow chart of wireless communication data sending and receiving
3 实验结果与分析
3.1 监测系统制作
空巢老人智能监测系统的实物制备如图5所示,主机部分由腰带和功能控制盒组成,如图5(a)所示,腰带采用可调节的弹力材质,适用于不同身形的用户,连接处采用锁扣方式,牢固且穿脱便捷;从机由安装在床侧的功能控制盒、传感器和隔尿垫组成,如图5(b)所示;主从机的内部结构设计如图5(c)和图5(d)所示。主从机上的微处理器分别与各模块相连接而实现对各个模块的控制,且主从机功能控制盒表面均设有按键模块和有机发光二极管(organic light-emitting diode,OLED)显示模块。
图5 空巢老人智能监测系统的实物制备Fig.5 Physical preparation of intelligent monitoring system for empty nested elderly
3.2 多功能验证
设计对照试验来验证系统功能,在测试时每项功能参数均需科学设置阈值范围,测试结果未超出设定范围判定为“正确”,超出范围判定为“危险情况”。①心率监测:用系统中的脉搏传感器检测在不同状态下的心率,并同时以商用手环(小米2)的测结果为标准进行对比,差值在2 次/min 之内均判为正确,心率超出范围的危险情况用剧烈运动后的测试结果模拟;②跌倒监测:志愿者将主机佩戴在腰间,模拟正常行为记录误报警次数,并分别测试向前跌倒、向后跌倒、侧倒等异常行为,统计并记录报警次数;③位置检测:志愿者分别处于室内室外的不同环境进行定位,观察并记录定位误差和成功次数;④温湿度检测:测试不同条件下环境的温湿度,并同时与水银温度计和商用湿度计的测量值进行对比,差值在2 ℃和3%之内均判为正确;⑤煤气监测:利用家用煤气灶进行测量,记录报警次数,与家用煤气报警器数据进行比对;⑥尿床监测:用浸水棉团触碰模块,多次实验记录报警次数;⑦掉床监测:志愿者模拟老人夜间掉床,记录掉床次数和报警次数进行对比。测试结果如表1所示。
表1 系统多功能测试结果Tab.1 Test results of system multi-function
分别对系统各项功能都进行了100 次实验验证,总体准确率达98.75%,误报警率0.57%。结果表明,该系统的各项监测功能全部实现,能够对老人的生理、位置、环境、睡眠等参数进行有效监测,实用性高、数据准确,具有较高的稳定性和可靠性。
3.3 多场景适用性验证
志愿者佩戴主机腰带,在代表不同场景的不同地点进行实验,主要验证定位精准度。从机安装固定在室内的寝具边缘,分别记录白天和夜间设备运行情况,测试结果如表2所示。
表2 系统多场景实用性测试结果Tab.2 Test results of practicability of system in multiple scenarios
结果表明,主机腰带适用于室外不同场景,定位误差不影响监护人确认老人位置,位置显示准确度高,导航路线明确,可及时对老人进行救治;从机适用于白天黑夜等任何时间段,数据监测准确度高,危险情况及时报警,能实现对老人的实时监测和保护。
3.4 人机交互多样性验证
如图6所示,老人可通过设备上的液晶显示屏实时查看自身的心率、跌倒和环境等信息,监护人则可通过手机APP 远程跟踪各项监测数据和数据分析结论,在危险情况下会收到报警提示,并调用第三方地图进行导航。
图6 人机交互界面的设计与显示效果Fig.6 Design and display effect of human-computer interaction interface
4 结语
针对空巢老人监护困难的问题,本文运用单片机、多传感器和无线通信等技术设计并实现了一种空巢老人智能监护系统。该系统以单片机为核心,针对不同场景的监护需求,设计了主从机结合的硬件系统,对老人的生理参数、跌倒情况、位置信息、环境安全和睡眠质量等进行实时监测,数据信息不仅可以在近端液晶屏显示,而且可以实现无线传输,使监护人通过APP 掌握老人的实时情况。经测试表明,本系统功能丰富完善、适应多样化场景、交互体验感佳,其整体监测精度可达98.75%,误报警率≤0.57%,可满足空巢老人状态的日常监护需求。本系统通过改进与完善有望获得良好的社会和经济效益,且与未来家庭网络及智能家居的概念相接轨,具有广阔的发展前景。