基于STM32的智能手环设计与实现

基于STM32的智能手环设计与实现

摘要:为满足对人体基础生理信息与日常活动状态的综合监测需求,设计了一套基于STM32的智能手环系统。系统以STM32F103C8T6为控制核心,结合MAX30102心率血氧传感器、DS18B20温度传感器、ADXL345加速度传感器、OLED显示屏、按键、蜂鸣器及ESP8266 Wi-Fi模块构成整体结构,可实现心率检测、血氧监测、温度采集、步数统计、数据展示、阈值设置、异常提醒和无线传输等功能。佩戴过程中,手环可对用户的多项状态信息进行持续采集,并在OLED上实时显示心率、血氧、温度和步数等内容,便于用户直接查看当前数据变化。考虑到日常使用中的提醒需求,在装置中加入了按键设置与蜂鸣器报警功能,用户可根据个人需要设定相关阈值,当监测结果超过设定范围时,系统会发出提示,增强使用过程中的交互性与实用性。为提升数据查看方式的灵活性,将ESP8266Wi-Fi模块接入系统,使采集结果能够上传至手机端进行显示,从而形成本地显示与远程查看相结合的工作方式。该系统整体结构清晰,功能衔接自然,既保留了可穿戴设备应有的便携特点,也体现出健康监测设备在信息采集与传输方面的应用价值,适用于小型智能健康监测设备的设计。

关键词:STM32;智能手环;健康监测;Wi-Fi传输

Design and Implementation of an STM32-Based Smart Bracelet

Abstract:To meet the need for integrated monitoring of basic physiological information and daily activity status, I designed a smart bracelet system based on STM32. The system uses STM32F103C8T6 as the main control core and integrates MAX30102 heart rate and blood oxygen sensor,DS18B20 temperature sensor,ADXL345 acceleration sensor,OLED display, keys, buzzer, and ESP8266 Wi-Fi module to realize heart rate detection, blood oxygen monitoring, temperature acquisition, step counting, data display, threshold setting, abnormal alarm, and wireless transmission. During use, the bracelet can continuously collect multiple types of user status information and display heart rate, blood oxygen, temperature, and step count on the OLEDscreen in real time, making it convenient for users to check current data changes directly. Considering the reminder needs in daily use, key setting and buzzer alarm functions are added to the device. Users can set relevant thresholds according to their own needs. When the monitored results exceed the preset range, the system will issue a prompt, which improves interactivity and practicality in the use process. To make data viewing more flexible, the ESP8266 Wi-Fi module is introduced into the system so that the collected data can be uploaded to the mobile phone for display, forming a working mode that combines local display with remote viewing. The overall structure of the system is clear and the functional connection is natural. It not only retains the portability expected of wearable devices, but also reflects the application value of health monitoring equipment in information acquisition and transmission. It is suitable for the design of small intelligent health monitoring devices.

Keywords:STM32;smart bracelet;health monitoring;Wi-Fitransmission

1绪论

1.1研究背景及意义

随着可穿戴设备在健康管理、运动记录和日常提醒中的使用范围不断扩大,智能手环已经由早期较单一的计步与提示工具,逐步发展为兼顾生理参数采集、状态反馈和信息传输的便携式终端。基于智能手环与深度相机协同的体力活动干预研究表明,手环类设备正在从单纯记录扩展到更具针对性的健康支持场景中[1]。感知技术驱动下的智能手环创新设计也说明,传感能力已经成为影响产品功能组织和使用方式的重要因素[2]。围绕手环故障时间预测与交互方案的研究则反映出,设备稳定性和交互质量正逐渐成为智能手环设计中不可忽视的内容[3]。基于STM32F103C8T6的老年人看护手环方案已经验证了以单片机为核心整合心率、血氧与无线预警的实现路径具有较强可行性[4]。

从应用价值来看,智能手环的意义已经不再局限于运动信息记录。面向慢性病干预的研究表明,手环在连续监测和行为管理方面具备较明显的辅助作用[5]。基于智能手环的劳动与体能融合研究也说明,这类设备正在向更多日常使用场景渗透,并逐步形成数字化支持能力[6]。适老化健康守护智慧手环的设计研究体现出,手环产品正不断贴近不同人群的实际需求,使用对象与应用目标都在持续细化[7]。低成本多功能智能手环的实现方案进一步说明,在保证体积与便携性的同时,把健康监测、运动感知和无线传输组合到同一装置中已经具备较成熟的实现基础[8]。

结合当前发展情况,将STM32单片机作为核心控制单元,围绕心率、血氧、温度和步数信息的采集、显示、阈值设置、异常提醒以及Wi-Fi上传等内容设计一套智能手环系统,既符合穿戴设备逐步增强健康监测功能的发展趋势,也较契合用户对数据查看便捷性和持续性的实际需求[9]。已有基于STM32的心率监测与安全预警手环设计表明,采用嵌入式控制器完成数据采集、阈值判断和本地提醒,能够形成较清晰的运行逻辑,这也为开展本课题设计提供了直接参考[10]。

1.2国内外研究现状

1.2.1 国内研究现状

在国内,围绕智能手环的研究内容已经由基础监测逐步扩展到多参数采集、适老化设计、无线通信和数据管理等方向。吴亮亮等设计了多参数智能手环监护系统,将心率、脉搏率、体温、血氧饱和度等信息纳入连续监测范围,体现出国内研究正朝着多指标综合监护方向发展[11]。龙瑷藜等基于KANO模型分析老年用户需求,把健康监测、一键求助和界面可读性作为重点内容,说明智能手环设计开始更加关注特定人群的实际使用感受[12]。朱正捷等采用AHP层次分析法对助老智能手环进行设计与优化,把安全功能、用户体验和社交需求纳入同一评价框架,反映出相关研究已经不再停留在单纯功能堆叠层面[13]。郑丽英等围绕高血压患者的用药管理开展研究,结果表明以智能手环为导向的管理模式能够提升患者依从性和自我管理水平,说明智能手环在慢病管理中的作用正在被不断重视[14]。崔凯等将Lora通信技术引入健康监控手环方案,展现出国内研究在低功耗、远距离通信方面的延伸趋势[15]。

从系统构建方式来看,国内相关研究已经形成了较明确的实现路径。袁颖等设计了基于STM32单片机的智能手环,利用ADXL345完成体位检测,并实现步数、心率、温度和时间等信息的显示,为多功能手环方案提供了较直接的参考[16]。梁成功等完成了基于STM32单片机的智能手环设计与实现,将健康监测、运动追踪、蜂鸣器提醒和手机通信结合在一起,说明本地监测与外部通信结合已成为常见设计思路[17]。胡检虹等面向老年用户设计了智能手环控制系统,将硬件端、服务器端和手机端结合起来,实现了心率查看、定位导航和摔倒警报等功能,反映出多端协同在国内手环方案中逐渐增多[18]。周霞等围绕互联网技术下的便携式智能手环展开研究,把数据加密和信息交互流程纳入设计重点,说明联网后的信息安全问题已受到关注[19]。廖菲钰等设计并实现了基于STM32的智能手环系统,将健康数据监测、显示输出和无线通信整合到同一装置中,与本课题在整体思路上具有较强对应性[20]。

国内研究还在不断拓展智能手环的应用场景与交互方式。朱扬等提出了基于STM32F103C8T6的游乐场智能手环设计,把心率检测、Wi-Fi通信和信息记录结合起来,说明手环设备已由个人监测延伸到特定场景管理中[21]。惠鹏飞等设计了基于STM32的蓝牙无线多功能智能手环,并通过手机APP显示监测数据,体现出蓝牙交互在便携式设备中的实用价值[22]。曾贵苓等利用STM32、温度传感器、心率传感器、ADXL345、蓝牙模块和OLED显示器构建智能手环电路,验证了常见模块组合方案的可行性[23]。张斌等围绕温度、心率和步数等指标完成了基于STM32的智能手环设计,结果表明该类系统在成本、操作和实现难度之间具有较好的平衡[24]。

1.2.2 国外研究现状

国外关于智能手环的研究更重视算法效率、持续监测能力和扩展应用场景。ZhangHaojie等对Bluetooth5.0低功耗技术在智能手环中的应用进行了分析,指出通信稳定性、连接范围和续航能力仍是手环设计中的关键问题[25]。JunHu等提出了用于智能腕带实时跌倒检测的轻量化模型MicroFallNet,说明国外研究已较重视面向微控制器部署的算法优化问题[26]。SunYingli等讨论了智能手环在城市可持续生活中的应用,认为手环设备不仅可以监测环境信息,还能够对用户行为起到引导作用,反映出其应用边界正在持续扩大[27]。AsmaChanna等构建了面向帕金森患者的云连接手环系统,将连续监测、Wi-Fi连接和机器学习结合起来,体现出国外研究更关注手环在长期健康支持中的系统化价值[28]。JianzhaoSun等围绕无线通信智能手环数据聚类算法展开研究,说明在监测数据种类不断增加的背景下,数据处理与分析质量已经成为影响设备性能的重要因素[29]。RecioRodríguezJoséI.等通过随机试验研究了智能手机与智能手环联合使用后的生活方式变化,结果表明这类设备在活动改善、功能维持和生活质量提升方面具有一定潜力[30]。从现有研究情况来看,国内研究更偏向于整机搭建、功能集成和交互实现,国外研究则更重视持续监测、算法优化和场景延伸,这也说明将多传感采集、OLED显示、阈值提醒与Wi-Fi上传整合到同一套STM32智能手环系统中,仍具有较明确的设计意义。

1.3研究内容

本设计以基于STM32的智能手环系统为研究对象,围绕日常健康信息监测与数据查看需求,完成一套以STM32F103C8T6为核心的可穿戴装置。系统将心率、血氧、温度和步数作为主要监测内容,同时结合OLED显示、按键设置、蜂鸣器提醒和Wi-Fi上传等功能,使手环能够完成数据采集、状态显示、阈值判断和异常提示等基本任务。

根据功能要求,系统由主控模块、心率血氧采集模块、温度采集模块、运动检测模块、显示模块、按键输入模块、报警模块和Wi-Fi通信模块组成。主控部分负责数据处理与功能协调,MAX30102用于心率和血氧检测,DS18B20用于温度采集,ADXL345用于运动状态检测和步数统计,OLED用于显示实时信息,按键用于阈值设置,蜂鸣器用于超限提醒,ESP8266用于将监测数据上传至手机端显示。

在硬件部分,完成了主控电路、传感采集电路、显示电路、按键电路、报警电路和无线通信电路的设计。在软件部分,围绕系统功能编写主程序及各功能子程序,完成心率血氧读取、温度采集、步数统计、数据显示、阈值设置、异常报警和Wi-Fi上传等内容,使系统能够较稳定地实现预期功能。

2系统总体设计

2.1需求分析

随着健康监测类可穿戴设备在日常生活中的使用频率不断提高,用户对智能手环的功能完整性、数据显示直观性和远程查看便捷性提出了更高要求。常见的简易手环多集中在单一参数记录或基础运动统计上,在多参数同步采集、异常提醒、本地交互和无线传输等方面仍存在一定不足。结合本课题的设计目标,系统不仅需要完成心率、血氧、温度和步数信息的采集与显示,还应将按键设置、阈值判断、蜂鸣器报警和手机端数据查看组织到同一套运行流程中,使智能手环在佩戴过程中具备较清晰的状态反馈和较连贯的工作逻辑。以下是本系统的需求分析:

生理参数采集与状态识别:系统应具备对心率、血氧、温度和运动状态的获取能力,能够对佩戴者的基础健康信息进行持续采集,并根据采集结果完成相应处理,为后续显示、判断和上传提供数据基础。

本地显示与按键设置:系统应能够通过OLED实时显示心率、血氧、温度和步数等信息,同时支持用户通过按键完成阈值设置或界面切换,使手环在本地使用时具备较直接的查看与操作能力。

异常提醒与状态反馈:系统应能够对采集到的参数进行比较判断,当心率、血氧或温度等数据超过设定范围时,及时启动蜂鸣器提醒用户注意当前状态,使监测功能不只停留在数据显示层面,而是形成较明确的异常反馈机制。

无线传输与手机端查看:系统应能够借助Wi-Fi模块将采集到的监测数据上传至手机端显示,使本地查看与远程查看之间形成互补,便于用户在不同使用情形下获取手环监测结果。

2.2整体方案设计

本系统硬件部分以STM32F103C8T6单片机为核心,外围连接MAX30102心率血氧采集模块、DS18B20温度采集模块、ADXL345运动检测模块、OLED显示模块、按键输入模块、蜂鸣器报警模块以及ESP8266Wi-Fi通信模块,共同完成智能手环系统的基本功能。系统上电后,由单片机完成初始状态配置和各功能模块的协调控制,在运行过程中持续接收各传感器返回的数据;经主控处理后,心率、血氧、温度和步数等信息可显示在OLED界面上,用户也可通过按键对相关阈值进行设置。当采集结果超出预设范围时,控制程序启动蜂鸣器进行提醒;采集到的监测数据还可经ESP8266发送至手机端显示,使手环在本地显示之外具备无线传输能力。整机硬件中还包括供电部分、主控最小系统和各外设接口电路,用于保证系统供电稳定和各功能模块配合运行,使手环具备较完整的独立工作条件。

从整体结构来看,STM32F103C8T6位于系统中心位置,MAX30102用于获取心率和血氧信息,DS18B20用于温度采集,ADXL345用于检测运动状态并完成步数统计,OLED模块用于显示当前监测数据和工作状态,按键模块用于阈值设置与功能切换,蜂鸣器用于异常报警,ESP8266模块负责将数据上传到手机端。各模块在单片机协调下构成一个完整的硬件系统,既能够完成健康信息的接收与处理,也能够根据判断结果作出相应提示和数据传输。这样的整体方案结构较为清晰,模块划分明确,便于后续程序设计、功能调试和系统扩展。系统框图如图2.1所示。

图2.1 系统总体框图

2.3模块的选型

2.3.1 主控模块的选型

方案一:STC89C52单片机

STC89C52价格较低,开发方式较为常见,适合完成结构相对简单的控制任务。该类单片机能够实现基本按键输入、简单数据显示和外设驱动等功能,但在运行速度、片内资源和接口丰富程度方面相对有限。当系统需要同时完成多传感器数据采集、OLED刷新、按键处理、阈值判断、蜂鸣器提醒和Wi-Fi通信时,整体处理余量会受到一定影响。

方案二:STM32F103C8T6单片机

STM32F103C8T6属于32位单片机,运行速度较快,片内资源较丰富,内部集成GPIO、USART、I2C、定时器等多种外设接口,能够满足多模块协同工作条件下的数据采集、状态显示、按键控制、报警处理和无线通信需求。该芯片处理能力较强,适合用于功能相对完整的可穿戴监测系统。

选择方案二,本系统选用STM32F103C8T6作为主控制器。该芯片能够满足心率血氧采集、温度检测、步数统计、OLED显示、按键设置、蜂鸣器控制和ESP8266通信等功能要求,便于完成系统整体组织与程序设计,能够较好保证手环运行的完整性和稳定性,因此更适合作为本设计的核心控制单元。

2.3.2 心率血氧采集模块的选型

方案一:PulseSensor心率传感器

PulseSensor能够实现基础心率采集,结构较简单,应用方式也较直观,适合对单一脉搏信息进行检测。该方案主要用于心率数据获取,功能相对单一,若系统还需要同步完成血氧监测,则仍需增加其他检测器件,模块组合会变得分散。

方案二:MAX30102心率血氧传感器

MAX30102能够同时完成心率和血氧信息采集,集成度较高,适合用于小型健康监测设备。该模块体积较小,便于与手环结构配合,也有利于减少外围硬件数量,使系统整体布局更紧凑。

选择方案二,本系统选用MAX30102作为心率血氧采集模块。由于本设计同时关注心率与血氧两项监测内容,采用MAX30102更有利于实现多参数一体化采集,也便于后续数据处理与显示,因此更符合本课题的功能要求。

2.3.3 温度采集模块的选型

方案一:热敏电阻温度检测方案

热敏电阻价格较低,结构简单,可用于基础温度变化检测。该方案在使用时往往还需要配合模数转换和标定处理,受环境影响也较明显,若用于可穿戴设备中的温度采集,数据处理过程会相对繁琐。

方案二:DS18B20温度传感器

DS18B20属于数字式温度传感器,输出方式较直接,测温范围较宽,使用过程中的数据读取也较为方便。该器件能够满足手环对温度信息采集的基本需求,适合用于小型嵌入式监测装置。

选择方案二,本系统选用DS18B20作为温度采集模块。该器件便于与主控进行数据交互,温度采集方式较稳定,能够满足本设计对温度参数监测的要求,同时也有利于降低系统处理复杂度,因此更适合作为本系统的温度检测方案。

2.3.4 运动检测模块的选型

方案一:MPU6050姿态检测模块

MPU6050集成加速度与陀螺仪功能,能够实现较丰富的姿态与运动信息检测,适用于对运动状态分析要求较高的系统。对于本课题以步数统计为主要目标的手环来说,若引入姿态融合处理,程序组织和数据运算会相对复杂。

方案二:ADXL345加速度传感器

ADXL345能够完成三轴加速度数据采集,适合用于基础运动状态识别和步数统计。该模块结构较成熟,应用广泛,较适合资源受限的小型手环系统。

选择方案二,本系统选用ADXL345作为运动检测模块。由于本设计主要关注日常运动状态记录和步数统计,对复杂姿态解算要求不高,采用ADXL345更有利于在保证功能实现的同时保持系统结构简洁,因此更符合本课题的设计安排。

2.3.5 显示模块的选型

方案一:LCD1602显示模块

LCD1602价格较低,应用较常见,能够完成基本字符显示,在一些小型控制系统中使用较多。该模块显示区域有限,当系统需要同时呈现心率、血氧、温度、步数和运行状态等多项内容时,界面布局会受到限制,显示效果也不够紧凑。

方案二:0.96寸OLED显示模块

0.96寸OLED显示模块体积较小,显示清晰,支持较灵活的界面布局,能够较好呈现多项监测参数和工作状态。该模块更适合空间有限、显示需求相对集中的手环类设备。

选择方案二,本系统选用0.96寸OLED显示模块。由于本设计需要实时显示多项健康数据与当前状态,OLED在显示内容、刷新效果和界面表达方面更符合课题要求,能够使手环的工作过程更加直观。

2.3.6 按键输入模块的选型

方案一:触摸按键模块

触摸按键具有操作轻便、外观简洁等特点,适合用于对外观完整性要求较高的便携式设备。该方案对电路环境和抗干扰能力有一定要求,在阈值设置这类需要明确触发反馈的场合中,稳定性和确认感受有时不够理想。

方案二:独立机械按键模块

独立机械按键结构简单,触发反馈明确,便于完成阈值设置、界面切换等基础操作。该方案实现方式直接,程序处理也较方便,适合小型嵌入式系统的人机交互需求。

选择方案二,本系统采用独立机械按键作为本地输入方式。手环在使用过程中主要完成参数设置和简单切换操作,对按键数量要求不高,采用机械按键更有利于保证输入可靠性和操作清晰度,因此更适合作为本系统的按键方案。

2.3.7 无线通信模块的选型

方案一:HC-05蓝牙模块

HC-05接入方式较简单,适合实现设备与手机之间的近距离数据交换,开发过程较直接。该方案适用于基础无线交互,但在数据上传范围和联网能力方面存在一定限制,不利于形成较灵活的远程查看方式。

方案二:ESP8266Wi-Fi模块

ESP8266具备Wi-Fi通信能力,能够实现手环与手机端之间的数据上传与显示,扩展方式较灵活。该模块在联网应用中更具优势,适合用于需要无线传输和手机端查看的监测系统。

选择方案二,本系统选用ESP8266作为无线通信模块。该模块能够满足监测数据上传和手机端显示的需求,使本地显示与远程查看形成较好配合,整体功能也更符合本课题对智能手环通信方式的要求。

2.3.8 报警模块的选型

方案一:无源蜂鸣器

无源蜂鸣器能够通过程序输出不同频率信号实现声音提示,控制方式较灵活。该方案在使用中需要主控提供驱动波形,程序处理相对更细,对系统资源也会形成一定占用。

方案二:有源蜂鸣器

有源蜂鸣器内部自带振荡源,控制方式较直接,只需输出相应控制信号即可发出提示音,适合用于阈值超限提醒和状态报警。

选择方案二,本系统采用有源蜂鸣器作为报警器件。当心率、血氧或温度数据超出设定范围时,系统能够及时发出声音提示,提醒用户关注当前监测结果。该方案实现简单,报警效果明确,也更符合本设计对异常提醒功能的要求。