基于物联网和STM32的智能心率监测系统
1.概述
心率信号是人体生理状况的重要表征,能够直观反映人体的生理以及心理健康状况,并为其他方面的检查提供了各种数据信息的参考,尤其是在临床上心率信号作为判断人体是否还有生命特征的重要判断手段。由于生活作息和饮食习惯等因素影响,心血管疾病的发病率逐年上升,发病群体也在不断扩大,不再仅仅局限于中老年人群,逐渐呈年轻化趋势。心血管疾病发作的前兆是心率出现异常,但是传统的脉诊受主观因素制约影响了心率测量的精度,为了提高此类生物医学信号的测量精度必须与现代科技相结合,心率功能的检测和报警对心脏病患者的及时发现和抢救也是必不可少的。心率可因年龄、性别及其他生理情况而改变,即使是同一个人,在安静或睡眠时心率较慢,运动、情绪激动或突发病情时心率加快。心率过高容易导致心力衰竭,缩短寿命;心率过低则会导致供血供氧不足。心动过速和过缓都会影响健康,尤其对老人和心脏有问题的人来说,心率是一个非常重要的参数。
2.原理
当一定波长的光照射到人体的组织上时,人体的组织内部吸收并逐渐减弱了光反射后,通过反射光向人体的组织内部透射的光脉冲强度,可以直接反映得出被该波长光照射组织的形态和结构特征。人体的心率变化基本上都是由人体内部动脉的血管扩张和动脉收缩效应引起的。与其他的人体器官和动脉组织结构相比,指尖组织结构中的动脉组织分布较密集,指尖组织的结构较薄,通过人体手指的反射光脉冲强度较大,检测得到的反射光采集的脉冲强度数据越精确。因此,在一定频率波长的光源照射下,通过人体的手指可以检测到反射光的脉冲强度,可以间接测量得出人体的脉冲强度等信息。
3.总体设计
系统主要由STM32单片机及各个传感器功能模块部分组成,选取STM32F103RCT6(手边暂时没有C8T6了)为控制核心,心率传感器MAX30102实时采集心率数据,ESP8266通过协议实现本地与云平台的数据传输,从而在客户端接收实时数据实现心率监测,OLED显示模块与单片机串口通信打印心率测量结果,当测量心率数值超过正常阈值则触发本地报警电路工作,同时通过云平台及时通知客户端触发端侧警报,整体结构如图1所示。
图1 系统整体结构
4.硬件电路设计
- 主控制器电路STM32F103RCT6
-
MAX30100是一款集成的血氧和心率检测传感器,它集成了两个LED灯,一个用来优化光学的光电探测器,和低噪声模拟信号处理器,用来检测脉搏的血氧和心率信号。MAX30100的运行电压在1.8V到3.3V之间,可以通过软件来控制,超低功耗运行,并且具有高信噪比提供强大的运动伪影恢复能力、集成环境光消除、高采样率、快速数据输出等功能特点。
MAX30102内部原理图
-
ESP8266是一个成本较低的无线传输模块,工作电压从3V到3.6V,集成了32位处理器、标准数字外设接口、天线开关、功率放大器、低噪放大器、过滤器和电源管理模块等,ESP8266硬件接口多样化,完美兼容UART,IIC,PWM,GPIO,ADC等,适合不同物联网应用场景。
ESP8266相关引脚定义
-
用0.96寸的OLED显示屏作为显示模块,采用SPI通信。
- 报警电路
- 单模块接线图及整体接线图
- 上位机测试图
5.设备接入 IoTDA(官网有很详细的教程和文档参考)
创建产品:
这里按照开发指南使用的是主流的MQTT客户端MQTT.fx,验证与云平台的服务交互发布和消息订阅。
按照上面的步骤填写相应的参数:
通过MQTT协议的connect消息进行鉴权:
上报设备属性数据:
手机端的界面做的很丑就不放出来丢人现眼了,后面会慢慢优化然后把做的一些其他东西和功能集成到一起。
- 点赞
- 收藏
- 关注作者
评论(0)