基于 STM32 的老人摔倒报警装置项目【源码分享】
基于 STM32 的老人摔倒报警装置(短信提醒)【源码分享】
一、项目背景
在我国逐步迈入老龄化社会的背景下,独居老人摔倒事故频发且救援不及时的情况越来越受到关注。摔倒后无法及时呼救,是老年人伤亡的重要原因之一。因此,构建一套低成本、可靠、可实时报警的摔倒监测系统具有重要价值。
本文介绍一款基于 STM32 的老人摔倒报警装置,通过超声波检测离地距离、GPS 获取当前位置,并通过 GSM 模块发送短信报警,实现实时监测与快速通知家属的目的。

源码分享
免费开源
https://blog.csdn.net/weixin_52908342/article/details/155539041
二、系统功能设计概述
整个装置围绕 STM32 微控制器展开,结合多类传感器实现摔倒判断与位置上报:
-
离地高度检测:
利用超声波模块(HC-SR04 或其他型号)实时测量身体离地高度。当检测到“高度突然减小且保持低位”时,可判断可能摔倒。 -
位置获取:
使用 GPS 模块(如 Neo-6M)实时定位,获取经纬度用于短信上报。 -
短信报警:
基于 GSM / GPRS 模块(SIM800L / SIM900A)发送短信至预设号码,实现子女实时接收报警并查看位置。 -
低功耗与便携性设计:
可采用电池供电,并结合 FreeRTOS 或深度睡眠机制降低系统功耗,使设备适合老人日常佩戴。

三、系统整体架构
整个系统可以分为传感层、控制层和通信层三部分:
1. 传感层
-
超声波距离传感器
- 负责检测老人距离地面高度。
- 采样频率可设置为 10Hz~20Hz。
- 将高度变化趋势作为判断依据。
-
GPS 模块
- 通过 UART 输出 NMEA 数据。
- STM32 解析 GGA / RMC 数据获得经纬度。
2. 控制层(STM32)
-
推荐 MCU:STM32F103C8T6 / STM32F0 系列
-
核心功能:
- 超声波测距
- 摔倒检测算法
- GPS 数据解析
- GSM 短信控制(AT 指令)
- 数据融合与状态机管理
- 事件触发与报警
使用 HAL 库 + FreeRTOS 可大大提高项目结构清晰度与可维护性。
3. 通信层(短信报警)
-
GSM 模块通过 UART 与 STM32 通信
-
使用 AT 指令实现短信发送
如:AT+CMGF=1 AT+CMGS="138xxxxxxxx"内容包括:
- 老人摔倒提示
- GPS 经纬度位置
- 时间戳

四、摔倒检测算法设计
摔倒检测是本项目的核心,方案如下:
1. 使用离地高度变化检测
超声波测得的高度在正常行走时上下波动范围小;当老人摔倒时:
- 高度会迅速下降(例如从 80cm → 0-10cm)
- 并且保持一定时间(例如 2 秒以上不恢复)
2. 判断逻辑示例
if (高度下降 > 40cm 且 当前高度 < 15cm):
进入疑似摔倒状态
若低高度持续时间 > 2 秒:
判定摔倒
可加入移动平均滤波来减少误判。
3. GPS 联动报警
摔倒触发后:
- 立即开启 GPS 模块(若常开可省略)
- 获取定位数据
- 拼接报警短信并发送
五、短信报警流程
1. 启动 GSM 模块
- 发送
AT - 设置短信格式为文本模式:
AT+CMGF=1
2. 组织短信内容
示例内容:
【报警】检测到老人疑似摔倒!
位置: https://maps.google.com/?q=31.2304,121.4737
时间: 2025-12-03 16:35
请尽快查看!
(可直接跳转地图)
3. 发送短信
AT+CMGS="138xxxxxxxx"
…内容…
Ctrl+Z
六、硬件设计要点
1. 电源部分
- GSM 模块发短信时可能瞬间拉到 2A 峰值电流
→ 需使用 5V/2A 电源或大容量电池 + 降压方案 - 加电解+贴片电容解决 GSM 的电流波动问题
2. 超声波模块安装位置
- 可将装置固定在胸前或腰部
- 测距方向必须与地面垂直
3. GPS 天线位置
- 尽量暴露于开阔区域
- 若装置佩戴于户外,应给 GPS 留天线窗口
七、软件架构设计(基于 FreeRTOS)
可将系统任务拆分为:
| 任务 | 功能 |
|---|---|
| DistanceTask | 超声波测距、摔倒判断 |
| GPSTask | GPS 数据解析 |
| GSMTask | 短信发送逻辑 |
| WatchdogTask | 系统监控 |
| PowerTask | 电源和低功耗管理 |
任务之间通过队列与事件通知实现解耦,提高维护性。
八、体验与扩展功能
为了提高实用性,可以加入以下拓展:
- 蜂鸣器提醒:摔倒后先发出提示音,防止误报
- 蓝牙 APP 配对:子女可远程查看状态
- 重力传感器(MPU6050):实现更精准的跌倒检测
- NB-IoT 模块:替代短信,实现云平台报警
九、总结
本文介绍了一个基于 STM32 的老人摔倒报警装置,从传感器选择、整体架构、摔倒检测算法到短信发送全流程进行了详细解析。整个系统具有:
- 成本低(超声波+GPS+GSM 均属低价模块)
- 可靠性高
- 定位准确
- 报警及时
适合家庭、养老院以及社区医疗场景使用。
- 点赞
- 收藏
- 关注作者
评论(0)