基于物联网的社区独居老人管理系统

2023-03-22 09:28陆思翰马焕锋罗逸帆黎莲花
物联网技术 2023年3期
关键词:住户手环血氧

陆思翰,马焕锋,罗逸帆,黎莲花

(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)

0 引 言

近年来,功能性电子手环越来越受到人们的喜爱,但是较少的企业关注老年人对于电子手环的使用体验,但老年人相对年轻人却更需要一些便于携带、使用的智能设备来实时监测他们的身体情况、关注他们的健康状态[1-7]。本文设计的电子手环板载了MPU6050六轴传感器、MAX30102心率血氧传感器、LMT70温度传感器、蓝牙通信模块。整体均采用贴片式元件,在保持外观相对精巧的同时,也能够确保手环具有多功能、高精度的特性。加以社区管理系统,该系统有下位机收集数据、上传OneNET平台和数据视窗显示的功能;同时还能将数据传输到SQlite平台进行存储;在获取实时数据后,可以及时更新老人的基本情况。

1 系统方案设计

1.1 系统整体设计

如图1所示,这款电子手环板载了MPU6050六轴传感器、MAX30102心率血氧传感器、LMT70温度传感器。通过32.768 kHz外部低速晶振为RTC内部时钟提供时钟信号,并可以使用按键控制LCD显示当前时间、修改时间、采集心率血氧;通过六轴传感器实时获取手环的姿态信息;通过手环的倾斜进行屏幕唤醒,同时也会实时采集老年人的人体加速度向量幅值,进而判断老人是否摔倒:当人摔倒时,人体加速度向量幅值将会比其他摆手动作所测的值要高,判断摔倒的阈值被设为3.5。

图1 最小系统接线图

为了提高检测精度,引入六轴传感器的角度参数作为二次判断的依据。理论上,在老年人摔倒后的一段时间内,人体会处于静止状态,与地面将处于一个较为水平的姿态,Z轴加速度趋近于0;同时当人体向前或向后摔倒时,人体的X轴角度在-90°和90°附近波动;当人体向左或向右摔倒时,人体的Y轴角度将会在-90°和90°附近波动,已选取±70°来作为第二个摔倒检测阈值。

确认符合第一个检测阈值3 s后,判断Z轴的加速度值是否接近0,以及X轴或Y轴的角度值是否在70°左右。如果这两个条件同时满足,那么蜂鸣器会鸣叫,一定程度上可提醒老人。如果老人清醒,可通过按下按键关闭蜂鸣器,如果30 s期间按键没有被按下,手环将会通过蓝牙向预设手机发送报警信号。

1.2 主控制器方案

系统采用的是意法半导体的STM32F4系列单片机,其使用具有512 KB闪存、128 KB SRAM的STM32F411CEU6作为微处理器。该处理器具有32位数据处理的能力,是一款成本低、功耗小、性能强的主控芯片[8-10]。另外该处理器工作频率最高可达100 MHz,还有着多达13个通信接口,最多能支持81个具有中断功能的I/O端口,可快速响应紧急情况[11-12]。该芯片的封装为UFQFPN48,封装大小为7 mm×7 mm,使得所占用空间减小。STM32F411CEU6 引脚如图2所示。

图2 STM32F411CEU6引脚

1.3 六轴传感器方案

MPU-6050是全球首个整合性六轴运动处理组件,具有体积小、重量轻和响应速度快等优点;其可以测量整个空间的加速度,全面反映运动物体的空间位置。芯片内部还有温度传感器能够弥补器件内外温度不同造成的误差。通过使用I2C完成与MCU的通信。此外利用芯片内置的DMP功能,能便捷地获取姿态信息,避免了复杂算法操作和多余外围电路。DMP是MPU6050内部的运动引擎,可以通过它直接输出四元数,以减轻外围微处理器的工作负担,避免了繁琐的数据融合,使用更加方便。六轴传感器电路如图3所示。

图3 六轴传感器电路

1.4 蓝牙通信模块方案

蓝牙通信模块是由海凌科电子开发生产的一款BLE5.1主从一体蓝牙-串口透传模块。各种带有串口的设备能够利用此模块简单快速地使用蓝牙,以便无线数据收发。基于BLE5.1的设计,速度会更快,传输距离更远,空旷环境下可达40~100 m。还支持低功耗模式,休眠电流最低可达6 μA。支持自定义连接和广播间隔,内置看门狗,可长时间稳定运行。蓝牙通信电路如图4所示。

图4 蓝牙通信电路

1.5 温度测量模块方案

LMT70是一款具有输出使能引脚的超小型、高精度、低功耗CMOS模拟温度传感器。LMT70还具有线性和低阻抗输出的特性,允许与现成的MCU/ADC无缝连接。LMT70的耗散低于36 W,具有超低的自发热特性,支持在宽温度范围内的高精度测量。在测量20~42 ℃时典型误差值为±0.05 ℃,具有较高的测量精度,适用于人体穿戴式设备的温度测量。温度测量电路如图5所示。

图5 温度测量电路

1.6 QT上位机的实现

基于要求所设计的QT上位机项目,可用于管理人员添加用户,并对输入的设备密钥及设备鉴权信息进行校验判断。在判断用户输入的数据正确后,会将用户数据添加到本地SQLite数据库;通过数据库页面可视化,可以查看当前数据库中的用户信息。上位机与OneNET通信的协议为MQTT协议,可在主页面定时1 s后,通过OneNET获取当前用户的数据流,并在文本框中显示刷新过的数据;也可在定时2 s后,进行OneNET数据库中所有用户数据流的刷新,并同样在文本框中显示已刷新的数据。当出现异常数据时,会出现警告弹窗来通知管理人员进行处理。

2 系统软件设计

系统是基于社区独居老人的心率血氧、身体温度、摔倒检测等实时数据所设计的,并通过报警信号以及OneNET物联网云平台所存储的传感器数据,进行反馈处理。具体的程序设计如下。

2.1 人体体温采集程序设计

人体体温采集程序软件设计流程如下:初始化ADC后,每30 s进行一次ADC采集,每次采集10个LMT70的输出数据,根据如下公式可转换出所要的温度数据。

将温度数据显示在界面后,一般情况下体温趋于稳态,并不需要实时更新温度数据。

2.2 心率血氧采集程序设计

人体心率血氧采集程序设计流程如下:心率血氧模块是MAX30102,接口为I2C,初始化I2C后,每1 min采集一次心率,当出现异常数据时,为了避免误读,将连续多次读取心率数据,确保异常数据是否为真实数据。确认后,将通过蜂鸣器连续鸣叫5 s来提醒老人处理,若是5 min内仍不断出现异常数据,那么将通过蓝牙把异常数据发送到预设手机和云平台端,告知家人和社区管理人员。

2.3 按键程序设计

按键设计流程如下:单片机每隔10 ms检测按键电平,若出现低电平,将延时50 ms后再次检测,判断按键电平是否仍为低电平;如果是,则判断按键已被按下,否则视为误触。通过3个按键实现用户与产品的交互。在熄屏后,可按下任意按键来唤醒屏幕,还可通过按键切换屏幕显示界面。

2.4 六轴传感器数据程序设计

六轴传感器数据程序设计流程如下:MPU6050接口为I2C,初始化I2C后,把读取加速度计和陀螺仪数据的操作放在定时器时序内进行,这是因为实现摔倒检测要实时检测加速度计的值并求出SVM的值。读取加速度计和陀螺仪数据的优先级最高,可以通过判断陀螺仪的数据来判断屏幕是否亮起。

3 测 试

3.1 手环测试

在系统开机后,屏幕会显示进度条来显示传感器初始化过程,成功后屏幕会处于时间显示界面,在该界面会显示时间、日期、体温等数据。用户通过手机APP“HLK-B40”来进行蓝牙的绑定连接;连接成功后,屏幕左上方会显示蓝牙的图标来表示蓝牙已连接,位于屏幕右上方的4格电量图标则显示当前电池电压余量。通过按键可以修改当前时间,也可切换血氧检测界面进行血氧检测。当用户无操作5 s后,屏幕将熄屏,以减少不必要功耗。再次抬起手环或按下按键后,屏幕会亮起,默认处于时间显示界面。

对体温数据检测精确度进行测试,并进行数据记录,见表1所列。

表1 体温数据测试

系统数据为本系统所测得的人体体温数据,专业产品数据为市面上常用的温度计所测得的人体体温数据,测试环境温度为27 ℃,系统固定在手腕上,通过与皮肤距离为1 cm的LMT70进行温度的测量。由表1可得所测的数据误差为0~0.1 ℃,精度较高。

对系统检测心率数据的准确性进行了测试,测试了静坐、跑步、吸烟三种情况下的各两组数据,共6组数据,并进行记录,数据见表2所列。血氧数据测试结果见表3所列。

表2 心率数据测试

表3 血氧数据测试

系统数据为用本系统采集的心率及血氧数据,专业产品数据是用其他品牌手环测量得出的数据。经过对比证明,本系统采集的心率和血氧数据较可靠。其中静坐情况下的心率与专业数据误差最小,而跑步和吸烟情况下相对误差大,说明在较动态情况下系统测量相对不够稳定。系统心率数据与同类专业产品整体误差范围为1~5次/分钟,血氧测试数据的误差范围为0.3~0.5 mmHg,整体精度良好。

3.2 社区居家老人管理系统软件测试

3.2.1 初始化设置

用户单击完添加用户后,添加新住户的住址、姓名、性别、设备号及密码数据。若出现错误窗口,请先关闭弹窗,重新输入正确信息即可出现正确窗口,说明已完成新住户信息初始化,如图6~图8所示。

图6 初始化错误弹窗

图7 初始化正确弹窗

图8 初始化输入

3.2.2 查看数据库添加情况

用户可以通过点击数据库来查看数据库添加情况,如图9所示。

图9 数据库界面

3.2.3 主界面的返回

用户可以通过点击主菜单返回主界面,如图10所示。

图10 主界面

3.2.4 目标住户的选择

用户可以点击住户选择键,从下拉菜单中选择任意数据库中已完成初始化的住户数据,如图11所示。

图11 选择目标住户下拉菜单图

3.2.5 目标住户的数据获取

在选择好目标住户后,用户可以点击水量获取键、温度获取键来分别获取目标住户的用水量、目标用户的体温,如图12所示。当水量小于1时,会报错,如图13所示。

图12 目标住户水量、体温数据获取图

图13 目标住户水量获取小于1时的报错图

3.2.6 目标住户的数据更新

点击更新所有数据键,可以获取并更新目标用户的水量、温度、脉搏、心率,如图14所示。

图14 目标住户数据更新图

系统数据为手环及下位机采集的心率及脉搏数据,经多次测试,传输数据精确度能达到小数点后两位,整体精度较良好。在联网环境下,能够在小于2 s内完成在线数据库信息输入及住户实时数据更新,整体响应速度较快。

4 结 语

本设计以STM32F411CEU6芯片为控制核心,能够稳定、精准地实现对使用者身体倾斜度的实时检测,并通过蓝牙模块进行数据上传。系统启动后,可以实时采集使用者的心率、血氧、体温等信息。在经过控制芯片处理后,数据会被上传至OneNET平台,再进行界面显示。同时这些数据会被传输至SQLite平台进行存储,服务器会不定时更新使用者的各种身体信息,这些信息可以被监护人订阅查看,实时知晓老人具体情况,起到了利用数据保障老人健康生活、防止老人发生意外的作用。

猜你喜欢
住户手环血氧
爱心手环
智能血氧饱和度监测系统设计与实现
简单的高招
青海省人民政府办公厅关于认真做好住户调查样本轮换工作的通知
红手环志愿者服务团欢迎您的加入
学习监测手环
基于血氧模拟前端AFE4490的无创血氧测量模块设计
麦开:放弃智能手环
乳腺血氧与多普勒联合检查在乳腺癌早期筛查中的应用
射频感应电子门锁