面向独居老人的可穿戴式设备的软件系统设计与实现

2022-11-22 05:59颜晓东李春华
物联网技术 2022年11期
关键词:服务端消息阈值

李 迅,颜晓东,李春华,瞿 盟,郭 鹏

(合肥工业大学 计算机与信息学院,安徽 合肥 230601)

0 引 言

随着社会工作和生活压力的逐渐增大,很多子女没有足够的精力陪伴老人。独居老年人作为弱势群体,迫切需要社会的关注和关怀[1-4]。穿戴式硬件设备的研发日趋成熟,智慧养老相关产品更趋向于人性化,但针对老年人的适老性可穿戴产品的软件平台仍处于发展阶段,终端产品的易用性不高。通过把可穿戴式设备与老年人健康监测服务系统结合起来,能够更好地对独居老人进行看护。当前物联网硬件产品与互联网技术相结合已成为趋势,因此设计一款适用于独居老人穿戴式设备的物联网软件十分有必要。

1 可穿戴式设备的软件系统的需求分析

与一般的软件应用相比,物联网设备的软件系统在数据实时性、数据精准性、应用成本、使用人群等方面有着较大的不同。面向独居老人的可穿戴式设备的软件系统不需要太多复杂的功能,而更重要的是硬件和服务端之间的匹配。鉴于此,本文要实现的软件系统有以下需求:

(1)软件系统的界面设计尽量简洁。复杂的界面设计会降低用户体验,加大操作难度。将软件界面设计得简洁美观,会更容易操作。

(2)提供灵活的消息提示机制。在保证系统可用性的前提下,提供灵活的消息提醒机制,如APP消息推送、电话提醒、短信提醒、邮箱提醒等,能够将老人的状况进行更有效地传达。

(3)构建更加简便有效的物模型。物联网设备的物模型主要由三个要素构成:属性、服务和事件。本项目对应物模型的属性要素是指用户可在软件应用中查看当前设备的状态,支持查询、修改等功能;服务要素是指设备可以被外部的软件应用所调用的能力或方法;事件要素是指设备在运行时发生的可控事件。本文对应的设备物模型如图1所示。

图1 面向独居老人的可穿戴式设备的物模型

2 系统的设计与实现

2.1 系统架构设计

为了做到高程度的系统复用、降低运维成本,本项目采用前后端分离的B/S架构:系统后端运行在服务器上,负责系统的数据交互和存储;前端开发使用HTML5 Plus规范,可以方便地转化为Android、iOS移动端APP或小程序来使用,从而减少开发成本[5]。系统的总体架构如图2所示。

图2 软件系统总体架构

2.2 系统总体结构设计

本项目依据物联网设备的特性,实现了基础功能,并添加了一些特色功能。系统总体实现了用户管理、设备管理、数据渲染可视化、阈值报警、第三方消息推送(短信提醒、电话提醒)、准确定位六大功能,如图3所示。

图3 系统总体结构设计

2.3 系统开发环境

(1)前端开发环境

本项目采用了JAVAScript作为前端开发语言,使用Vue.js响应式框架使项目组件化。

(2)服务端开发环境

本项目采用JAVA语言作为服务端开发语言,使用Spring Boot作为后端开发框架[6];与硬件设备通信方面,采用 了MQTT协 议(Message Queuing Telemetry Transport, 消息队列遥测传输协议),它是一种基于发布/订阅(publish/subscribe)模式的轻量级通信协议;并且使用EMQX作为消息服务器[7],实现了MQTT协议开源且性能优越,作为数据采集层的核心,它分别与硬件设备和服务端进行交互,硬件通过MQTT协议向其发送消息[8],服务端通过接口将数据保存到服务端的持久化平台中。EMQX的使用原理如图4所示。

图4 EMQX 工作原理示意图

2.4 系统功能模块的实现

本文主要完成了软件系统中用户管理、设备管理、数据渲染和计算、阈值报警和消息推送的设计任务。系统的整体功能界面如图5所示。

图5 系统界面效果

2.4.1 用户管理模块

用户管理模块包括用户注册、用户授权、用户登录、用户信息管理功能。首先进行用户注册[9]、用户登录后,可对设备进行管理;用户信息管理功能指用户可进行信息修改,包括修改密码和手机号码等,便于接收第三方平台的通知等。具体实现效果如图6所示。

图6 用户模块

2.4.2 设备管理模块

设备管理模块包括设备连接控制、设备状态查看、报警阈值设置,如图7所示。在软件上,可以实时查看设备连接的状态;对设备监测数据报警阈值进行设置,服务端监测到设备发送的数据持续不符合规定数值时,依托第三方应用提供的服务,向用户及时推送报警信息。

图7 设备管理模块

2.4.3 数据可视化模块

数据可视化模块用于对服务器端数据进行渲染,形成动态图表,直观地查看老人的实时状况,如图8所示。

图8 可视化模块效果展示

2.4.4 地图定位模块

地图定位模块采用uni-app的地图定位功能,设备通过发送位置信息给服务端,前端向服务端请求数据,对老人的位置进行定位,并且可以导航,准确知晓老人位置。地图定位功能效果如图9所示。

图9 地图精准定位效果展示

2.5 创新点

2.5.1 数据采集和存储性能问题解决瓶颈的分析及优化思路

当硬件设备数量增多,同时向EMQX消息服务器发布消息时,可能出现服务端数据处理量骤增的情况,将占用服务器大量的内存,并出现请求阻塞、超时等问题[10]。服务端收到数据,需将数据解码存入数据库,这是一个非常耗时的操作。当连接数量越来越多时,传感器发布的消息也越来越多,这就成为了性能提升的瓶颈。本项目采用消息队列进行异步操作的思路:让获取消息的方法不直接处理消息,而是作为消息中转站,接收到消息后直接转发出去,在其他地方对消息进行处理。

2.5.2 频繁使用设备信息的解决方案

针对采集后的数据,首先要查询对应的设备信息,再存入数据库中。设备的采集频率相对较高,但设备信息通常不会改变,频繁地查询造成了较多的资源消耗。此外,数据还需与阈值进行比较,而每个传感器的阈值基本固定不变,重复查询会降低响应速度。本项目的解决方法是:将这些频繁使用且基本不变的数据进行缓存,提高查询速度。当设备连接成功时,将信息缓存;当需要修改时,则将该数据删除。使用这些数据时,先从缓存中查询,若得到结果则直接使用;如果没有查询到该数据,则到数据库中查询,并将数据进行缓存。

3 结 语

随着中国人口老龄化形势日趋严峻,独居老人逐渐得到社会的关注。本文实现的面向独居老人的可穿戴式看护设备的软件平台,基本能够实现智能看护老人的功能,在一定程度上减少了老人安全事故的发生,起到看护和及时预警作用,应用价值和成果推广前景较为可观。作为与物联网硬件设备搭配使用的软件平台,本项目从用户体验和可用性出发,实现了5个基本模块:用户管理、设备管理、数据可视化展示、地图精准定位以及消息推送模块。这些模块相互协作,满足了基本需求,能够较好地配合硬件平台的工作,在解决独居老人的远程看护问题时有着重要的现实意义。

猜你喜欢
服务端消息阈值
小波阈值去噪在深小孔钻削声发射信号处理中的应用
基于自适应阈值和连通域的隧道裂缝提取
云存储中基于相似性的客户-服务端双端数据去重方法
新时期《移动Web服务端开发》课程教学改革的研究
在Windows Server 2008上创建应用
比值遥感蚀变信息提取及阈值确定(插图)
室内表面平均氡析出率阈值探讨
消息
消息
消息