本科毕业设计 · 2027 届 · 计算机工程学院
系统的判定不是「雷达说跌倒就报警」,而是一条带回边的状态机。回边是这个设计里最重要的一条线——它决定了误触发之后系统怎么恢复。
1 空闲
└── 雷达上报跌倒候选(status = fall)
──► 2 跌倒候选
│
├─ 5 秒确认窗 · PIR 无活动 且 高度持续 < 0.65 m
│ ──► 3 本地报警(蜂鸣 + 红灯)
│
└─ 5 秒确认窗 · PIR 有活动 或 高度回升
──► 2 → 返回 1 空闲
记一次「无后果候选」,不报警
3 本地报警 ── 30 秒取消窗(自雷达上报时刻起算)
├── 按键 / 语音取消
│ ──► 4 已取消(记一次误报,不推送家属)
└── 30 秒内未取消
──► 5 超时确认(推送家属端,QoS 1)
坐下、弯腰捡东西、蹲下系鞋带,在雷达的高度曲线里都可能长得像一次跌落的开始。如果没有回边,系统一旦进入「本地报警」就再也不会中途退出——那样误报就会直接变成一次响铃加一次家属惊吓。
5 秒确认窗就是为这条回边存在的:真跌倒之后人不会马上站起来,而蹲下、坐下会在几秒内出现 PIR 活动或高度回升。窗口内只要出现这两个条件之一,系统就退回空闲,不响。
| 条件 | 判据 | 说明 |
|---|---|---|
| PIR 活动 | 5 秒内 PIR 数字量无上升沿 | 真跌倒后人常处于静止或轻微挣扎,PIR 不触发;有活动则多为正常人动作 |
| 高度持续偏低 | 雷达上报的 0x0E0E 高度持续低于 0.65 m(默认阈值,可配置) | 两个条件必须同时满足才算确认通过 |
阈值 0.65 m 是默认值,不是真理。它要按安装挂高与地面材质在标定过程中调整,这也是硬件页强调「挂高必须实测」的原因之一。
本地报警一旦响起,就开启 30 秒取消窗。计时起点是雷达上报那一刻,不是报警响起那一刻——这两个时刻之间还夹着 5 秒确认窗,所以从报警响起到窗口结束实际约 25 秒。这个细节在答辩时会被追问,必须说清楚。
取消窗内,按下取消按键或用语音说固定取消命令词,都算取消。取消后记一次误报,不推送家属——响铃已经起到了本地提醒作用,没有必要再把一次虚惊送到子女手机上。
30 秒内无人取消,事件升级为「超时确认」,通过 MQTT QoS 1 推送家属端。这一步之后事件不可撤回,家属端会看到完整记录。
| 指标 | 含义 | 实测值 | 单侧 95% 置信下限 | 是否达标 |
|---|---|---|---|---|
| ① 检测延迟 | 从雷达上报到确认完成 | |||
| ② 本地告警 | 从确认完成到声光启动 | |||
| ③ 远程通知 | 从事件发出到家属端收到 |
久滞检测与跌倒检测是两条独立链路,用的传感器组合不同,不能混为一谈。
| 级别 | 触发条件 | 动作 |
|---|---|---|
| L1 观察 | 长时间无活动,满 5 分钟 | 记录,本机 OLED 提示 |
| L2 询问 | 满 15 分钟(考虑有人起身活动的情况,约 20 分钟) | SU-03T 语音询问「您还好吗」 |
| L3 报警 | 语音发问后 60 秒内无应答 | 推送家属端 |
久滞的辅助判据是 60 秒窗口内 PIR 累计活动时间少于 10 秒——不是「完全无活动」,因为呼吸、翻身这类微小动作可能被 PIR 边缘捕捉到,用累计时长比用瞬时状态稳。
5 秒确认窗内 PIR 有活动或高度回升 → 状态机走「确认失败」回边 → 返回空闲,不报警,只记一次「无后果候选」。如果确实响了才被取消,那是「误报」,走 30 秒取消窗那条路,记一次误报但不推送家属。
那就是一次正常的「确认通过 → 取消」流程:本地已经响过(起到了提醒与求助作用),老人按取消键,事件不推送家属。这也是取消窗存在的意义之一——不剥夺老人自己处理的权利。
会。报警动作在 STM32 上完成,不依赖 ESP32、不依赖 MQTT、不依赖云端。断网只影响家属能否及时知情;恢复网络后设备会补传缓存事件(详见 系统架构 的可靠性说明)。