超低功耗ANT无线协议的老人监护系统*

2022-08-18 14:34:56冯鹏博史玉希
传感技术学报 2022年6期
关键词:血氧心率状态

杨 刚,冯鹏博,史玉希,王 超

(西安邮电大学通信与信息工程学院,陕西 西安 710121)

目前,老人健康监护系统大多是采用无线体域网的方式进行体征监测。无线体域网是一种以人体为中心,由布置在人体体表、体内及周围区域的微型传感器节点、协调器等设备通过无线连接而构成的新型应用型网络[1]。由于无线体域网网络协议始终没有一个统一的标准,进而使得老人健康监护系统的形式也变得丰富多样[2]。

温川雪等人[3]设计的基于智能手机和移动网络的远程医疗监护系统,其中采集终端集成了多种传感器模块和蓝牙模块,可以将多种生理参数通过蓝牙上传至手机端,从而进行分析处理。杨三伟等人[4]设计的基于Android平台的健康信息远程监测系统,采集终端集成了温度、脉搏、心电、加速度传感器,信息通过蓝牙、音频模块传输到智能手机终端,从而进行可视化处理。上述两种系统采用蓝牙通信方式,采集终端集成了多个传感器,导致节点体积过大,功耗增加,同时不方便携带。李建辉等人[5]设计的生命体征监测系统,感知层各个传感器节点间采用ZigBee协议进行连接,可以实现人体心电、血压和体温等生理数据的采集。刘超等人[6]设计的穿戴式智能监护系统,感知层也采用ZigBee协议进行组网,实现了对人体运动状态、血压及心率的监测。上述两种系统采用Zigbee协议将传感器节点连接起来,一定程度上缩小了节点体积,提高了系统的灵活性。但是,由于Zigbee协议栈的复杂性,节点运行时协议栈开销随之增加,进而导致节点功耗增大。另外,Zigbee设计之初主要是面向如楼宇自动化、农业、工业自动化等需要大范围传感器网络的领域,然而近年来也被应用于健康监护领域。这类系统中Zigbee终端节点由于电池使用寿命较短,在低功耗模式下电池使用寿命大约是143 h,将其应用于人体环境并不合适,尤其是对于老人来说,频繁更换电池显然十分不方便。同时,Zigbee组网成本也较高,不适合应用于人体小范围监测网络。

因此,本文提出了一种采用简单高效的超低功耗ANT无线协议搭建无线体域网的方法,并且在Android Studio开发环境下设计了一款用于生理信息监测的手机APP,同时基于腾讯云服务器和VUE前端开发框架设计完成了一套老人健康监护系统。系统采用ANT无线协议组建无线体域网,不仅可以有效降低系统节点的功耗,提高电池的使用寿命,而且可以灵活地增减网络节点个数,提升网络的灵活性,非常适合应用于人体小范围监测。

1 ANT协议

ANT协议工作在2.4GHz频段上,其OSI模型如图1所示,主要包括用户自己定义的应用层部分和ANT协议栈封装的部分,这两部分之间通过串行接口进行消息传递。相对于Zigbee协议来说,ANT协议栈显得更加简单高效。

ANT协议栈内部完整封装了网络层、传输层、数据链路层和物理层。用户无需自己设计底层结构,只需要在应用层上编写接口程序就可实现不同类型的无线网络。这种消息分层传递的方式,使得节点运行时仅需要2 KB的外部处理器资源,可以极大地降低系统功耗和成本。另外,ANT协议可靠性高,采用跳频通信技术避免其他2.4 GHz无线通信设备的干扰,使用基于时分多址的自适应信道接入技术,保证信道内无线通信的可靠性[7]。

2 系统设计

2.1 系统结构

老人健康监护系统采用无线体域网架构进行设计,如图2所示,可分为三个部分:感知层网络、手机端和服务器端。

感知层网络由脚踝处两个传感器节点和腰部中心节点通过ANT协议组建而成,主要实现血氧、心率、加速度等参数的采集与上传。中心节点与手机端通过蓝牙5.0进行数据传输。

手机端可以实现用户状态实时监控、历史数据存储及位置查询。

服务器端可以实现多用户信息管理、用户状态信息查询、位置信息查询及异常情况预警。当发生紧急情况时,服务器会向监护人手机和后台网页端发送通知,告知用户的位置,以便及时进行救助。

2.2 节点设计

传感器节点由主控模块、射频模块、传感器模块和电源模块组成,如图3所示。考虑到体积要求,节点部分选择已经集成了射频模块的系统级芯片作为主控,一方面可以使节点设计得更小,另一方面使网络配置变得简单,便于管理整个网络。

主控芯片采用Nordic公司推出的新款超低功耗系统级芯片的nRF52832[8],内嵌32位ARM Cortex-M4F CPU,具有512 kBFlash及64 kB RAM,同时片上集成了2.4 GHz无线收发模块,支持蓝牙低功耗(BLE),ANT和2.4 GHz私有协议栈。运动传感器选择MPU6050来获取三轴加速度和三轴角度值。它集成了3轴加速度传感器和3轴陀螺仪,并自带内置滤波算法的数字运动处理器DMP,可输出六个关键参数:绕X、Y、Z轴的角速度分量和加速度分量[9]。节点部分采用纽扣电池进行供电。主控芯片、运动传感器外围电路和电源电路分别如图4~图6所示。

图5 MPU6050外围电路

图6 电源电路

MPU6050的INT、SCL和SDA引脚分别与nRF52832的26,25,27引脚相连。

中心节点新增血氧传感器来采集人体心率、血氧,结构如图7所示。它可实现以下功能:①采集运动、心率和血氧数据;②配对脚踝处的两个运动传感器节点,建立ANT网络;③ANT协议与蓝牙协议进行数据格式转换,实现数据发送至手机端。

图7 中心节点

血氧传感器选择美信公司生产的一种高灵敏度的血氧传感器MAX30102[10],内部含有红光LED和红外光LED、光电检测器,可紧贴在手指、手腕和耳垂等处皮肤进行测量,被广泛应用在可穿戴领域。模块采用1.8 V电源和3.3 V电源用于内部LED的供电,采用标准I2C通信接口与主控通信。血氧传感器外围电路如图8所示,Max30102的INT、SCL和SDA引脚分别与nRF52832的引脚6、7、8相连。

图8 Max30102外围电路

2.3 通道配置

ANT协议的使用是基于节点和通道的,节点是ANT网络的基本单元,通道是ANT网络中最基本、最直接的信息交换的渠道。

系统包含两个ANT通道,分别是两个运动传感器节点到中心节点间的数据传输通道。节点间选择双向通道进行数据传输,数据类型选择应答数据类型。中心节点和传感器节点的通道配置参数分别如表1和表2所示。

表1 中心节点配置

表2 传感器节点配置

3 软件设计

系统的软件设计分为4个部分:数据采集、节点软件设计、手机端功能设计和服务端功能设计。

3.1 数据采集原理

①运动状态

人体简化模型如图9所示,设ax、ay、az为三轴加速度值,则合加速度幅值S可通过式(1)求得,

图9 人体简化模型

S用来描述人体的运动变化,人体跌倒时,各方向上的加速度矢量发生变化,通过预先设定合适的合加速度阈值(设为0.5 gn),当合加速度值超过阈值时,即可判定是否发生跌倒。

描述人体状态的另一个特征就是倾角,直立状态时,躯干与重心方向的倾角小于60°,处于水平状态时,倾角接近90°。在跌倒时,躯干从直立状态变为接近水平的状态。通过对加速度和角速度的双重判定,可以提高判断的正确率。

②心率、血氧采集

MAX30102血氧、心率生物传感器的采样频率设置为100 Hz,采样精度设置为18 bit原始数据。根据k个周期内红外光光源的反射光信号各个相邻波峰之间的平均采样数计算出心率。计算公式如下[11]:

peaki(i=1,2,…,k)表示k个周期的峰值横坐标,peak_interval表示在k个周期内相邻两波峰间的平均值,fs表示采样频率。

根据朗伯-比尔定律计算血氧饱和度,需要从PPG信号中准确定位极值点,从而计算上下包络线,准确提取出交流分量和直流分量。已知具体的血氧饱和度计算公式如下[12]。

A,B为待定系数,γ1,γ2是波长为660 nm和812 nm的红外及近红外光的波长,IAC和IDC分别代表PPG信号中交流和直流分量。

3.2 节点软件设计

传感器节点软件流程图如图10所示。传感器节点系统上电后,首先对各个外设模块进行初始化,完成后配置ANT通道参数并打开通道。然后利用运动传感器采集三轴加速度和三轴角速度数据,设置定时时间更新数据。当检测到ANT消息或事件时,MCU会进行相应处理,否则暂时进入空闲状态,在定时休眠结束后唤醒MCU。

图10 传感器节点流程图

中心节点软件流程图如图11所示,系统上电后,首先对各个外设模块进行初始化,完成后依次配置并打开两个ANT通道,进入搜索状态。当中心节点和传感器节点建立通道后,将接收到运动数据与自身采集的运动传感器数据进行融合处理。最后将处理后的运动数据、血氧和心率数据通过蓝牙发送至手机端进行显示。

图11 中心节点流程图

3.2 手机软件功能设计

采用Android操作系统作为软件开发平台,应用软件在Android Studio集成软件开发工具中进行编程设计[13]。手机端包括登录注册模块、血氧心率模块、跌倒检测模块和定位模块,可以实现生理数据实时显示及历史数据查询、位置信息查询。手机与中心节点间通过蓝牙5.0进行通信。

3.3 服务端功能设计

系统基于腾讯云服务器搭建后台应用,采用浏览器/服务器模式(Bowser/Server,B/S)架构[14],接收手机发送过来的状态信息,并建立数据库,允许用户远程访问历史数据。后台主要包括登录注册模块、用户信息管理模块、设备管理模块、状态显示及报警模块。当遇到紧急情况时,服务器会用短信的方式将用户的位置信息发送至监护人手机端,以便及时进行救助。

4 系统测试

4.1 节点功耗测试

①实际佩戴效果示意

终端的实际佩戴效果如图12所示,使用绷带将两个运动传感器节点固定在脚踝处,将中心节点固定到腰间。脚踝处的运动传感器节点如图13所示,负责采集人体的加速度和角速度数据,并通过ANT协议发送至中心节点。中心节点如图14所示,负责接收运动传感器的数据,并且可以实现血氧、心率的测量,通过将手指放在血氧传感器模块上采集脉搏波,然后利用公式得出血氧心率值。

图12 实物佩戴示意图

图13 运动传感器节点

图14 中心节点

②功耗测试

利用nRF Connect Power Profiler功率分析应用程序测量设备在广播和数据传输期间的电流消耗,具体步骤如下:(a)打开nRF Connect Power Profiler软件。(b)通过SEGGER J-Link调试器连接好设备,设置采样周期和采样时间。(c)点击开始,设备的实时工作状态如图15所示,时间间隔为7 s时,其测量电流最大值为13.95 mA,平均电流约为880μA。

相关文献表明,Zigbee节点工作时的最大电流为32 mA,平均工作电流约为1.82 mA[15],这与ANT节点的最大工作电流和平均工作电流相比明显更大。因此选择ANT协议搭建无线网络可以极大降低节点的能耗,提高节点的使用寿命。

4.2 ANT通道测试

验证ANT网络的传输性能,通过ANTwareII工具查看数据。配置好通道参数,分别打开通道0和通道1。如图16、图17所示,通道0和通道1分别用来传输传感器节点1和节点2的数据,数据中最后一个字节表示传输的加速度数据。

图16 通道0数据

图17 通道1数据

4.3 手机端功能测试

手机软件包含注册登录、蓝牙搜索配对、数据实时显示、历史数据存储和位置信息查询等功能,其中主要的功能界面如下所示。

状态信息界面如图18所示,包括系统时间、血氧、心率及运动状态信息。当发生跌倒时,会显示用户位置信息,如图19所示,并且会发送短信通知监护人前往指定地点进行救助,短信通知界面如图20所示。手机端也可以查询用户历史状态信息,图21为用户血氧历史数据。

图18 状态信息

图19 位置信息

图20 短信通知

图21 血氧历史数据

4.4 服务端功能测试

老人健康监护系统后台服务端主要包括用户信息管理、用户状态信息管理和位置信息管理及预警等功能,其中主要功能界面如下所示。

用户信息管理界面如图22所示,管理员可以查看用户的账号信息并可对其基本信息和绑定手机号进行修改。

图22 用户信息管理

用户状态信息界面如图23所示,其中包含用户设备信息(终端Mac地址)和生理状态信息(主要有心率血氧、运动状态和位置信息)。当用户出现异常情况时,系统会弹出预警信息,显示出用户的位置信息,并向其监护人手机发送短信通知,如图所示。

图23 状态信息管理

系统的位置信息管理界面如图24所示,显示了在线状态用户的位置信息,管理员可以点击相应的菜单查看不同用户的位置信息。

图24 位置信息管理

4.5 系统可靠性测试

①跌倒检测实验

邀请3名志愿者完成常见的日常活动(站立、步行、慢跑、俯身、上楼和下楼)和跌倒姿势(向前跌倒、向后跌倒、向左跌倒、向右跌倒),每种动作共进行30次实验。首先,将节点布置在测试者身上,打开终端设备,等待设备初始化连接,当传感器节点与中心节点,中心节点与手机端建立连接后,开始进行实验,实验结果如表3所示。

表3 跌倒检测实验结果

从测试结果可以看出,站立、步行和发生跌倒时系统检测准确率为100%,当处于慢跑、俯身、上楼、下楼等运动状态时,系统检测准确率略显不足,基本在80%至86%之间。结果表明,系统可以区分日常行为和跌倒,基本能达到预期效果,可实现发生跌倒时的及时预警,因此,将其应用于实际是十分有效、可行的。

②血氧、心率对比实验

为了验证系统测量的准确性,将设计好的节点与市面上成熟的华为手环6进行对比,手环型号为FRA-B29,检测对象为同课题组的同学,测试在静止状态下进行,手环佩戴位置选择测试者左手手腕处,本系统节点测试位置选择左手食指,取5次测量的平均值作为结果,手环测量值作为标准值,本系统测值作为测量值,实验结果分别如表4和表5所示。

表4 血氧对比结果

表5 心率对比结果

从实验结果可以看出,本系统节点与手环的血氧测量误差约在2%以内,心率测量误差约在4次/分以内,血氧相对误差在2%以内,心率相对误差在4%以内。因此,利用本系统测量人体血氧和心率的结果是有效的,具有一定准确性和参考意义。

③系统反应时间

取一个完整的测试过程,分别读取和估算各个环节的系统反应时间,具体结果如表6所示。

表6 系统反应时间

5 结束语

本文采用WBAN架构,设计了一种基于超低功耗无线ANT协议的老人健康监护系统。系统利用ANT协议搭建了感知层网络,实现了对血氧、心率和运动数据的采集和处理。同时,基于Android Studio开发环境设计了一款Android手机应用软件,可实现实时生理数据与短期历史记录查询、位置信息查询等功能。另外,系统基于腾讯云服务器和VUE前端开发框架搭建了后台网页端应用,可实现用户位置信息查询、用户状态信息管理和异常状态下预警等功能。最后,通过设计对比实验和性能测试实验,验证了系统数据的可靠性、系统节点的低功耗特性以及系统的反应时间。结果表明,利用ANT协议组建无线体域网可以有效降低节点功耗,提高网络灵活性,适合应用于人体体征监测。

猜你喜欢
血氧心率状态
心率多少才健康
保健医苑(2022年4期)2022-05-05 06:11:10
离心率
离心率相关问题
状态联想
智能血氧饱和度监测系统设计与实现
测控技术(2018年8期)2018-11-25 07:42:16
生命的另一种状态
探索圆锥曲线离心率的求解
基于STM32血氧心率检测仪的研制
热图
家庭百事通(2016年3期)2016-03-14 08:07:17
坚持是成功前的状态
山东青年(2016年3期)2016-02-28 14:25:52