基於 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 均屬低價模塊)
- 可靠性高
- 定位準確
- 報警及時
適合家庭、養老院以及社區醫療場景使用。