博客 / 詳情

返回

基於 STM32 的老人摔倒報警裝置項目【源碼分享】

基於 STM32 的老人摔倒報警裝置(短信提醒)【源碼分享】

一、項目背景

在我國逐步邁入老齡化社會的背景下,獨居老人摔倒事故頻發且救援不及時的情況越來越受到關注。摔倒後無法及時呼救,是老年人傷亡的重要原因之一。因此,構建一套低成本、可靠、可實時報警的摔倒監測系統具有重要價值。

本文介紹一款基於 STM32 的老人摔倒報警裝置,通過超聲波檢測離地距離、GPS 獲取當前位置,並通過 GSM 模塊發送短信報警,實現實時監測與快速通知家屬的目的。


在這裏插入圖片描述

源碼分享

免費開源

https://blog.csdn.net/weixin_52908342/article/details/155539041

二、系統功能設計概述

整個裝置圍繞 STM32 微控制器展開,結合多類傳感器實現摔倒判斷與位置上報:

  1. 離地高度檢測
    利用超聲波模塊(HC-SR04 或其他型號)實時測量身體離地高度。當檢測到“高度突然減小且保持低位”時,可判斷可能摔倒。
  2. 位置獲取
    使用 GPS 模塊(如 Neo-6M)實時定位,獲取經緯度用於短信上報。
  3. 短信報警
    基於 GSM / GPRS 模塊(SIM800L / SIM900A)發送短信至預設號碼,實現子女實時接收報警並查看位置。
  4. 低功耗與便攜性設計
    可採用電池供電,並結合 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 均屬低價模塊)
  • 可靠性高
  • 定位準確
  • 報警及時

適合家庭、養老院以及社區醫療場景使用。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.