基于STM32的无线健康监测仪的设计与应用

2022-02-20 01:29毛舒诚何风谢沁洋汪航朱嘉文
电脑知识与技术 2022年34期
关键词:单片机无线

毛舒诚 何风 谢沁洋 汪航 朱嘉文

摘要:结合2020年电子设计竞赛A题“无线运动传感器节点”和新冠肺炎疫情健康监测进行了思考,选择采用STM32F103VC单片机,ADS1292和温度传感器LMT70设计制作无线健康监测节点,该节点能稳定采集和记录使用者的心电信息(心率测量包括心电图)和体表温度信息,从而形成一个价格亲民的小型健康监测仪。同时在保证心电、温度测量精确的前提下,使用“互联网+”对数据进行分析,通过蓝牙将测量信息传送到用户手机,开发一个名为fitness的小程序。

关键词:温度测量;心电测量;单片机;无线;健康监测仪

中图分类号:TP301       文献标识码:A

文章编号:1009-3044(2022)34-0081-04

1 引言

自从2019年,由新型冠状病毒引发全球疫情之后,中国对于疫情制定了严格的措施,对于各地以及各种场合的体温检测提出了严格的要求。在一些场合中,如剧院、电影院等场所常常体温不能精确,一旦发生疫情也难以根据已有的信息快速地追查到疫情发生的人。基于这种应用背景,提出了一种将基于单片机的健康监测系统,阿里云和微信小程序结合起来实现健康数据的实时共享。该系统可以通过单片机实现体温和心电的准确测量,通过阿里云上传健康数据,再通过微信小程序实现体温与用户一一对应的功能,同时设备在本地也显示心电图,心率和体温这些检测健康的数据。

2 系统总体方案设计

系统主要由6个部分组成:传感器模块、主控模块、LCD—TFT显示模块、无线网络模块、阿里云物联网平台以及微信小程序。温度检测模块以LMT70为核心,将检测到的温度信号送给STM32进行温度的实时测量。STM32将得到的温度数据通过Wi-Fi模块ESP8266传送给阿里云,阿里云与微信小程序之间建立连接读取温度数据。在本地,通过ADS1292实现心电图和心率的测量。

3 系统硬件设计

3.1 单片机最小系统设计

主控制系统选用STM32F103单片机。该单片机使用ARM的Cortex-M3架构。拥有优秀的实时性能,杰出的功耗控制,较小的体积是这次项目的较好选择。单片机最小系统如图2所示。

STM32F103外围核心配置:

3.2 温度模块

在温度测量方面,使用的测温芯片为LMT70,LMT70 是一款带有输出使能引脚的超小型、高精度、低功耗互补金属氧化物半导体 (CMOS) 模拟温度传感器。LMT70 几乎适用于所有高精度、低功耗的经济高效型温度感测应用 [1],例如物联网 (IoT) 传感器节点、医疗温度计、高精度仪器仪表和电池供电设备。LMT70传感器通过输出模拟信号,单片机接受模拟信号,进行AD转换来完成对于温度的测量[2]。LMT70在测量人体表面温度时也可以拥有良好的误差范围。20°C 至 42°C 范围内为 ±0.05°C(典型值) 或±0.13°C(最大值)。引脚说明:VCC为3.3V供电,TAO为模拟电压值的输出口。LMT70温度测量电路如图4所示[3]。

模块与单片机的引脚的连接为: VCC——3.3V;TAO——PC4;GND——GND;TON——VCC。

3.3 心电模块

ADS1292采集到信号之后,利用FIR滤波器滤波形成心电图,并且测量心率。选用的ADS1292模块是多通道同步采样 24 位 Δ-Σ 模数转换器 (ADC),它们具有内置的可编程增益放大器 (PGA)、内部基准和板载振荡器[4]。包含便携式低功耗医疗心电图 (ECG)、体育和健身应用通常所需的所有功能。ADS1292电路原理图如图5所示。该模块与单片机的引脚的连接为:PW——PA0;START——PA1;CS——PA2;DRDY——PA3;SCLK——PA5;OUT——PA6;IN——PA7;5V——VCC;GND——GND。

3.4 无线网络模块

系统选用ESP8266作为无线网络的解决方案。ESP8266作为无线上网接入承担Wi-Fi适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单,占用单片机IO资源较少。ESP8266电路原理图如图6所示。模块与单片机的引脚的连接为:VCC——3.3V;GND——GND;RESET——PA4;RX——PB10;TX——PB11。

3.5 阿里云物联网模块

Topic是消息发布(Pub) 者和订阅(Sub) 者之间的传输中介。设备可通过Topic实现消息的发送和接收,从而实现服务端与设备端的通信。阿里云通过与单片机程序中内写好的MQTT协议中,使用相同TOPIC属性类,就可以实现使用MQTT协议来进行需要数据的传输。

同时物联网平台要将获得的数据发送到手机客户端中,因此需要启用云产品流转,使得单片机上传的数据可以传输到手机客户端中。因此手机,客户端中也需要设置好相同的订阅和发布主题。然后设置好云产品流转的规则,就可以实现数据的流转。

4 系统软件设计

系统软件设计包括温度测量模块、心率测量模块、小程序设计模块、网页设计模块以及传感器模块,主控模块,LCD—TFT显示模块,无线网络模块。系统主函数软件流程如图12所示。

4.1 心率测量函数

ADS1292采集到的信号首先用STM32公司提供的DSP库进行FIR滤波处理,获得数据。计算心率的方法为:首先,寻找数据中的最大值和最小值。然后在每次采集的样本中,寻找峰值,并且計数。最后将次数乘以一分钟内采样的次数就可以得到一分钟的心率[5]。将得到的数据,显示在LCD-TFT屏幕上以及通过ESP8266发送到阿里云物联网平台。心率测量函数流程图如图13所示。

4.2 温度测量函数

T = a * Covert * Covert * Covert / 1000000000 + b * Covert * Covert / 1000000 + c * Covert / 10 + d * 100;  (a = -1.809628;b=-3.325395;c=-1.814103;d=2.055894;)

此公式为LMT70数据手册的提供的模拟电压与温度之间的函数关系。所以要对LMT70输出的实际模拟电压值进行校准,因此采用均值滤波的方法[6]。计算得出的电压值在代入公式中,最后将数据显示到LCD—TFT的屏幕上。温度测量函数如图14所示。

4.3 无线网络模块函数

首先将需要连接的Wi-Fi的SSID和PASSWORD输入,让ESP8266连接上WIFI。然后将MQTT协议的缓冲区初始化用于接收和发送数据。根据阿里云物联网平台的说明中,设备连接上平台要在程序中编写好阿里云物联网平台项目中提供的设备三元组ProductKey、DeviceName和DeviceSecret。通过MQTT协议实现与阿里云物联网平台的互联网的通信。无线网络模块函数流程图如图15所示。

4.4 小程序设计函数

小程序通过设备三元组ProductKey、DeviceName和DeviceSecret与阿里云平台建立连接,然后通过mqtt透传协议(基于发布/订阅范式的消息协议)实现数据传递,设备连接上会显示订阅成功。接着小程序会进行接受消息监听,对传递来的json数据进行解构,让数据显示屏幕上,最后关闭连接通道,对mqtt连接参数初始化。小程序流程图如图16所示。

4.5 网页设计函数

网页设计流程图如图17所示。

5 系统测试与实际应用

5.1 心电测量

将标准血压计与系统心电测量的心率数据进行对比多人次测量数据如表1所示。由表1 中可以看出,与标准血压计测得数据对比,最大误差值小于2.15,达到了本次设计要求。数据传输到小程序如图18所示。

5.2 体表温度测量(单位:℃)

用实做电路与标准温度计放置于同一测试点,通过进行多次或 者对多人测量,测量数据如表 2 所示。从表 2 中可以看出,最大误差为 0.2°C,在 35 ~ 36°C 范围内,正负误差不超过 0.2°C,达到本次设计要求。数据传输到小程序如图19所示。

5.3 系统实际应用

系统在保证心电、温度测量精确的前提下,使用“互联网+”对数据进行分析,通过蓝牙将测量信息传送到用户手机,并开发一个名为fitness的小程序(由于考虑到服务器的费用租赁问题与开发难度问题,开发团队最终选用小程序)。小程序中包含健康、商城、阅读和我的四个板块。将根据用户的温度和心率情况,形成健康报告,在阅读和商城中进行个性化推送。健康报告中温度模块可实现基础温度测量,并且生成温度检查报告。同时若有温度异常可以实现温度异常筛查,并且形成反馈提示报告。后期将拓展为红外测温,可在实名制测温场合推广运用。心电模块测量心率及形成心电图,并且以此形成简易心电图报告。根据心电图以及心率,进行简单分析,形成初步心脏健康情况报告。不仅如此,根据心率变化可了解到睡眠情况,进行分析,针对疲劳进行监控,形成适当提醒。除此以外,还针对心率进行创新,依据心率变化可推广形成恋爱铃、测谎仪等,都是依据心率变化进行分析,如当心跳在不受外界干扰的情况下明显自发加快,可初步判断为心动等,恋爱铃进行提示,响铃。

6 结束语

本文对无线传感器运动节点的设计进行了硬件分析,同时将测量数据无线传输到用户手机上实现实时健康监测。通过后期的完善,可形成价格亲民的小型健康监测仪器并推广使用,使更多的人意识到健康监测的重要性并且可以实现实时健康监测。

参考文献:

[1] 孙弋婷,翁欣濛.基于STM32单片机的无线运动传感器节点设计[J].电子制作,2021(15):11-13,28.

[2] 张其,袁纵横,梁丁,等.基于MPU6000的低功耗无线人体传感器网络节点设计[J].计算机测量与控制,2014,22(2):539-541,547.

[3] 卢宇杰,杨启尧,许延棋,等.可穿戴多功能无线运动传感器节点的设计与实现[J].自动化应用,2021(10):147-151.

[4] 芮浩晖.无线运动传感器节点设计[J].中国宽带,2021(9):111.

[5] 袁家宝,黄堂森,潘学文,等.运动传感器节点设计[J].信息技术与信息化,2021(4):160-162.

[6] 張建乾.基于单片机的无线温度采集系统[J].现代工业经济和信息化,2021,11(9):86-88.

【通联编辑:梁书】

猜你喜欢
单片机无线
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
基于ARM的无线WiFi插排的设计
发光无线三角警示牌
小议PLC与单片机之间的串行通信及应用
基于单片机的平衡控制系统设计
ADF7021-N在无线寻呼发射系统中的应用
Microchip推出两个全新PIC单片机系列