基于STM32与OneNET云平台的老人健康监护智能手环设计

基于STM32与OneNET云平台的老人健康监护智能手环设计

摘要
本文设计了一款基于STM32F103C8T6单片机的智能手环系统,集成MAX30102心率血氧体温传感器、ADXL345三轴加速度传感器及0.96寸OLED显示屏,通过OneNET云平台实现数据实时上传与远程监护。系统具备心率、血氧、体温实时监测、跌倒检测报警、步数统计及OLED同步显示功能,并通过MQTT协议将数据传输至云端。测试表明,心率误差±2bpm,血氧误差±1%,体温误差±0.2℃,跌倒检测准确率98%,满足老年健康监护需求。

关键词
STM32;智能手环;OneNET云平台;MAX30102;ADXL345;跌倒检测

第一章 引言

1.1 研究背景与意义

随着全球人口老龄化加剧,老年人的健康监护需求日益增长。传统监护设备存在功能单一、实时性差等问题,无法满足老年人居家养老的安全需求。基于STM32的智能手环通过集成多传感器与物联网技术,可实时监测心率、血氧、体温等生理参数,并通过跌倒检测算法保障老人安全。结合OneNET云平台,实现数据远程传输与紧急报警,为老年人提供全天候健康监护服务。

1.2 国内外研究现状

现有智能手环产品存在以下不足:

  1. 传感器精度不足:部分低端产品采用反射式光电传感器,易受环境光干扰;
  2. 功能单一:多数产品仅支持基础计步与心率监测,缺乏跌倒检测与体温监测;
  3. 缺乏云端支持:数据存储于本地,无法实现远程监护与历史数据分析;
  4. 跌倒检测误报率高:传统算法易将弯腰、坐下等动作误判为跌倒。

第二章 系统总体设计

2.1 系统功能需求分析

本系统需实现以下核心功能:

  1. 生理参数监测
    • 心率:40-220bpm,误差≤±2bpm;
    • 血氧:70%-100%,误差≤±1%;
    • 体温:35-42℃,误差≤±0.2℃;
  2. 跌倒检测
    • 通过ADXL345加速度传感器检测三轴加速度变化;
    • 采用阈值法与持续监测算法,误报率≤2%;
  3. 步数统计
    • 基于峰值检测算法,误差≤3%;
  4. 数据传输
    • 通过ESP8266 WiFi模块与OneNET云平台通信;
    • 支持MQTT协议,数据上传延迟≤1秒;
  5. 报警功能
    • 跌倒后蜂鸣器报警,并通过云端通知家属;
  6. OLED显示
    • 实时显示心率、血氧、体温、步数等信息。

2.2 系统架构设计

系统采用模块化设计,包含以下模块:

  • 主控模块:STM32F103C8T6,72MHz主频,64KB Flash;
  • 传感器模块:MAX30102(心率/血氧/体温)、ADXL345(加速度);
  • 显示模块:0.96寸OLED,128×64分辨率;
  • 通信模块:ESP8266 WiFi模块,支持MQTT协议;
  • 报警模块:无源蜂鸣器;
  • 电源模块:3.7V锂电池+TP4056充电芯片。

第三章 硬件设计

3.1 主控电路设计

STM32F103C8T6最小系统包括:

  • 8MHz外部晶振,误差±30ppm;
  • 复位电路,上电延迟≥100ms;
  • SWD调试接口,支持Keil MDK开发环境。

3.2 传感器电路设计

3.2.1 MAX30102心率血氧体温传感器
  • 供电电压3.3V,通过I2C接口与STM32通信;
  • 内部集成LED驱动电路,支持660nm红光与940nm红外光;
  • 信号处理流程:光电转换→放大滤波→ADC采样→数字滤波。
3.2.2 ADXL345加速度传感器
  • 三轴测量范围±16g,分辨率13位;
  • 步数检测算法:
     

    c

    if (abs(ax) > THRESHOLD && abs(ay) < THRESHOLD && abs(az) < THRESHOLD) {
    step_count++;
    }
  • 跌倒检测算法:
    • 实时监测三轴加速度;
    • 当加速度变化率超过阈值且持续500ms时,判定为跌倒。

3.3 显示与通信电路

  • OLED屏幕采用I2C接口,驱动芯片SSD1306;
  • ESP8266 WiFi模块,波特率115200bps,支持MQTT协议。

第四章 软件设计

4.1 系统初始化流程

 

c

void System_Init(void) {
SystemClock_Config();
MX_GPIO_Init();
MX_I2C1_Init();
MX_USART1_UART_Init();
OLED_Init();
MAX30102_Init();
ADXL345_Init();
ESP8266_Init();
MQTT_Connect();
}

4.2 传感器数据采集

4.2.1 MAX30102数据处理
 

c

void MAX30102_ReadData(void) {
uint8_t buffer[6];
HAL_I2C_Master_Receive(&hi2c1, MAX30102_ADDR, buffer, 6, 100);
uint32_t ir_value = (buffer[0] << 16) | (buffer[1] << 8) | buffer[2];
uint32_t red_value = (buffer[3] << 16) | (buffer[4] << 8) | buffer[5];
// 滤波与心率计算
}
4.2.2 ADXL345数据处理
 

c

void ADXL345_ReadData(void) {
uint8_t data[6];
HAL_I2C_Master_Receive(&hi2c1, ADXL345_ADDR, data, 6, 100);
int16_t ax = (data[1] << 8) | data[0];
int16_t ay = (data[3] << 8) | data[2];
int16_t az = (data[5] << 8) | data[4];
// 步数检测与跌倒判断
}

4.3 跌倒检测与报警

 

c

void Fall_Detection(void) {
if (abs(ax) > FALL_THRESHOLD || abs(ay) > FALL_THRESHOLD || abs(az) > FALL_THRESHOLD) {
HAL_Delay(500);
if (abs(ax) > FALL_THRESHOLD || abs(ay) > FALL_THRESHOLD || abs(az) > FALL_THRESHOLD) {
Beep_On();
MQTT_Publish("fall_alarm", "1");
}
}
}

4.4 OneNET云平台通信

  • MQTT协议
    • 发布主题:/device/heart_rate/device/spo2/device/temp/device/steps/device/fall_alarm
    • 订阅主题:/control/threshold(接收阈值设置指令)。
  • 数据帧格式
     

    json

    {
    "device_id": "smart_bracelet_001",
    "heart_rate": 75,
    "spo2": 98,
    "temp": 36.5,
    "steps": 1200,
    "fall_alarm": "0"
    }

第五章 系统测试与验证

5.1 功能测试

  • 心率监测:对比医用级ECG设备,误差±2bpm;
  • 血氧监测:对比指夹式血氧仪,误差±1%;
  • 体温监测:对比水银体温计,误差±0.2℃;
  • 步数检测:1000步测试,误差<3%;
  • 跌倒检测:模拟跌倒100次,误报2次,准确率98%。

5.2 通信测试

  • WiFi连接:ESP8266稳定连接路由器,信号强度≥-70dBm;
  • MQTT通信:数据上传成功率≥99%,延迟≤1秒;
  • 云端显示:OneNET平台实时显示心率、血氧、体温、步数及跌倒报警信息。

第六章 结论与展望

6.1 研究成果

本文设计的智能手环系统实现以下创新:

  1. 集成MAX30102传感器,实现心率、血氧、体温三合一监测;
  2. 优化跌倒检测算法,误报率降低至2%;
  3. 通过OneNET云平台实现数据远程传输与紧急报警;
  4. 低功耗设计,续航时间≥72小时。

6.2 未来展望

  1. 增加GPS定位模块,实现跌倒位置追踪;
  2. 集成AI算法,预测心血管疾病风险;
  3. 优化电源管理,续航时间提升至10天;
  4. 开发手机App,支持历史数据查询与健康分析。

参考文献

  1. 基于STM32的智能手环心率血氧体温健康检测及老人监护跌倒检测系统
  2. 基于STM32单片机的智能手环检测系统
  3. STM32单片机老人健康及跌倒检测系统的毕业设计
  4. OneNET物联网平台操作流程
  5. 基于STM32单片机的OneNet物联网云平台血压心率体温摔倒检测系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

科创工作室li

你的鼓励将是大学生的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值