基于IoT的多功能睡眠监测系统设计

2018-12-06 09:27刘佳邱达徐建黄汉卿杨文杰明新华姚文彩
物联网技术 2018年8期

刘佳 邱达 徐建 黄汉卿 杨文杰 明新华 姚文彩

摘 要:为了帮助人们更好地了解自己的睡眠情况,文中设计了一款基于物联网的多功能睡眠监测系统来实时监测个人的睡眠质量。该系统以传感器网络为基础,通过无线模块进行数据传输,并通过终端显示。相比较传统的睡眠监测设备,该设备能够有效解决睡眠监測仪器的医用化及可穿戴监测设备的约束性等问题。实验结果表明,该系统具有操作方便、节能、体积小、响应速度快等特点,具有一定的推广应用价值。

关键词:传感器网络;IoT;CC3200;睡眠监测

中图分类号:TP274;TN92 文献标识码:A 文章编号:2095-1302(2018)08-00-03

0 引 言

近20年来的医学研究已经证明,现代人类的许多重大疾病如高血压、冠心病、心律失常、糖尿病、心脑血管意外,以及精神心理疾患等,往往与睡眠中常发生的睡眠呼吸暂停综合征有关。因此,世界卫生组织已将睡眠列为人类第五大社会医学问题,并明确提出关心健康首先从关注睡眠开始。

1 多功能睡眠监测系统的设计

系统设计主要包括基于体震信号的心率、呼吸率监测、体温监测、用户周围环境质量监测及数据处理部分,分为硬件电路设计和软件设计。

1.1 硬件电路设计

系统硬件分为传感器网络和微处理器两部分。

1.1.1 传感器网络

传感器网络分为如下三部分:

(1)体震信号获取电路部分采用E-touch柔性压电薄膜传感器构建,其外围电路包括阻抗匹配和屏蔽驱动电路、前置放大电路、主放大电路、高通滤波电路、低通滤波电路、

50 Hz陷波电路、增益可调的电平抬升电路;

(2)用户周围环境质量参数获取电路部分采用DHT11和GP2Y1014AU传感器来监测环境温湿度和PM2.5;

(3)用户体温获取电路部分采用非接触式红外测温模块获取用户体温。

1.1.2 微处理器选择

微处理器分为如下两部分:

(1)传感器数据的获取:采用TI公司设计的TM4C123GH6PM处理器获取传感器数据;

(2)传感器数据的上传:采用TI公司设计的CC3200处理器,通过与TM4C123GH6PM进行串口通信获取传感器数据,再将其上传到云端[1]。

1.1.3 系统实现框图

系统设计实现框图如图1所示。

1.2 系统软件设计

系统软件设计分为如下三部分:

(1)基于单片机的传感器网络程序的设计;

(2)体震信号的分离算法设计;

(3)云端数据处理、APP的设计。

1.2.1 传感器程序设计

1.2.1.1 E-touch压电传感器数据获取程序

本设计采用E-Touch柔性压电LCL2218型传感器,该传感器由E-Touch压电薄膜、上下电极、保护层薄膜构成[2]。

E-Touch压电传感器概念图如图2所示。E-touch柔性压电薄膜传感器可将机械能转换为电能,虽然提高了压电传感器的输出电荷,但由于体震信号幅值小,信号无法被直接检出,所以本设计采用电荷放大模块将信号放大,如图3所示。

电荷放大器输出电压信号。若采用带有ADC功能的单片机,便可通过编写程序实现传感器数据的采集。

1.2.1.2 红外测温传感器数据获取程序

为了不对用户造成约束,我们决定采用GY-MLX90614-DCI长远距离红外测温传感器对用户进行非接触式体温测量。该传感器通信协议为串口通信,每帧包含9 B,其结构如图4所示。

1.2.1.3 PM2.5传感器数据获取程序

本系统采用GP2Y1014AU型号传感器来检测PM2.5。该传感器是一款升级版光学质量传感器,可测量0.8 μm以上的微小粒子。具有体积小、重量轻、便于安装等特点,广泛应用于PM2.5的检测[3]。采集数据与空气质量对照见表1所列。

1.2.1.4 温湿度传感器数据获取程序

系统选用DHT11数字温湿度传感器进行测量。该传感器是一款含有已校准数字信号输出的温湿度复合传感器,应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。采用单线制串行接口通信方式。通信时序如图5所示。

1.2.2 体震信号分离算法设计

1.2.2.1 信号预处理,分离得到呼吸波和胸部冲击信号

本设计采用零相位滤波器对信号进行预处理,原理如

图6所示。

由上述可知,输出信号与输入信号具有相同的相位,但零相位滤波器的实现需要经过两次滤波[4]。

1.2.2.2 心率提取算法

BCG随心动周期呈现一定的周期性变化,但与ECG不同的是,BCG的周期性并不严格,所以称BCG的周期为伪周

期[5]。如果能确定BCC的伪周期就可以确定心率。我们查阅到一种通过计算BCG最大上升幅度来计算伪周期并提取心率的方法,只需计算局部极大值即可检测心率。新的心率检测算法步骤如下:

(1)去瞬后的BCG另存为x(n),n=1,…,N1;

(2)从左到右搜索序列x(n),计算局部极大值点。保存为

局部极大值序列lmax(n),n=1,…,N1,记录该点位置;

(3)由小到大排列局部极大值序列,并令其为阈值序列threshold(i),i=1,…,N1;

(4)从左到右搜索lmax(n),若lmax(n)> threshold(i)则保留;

(5)计算(4)中每2个局部极大值点间的时间长度,将其记为一个伪周期。若第一个局部极大值点与起始点的时间长度大于伪周期的最大值,也记为1个伪周期;

(6)计算所有伪周期的标准差与平均值的商q(i),i=1,…,N1,并保存;

(7)返回第(3)步,直至取完所有阈值,找到使q最小的阈值。

1.2.2.3 呼吸率提取算法

呼吸率是判斷睡眠呼吸暂停的重要生理参数,同时呼吸率对心率分析和睡眠结构分析结果都具有重要的修正、补充作用。本设计目前主要应用了呼吸运动中的频率信息,其提取算法步骤如下:

(1)计算呼吸波所有极大值及其位置,分别存入Max1和Position1;

(2)若极大值之间的间隔小于2 s,则去掉幅度较小的极值点,结果存入Max2和Position2中;

(3)求剩余极值点的左右斜率,并记录该极值的斜率为左右斜率的平均值,结果存入slope中;

(4)若slope中的斜率值小于前后6个斜率均值的50%,则去掉该点对应的极值点,结果存入Max3和Position3中;

(5)求峰点间隔,若间隔大于前后20个间隔的平均值的20%,则去掉该点;

(6)对经过上述步骤处理后的整晚呼吸间隔值进行线性插值,获得整晚等间隔每秒的呼吸率,采样频率为1 Hz。

1.2.3 数据传输与Web设计

1.2.3.1 数据传输

本系统设计采用CC3200实现数据传输。为了实现数据的可靠传输,本设计采用TCP套接字传输方式[3]。套接字流程如图7所示。

1.2.3.2 Web设计

Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它提供建造块和构造并运行集成软件开发工具的基础[6]。本系统主要利用Eclipse完成整个Web的后台开发[4],其功能框图如图8所示。

2 整体测试

图9所示为测试者所居住环境的PM2.5浓度曲线,图10所示为环境温度曲线,图11所示为环境湿度曲线。

当人体进入睡眠一段时间后,体温温度曲线如图12所示,呼吸率曲线如图13所示,心率曲线如图14所示。

3 结 语

本文提供了一种新思路,即睡眠质量不仅与人体自身相关,也可能与外在环境有关。而本系统设计在现有睡眠监测产品的基础上,运用物联网技术(IoT),加入环境监测这一功能,使得系统能够更准确地反应被测对象每晚的睡眠情况。并且随着传感器技术的发展,我相信外界环境等因素在一个人的睡眠质量评估中会占据主导地位,这时就越发需要物联网技术的应用。希望本设计能够为解决大众的睡眠问题提供参考。

参考文献

[1]金俊,查君君,黄垒,等.基于CC3200的低功耗便携式心电仪设计[J].今日电子,2016(7):54-56.

[2]顾维玺.基于移动感知技术的睡眠状态追踪研究[D].北京:清华大学,2015.

[3]郭书军,田志鹏.基于单片WiFi MCU CC3200的无线串口[J].仪器仪表用户,2016(1):24-27.

[4]陆美珠.基于体震信号的睡眠检测系统的设计与实现[J].中国新通信,2014(19):30-32.

[5]余晓敏.基于心电信号的睡眠呼吸暂停综合征检测算法[D].杭州:浙江大学,2013.

[6]江燕良,黄海于.Android智能手机的云服务应用研究[J].单片机与嵌入式系统应用,2013,13(9):5-7,11.

[7]杨永杰,张裕胜,杨赛程,等.一种PM2.5检测传感器设计[J].传感器与微系统,2014,33(3):76-78,81.

[8]肖瑶.基于WebView的Android应用Web交互行为分析与研究[D].北京:北京邮电大学,2015.