一台 reCamera 2002 在设备本地判断有没有人摔倒,并通过 MQTT 发出事件。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。远景、遮挡、低光以及看起来像跌倒的地面动作仍是弱项。
一台 reCamera 2002 在设备本地判断有没有人摔倒,并通过 MQTT 发出事件。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。远景、遮挡、低光以及看起来像跌倒的地面动作仍是弱项。
安装 0.5.5 控制台,它负责管理相机应用。已经是该版本会自动跳过。
192.168.42.1;走 Wi-Fi 时用路由器上显示的 IP。recamera(较早期的设备用 recamera.2)。| 现象 | 处理 |
|---|---|
| 连不上 | 确认设备已开启 SSH,IP 和密码填写正确 |
| 装完后控制台页面打不开 | 等待 30 秒让它重启,然后重新加载 http://<摄像头 IP>/ |
| 密码被拒绝 | 试试 recamera.2,出厂固件较早的设备用这个密码 |
安装姿态模型和跌倒检测应用,并在相机上启动它。
| 现象 | 处理 |
|---|---|
| 服务启动后立刻退出 | 还有别的相机应用在占用摄像头;同一时间只能有一个程序占用,重启设备后重试 |
| 装完后 Node-RED 不工作了 | 属于预期——安装会把摄像头从 Node-RED 和其他视觉应用手里接管过来 |
| 跌倒漏报 | 拉大视野、改善照明,保证倒地前后肩部和髋部都可见 |
| 做俯卧撑触发告警 | 这是已知的类跌倒动作,换个机位或在下游加人工确认 |
| 收不到 MQTT 消息 | 确认电脑能访问 1883 端口,主题为 recamera/fall-detection/results |
点击 连接,实时看到骨架、当前状态和事件编号。
| 现象 | 处理 |
|---|---|
| 叠加层比视频先出现 | MQTT 比 RTSP 连得快,等几秒即可 |
| 人贴近地面时骨架消失 | 重新构图;落地后的短暂遮挡可以容忍,长时间遮挡无法判定 |
| 完全没有叠加层 | 确认 1883 端口可达,且主题填写一致 |
告警发往 recamera/fall-detection/results,Home Assistant 自动发现会生成跌倒状态、事件编号和有人存在实体。
NORMAL。跳过这一步部署即告完成:摄像头照旧发 MQTT 事件,其余什么都不变。
做这一步,则在另一台主机上安装告警面板:站点总览、在实时画面上画识别区域、每个区域的无人超时与静止超时、值班人确认或驳回告警、审计记录,以及不含视频的 webhook。
面板装在与摄像头同网段的另一台机器上,不需要 AI 算力:reComputer R1000 系列,或已有的一台 Linux 机器。
docker compose version 必须能跑通),并可 SSH 登录。mosquitto_sub -h <摄像头或 broker 地址> -t '#' -v。reCamera 2002 发布在 <设备名>/fall-detection/results,单流,无流编号后缀。| 现象 | 处理 |
|---|---|
| 部署停在「Port 8080 is already in use」 | 在表单里换一个面板端口,或停掉提示里指出的那个服务。 |
| 结尾出现「no message on ... within 20 s」告警 | 面板已起来但没收到检测结果。用 mosquitto_sub -t '#' -v 重新核对主题,并确认摄像头发布到的是这里填的 broker 地址。 |
| 告警列表一直为空,无人告警从不触发 | 画面里没人时摄像头也要发消息,这个超时才有输入。跌倒告警不受影响。 |
eldercare-alarm-* 报 pull access denied | 检查主机能否访问镜像仓库。 |
通过 SSH 部署到面板主机。
跑面板的那台机器——reComputer R1000,或任意已装 Docker 的现有 Linux 服务器
recomputerfall_result_v1摄像头发布的是哪种负载。reCamera 2002 发 fall_result_v1;reCamera Pro 发自己的状态消息,需要 Pro 适配器。
recamera/fall-detection/results摄像头实际发布的主题。部署前用 `mosquitto_sub -h <broker> -t '#' -v` 确认——2002 是 <设备名>/fall-detection/results,Pro 是 <base>/fall-detection/state。用 + 通配符可覆盖多台摄像头。
mosquitto保持 mosquitto 就使用本套栈在这台机器上启动的 broker,并把摄像头指向本机;填摄像头或你自己的 broker 地址则订阅已有的那个。
1883面板连接的端口。使用内置 broker 时与下面发布的 broker 端口填同一个值。
使用内置 broker 时留空——它在局域网内允许匿名连接
不支持引号和反斜杠——这个值会写进生成配置里的带引号字段
1883内置 broker 在本机绑定的端口。若本机 1883 已被占用就改这里——部署会提前失败并给出占用它的进程。
8080面板页面对外的端口。本机 8080 已被占用就改这里。
bedroom这些摄像头看护的区域。部署会建立一个覆盖整幅画面的区域;若一台摄像头覆盖两个房间,之后在主机上把它拆成多个矩形。
60区域内允许持续无人多久才告警。要设得高于正常的离开时长——卫生间区域应远短于卧室。
30区域内有人但持续不动多久才告警。睡眠时段会触发它,除非区域排除床位或阈值覆盖一次午睡。
确认后的告警 POST 到哪里。负载只含告警 id、类型、区域、流、时间戳与操作者,不含快照或视频。留空则只在面板里记录。
只有装了面板才需要这一步。
| 现象 | 处理 |
|---|---|
| 页面打不开 | 核对面板端口与部署步骤里填的一致,并确认主机防火墙放行。 |
| 出现登录页 | 部署设置了 ELDERCARE_API_TOKEN。输入该口令与操作者姓名——姓名会写进确认/驳回回执。 |
| 某个房间显示「未知 + 断流」 | 面板主机连不上那台摄像头,检查网络;卡片上的「最近一帧」是最后收到画面的时间。 |
config/alarm-panel.yaml,再执行 docker compose restart alarm-panel),
让该区域空置,确认出现一条告警。验证完把原值改回去。可选,默认关闭。跌倒告警触发后,服务出声询问住户是否安好,并按回答处置;关闭后告警链路不变。
回答如何影响告警:
| 回答 | 结果 |
|---|---|
| 求救("救命"、"help"、"我起不来") | 立即确认,跳过剩余的人工窗口 |
| 完全没有回答 | 立即确认 |
| 听不明白 | 立即确认 |
| "我没事" | 默认 on_ok: needs_review——告警保持原有时序,只打上待复核标记。要直接结案就设 on_ok: dismiss |
同一局域网内有一个 OpenVoiceStream 实例,USB 麦克风与扬声器接在运行它的那台机器上,不接在摄像头上。
| 现象 | 处理 |
|---|---|
每条告警都是 no_answer | 要么提示音听不见,要么没有采到音。先查扬声器,再在告警主机上跑 arecord -l。 |
每条告警都是 unclear | ASR 返回的文本没命中词表。在控制台里看转写内容,把住户实际的说法加进 ok_keywords / help_keywords。 |
| 告警自己结案了 | on_ok 被设成了 dismiss。除非确实有人在复核这些驳回,否则改回 needs_review。 |
| 服务起来了但从不出声 | 确认告警主机的音频设备已接入容器,在 docker compose logs eldercare-alarm 里查看 TTS 或播放报错。 |
同一句话里同时有求救词和安全词时按求救处理。
隐私: 音频不落盘。审计保存判定结果、置信度、耗时与转写文本;把 store_transcript 设为 false 则不存转写文本。通知不含快照和视频。
curl -sf http://<ovs 地址>:8621/readyz 返回 200。一台 reCamera Pro 在设备本地做多人跟踪和跌倒判定,并通过 MQTT 发出事件。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。远景、遮挡、弱光以及类似跌倒的地面活动仍是弱项。
检测器通过设备自带的应用中心分发,本套餐配置已安装的应用并把它设为运行中的应用。设备上还没有时,先在应用中心安装。
只需做一次,而且只在摄像头还没有应用中心时才需要。

| 现象 | 处理 |
|---|---|
| 测试连接失败 | 检查地址,以及这台电脑能否访问摄像头的 5555 端口 |
| 点了检查更新设备没反应 | 可能已经是最新——去摄像头页面看有没有应用中心 |
| 更新后仍没有应用中心 | 刷新页面,摄像头重启后需要一点时间 |
把应用指向你的 MQTT 服务器,并将其设为运行中的应用。
| 现象 | 处理 |
|---|---|
| 提示应用未安装 | 先在设备的应用中心安装 Fall Detection,再重新执行本步 |
| 登录被拒 | 连续失败会按 IP 递增锁定,重试前先在控制台确认密码 |
| MQTT 收不到消息 | 确认 broker 地址从摄像头可达,而不只是从你的电脑可达。如果留空了,结果只出现在设备页面,这是预期行为 |
打开设备控制台,让人在摄像头前走动,观察实时画面。
| 现象 | 处理 |
|---|---|
| 摄像头页面打不开 | 固件有 HTTPS 开关,80 端口会重定向到 443。跟随跳转,或直接用 https:// 地址打开 |
| 实时画面正常但 broker 收不到跌倒事件 | 检查上一步填的 broker 地址和端口;summary 主题要检测到人之后才会出现 |
| 应用中心里有 Fall Detection 但启动不了 | 缺 AI 模型。在摄像头的应用中心里重新安装一次——安装时会连模型一起下载 |
| 贴近地面时漏检 | 调整摄像头取景;倒地后的短暂遮挡可以容忍,长时间遮挡无法判定 |
摄像头现在会把跌倒事件发到你的 broker。
| 主题 | 内容 |
|---|---|
<设备名>/fall-detection/summary | person_count、fallen_count |
<设备名>/fall-detection/fall | 状态跃迁时的 fall_event |
这两个主题不含骨架数据;带骨架的实时画面在设备控制台页面上,由本步骤打开。
跳过这一步部署即告完成:摄像头照旧发 MQTT 事件,其余什么都不变。
做这一步,则在另一台主机上安装告警面板:站点总览、在实时画面上画识别区域、每个区域的无人超时与静止超时、值班人确认或驳回告警、审计记录,以及不含视频的 webhook。
面板装在与摄像头同网段的另一台机器上,不需要 AI 算力:reComputer R1000 系列,或已有的一台 Linux 机器。
docker compose version 必须能跑通),并可 SSH 登录。mosquitto_sub -h <摄像头或 broker 地址> -t '#' -v。reCamera Pro 发布在 <base>/fall-detection/state;表单里「摄像头型号」要选 reCamera Pro,才会用 Pro 适配器。| 现象 | 处理 |
|---|---|
| 部署停在「Port 8080 is already in use」 | 在表单里换一个面板端口,或停掉提示里指出的那个服务。 |
| 结尾出现「no message on ... within 20 s」告警 | 面板已起来但没收到检测结果。用 mosquitto_sub -t '#' -v 重新核对主题,并确认摄像头发布到的是这里填的 broker 地址。 |
| 告警列表一直为空,无人告警从不触发 | 画面里没人时摄像头也要发消息,这个超时才有输入。跌倒告警不受影响。 |
eldercare-alarm-* 报 pull access denied | 检查主机能否访问镜像仓库。 |
通过 SSH 部署到面板主机。
跑面板的那台机器——reComputer R1000,或任意已装 Docker 的现有 Linux 服务器
recomputerfall_result_v1摄像头发布的是哪种负载。reCamera 2002 发 fall_result_v1;reCamera Pro 发自己的状态消息,需要 Pro 适配器。
recamera/fall-detection/results摄像头实际发布的主题。部署前用 `mosquitto_sub -h <broker> -t '#' -v` 确认——2002 是 <设备名>/fall-detection/results,Pro 是 <base>/fall-detection/state。用 + 通配符可覆盖多台摄像头。
mosquitto保持 mosquitto 就使用本套栈在这台机器上启动的 broker,并把摄像头指向本机;填摄像头或你自己的 broker 地址则订阅已有的那个。
1883面板连接的端口。使用内置 broker 时与下面发布的 broker 端口填同一个值。
使用内置 broker 时留空——它在局域网内允许匿名连接
不支持引号和反斜杠——这个值会写进生成配置里的带引号字段
1883内置 broker 在本机绑定的端口。若本机 1883 已被占用就改这里——部署会提前失败并给出占用它的进程。
8080面板页面对外的端口。本机 8080 已被占用就改这里。
bedroom这些摄像头看护的区域。部署会建立一个覆盖整幅画面的区域;若一台摄像头覆盖两个房间,之后在主机上把它拆成多个矩形。
60区域内允许持续无人多久才告警。要设得高于正常的离开时长——卫生间区域应远短于卧室。
30区域内有人但持续不动多久才告警。睡眠时段会触发它,除非区域排除床位或阈值覆盖一次午睡。
确认后的告警 POST 到哪里。负载只含告警 id、类型、区域、流、时间戳与操作者,不含快照或视频。留空则只在面板里记录。
只有装了面板才需要这一步。
| 现象 | 处理 |
|---|---|
| 页面打不开 | 核对面板端口与部署步骤里填的一致,并确认主机防火墙放行。 |
| 出现登录页 | 部署设置了 ELDERCARE_API_TOKEN。输入该口令与操作者姓名——姓名会写进确认/驳回回执。 |
| 某个房间显示「未知 + 断流」 | 面板主机连不上那台摄像头,检查网络;卡片上的「最近一帧」是最后收到画面的时间。 |
config/alarm-panel.yaml,再执行 docker compose restart alarm-panel),
让该区域空置,确认出现一条告警。验证完把原值改回去。可选,默认关闭。跌倒告警触发后,服务出声询问住户是否安好,并按回答处置;关闭后告警链路不变。
回答如何影响告警:
| 回答 | 结果 |
|---|---|
| 求救("救命"、"help"、"我起不来") | 立即确认,跳过剩余的人工窗口 |
| 完全没有回答 | 立即确认 |
| 听不明白 | 立即确认 |
| "我没事" | 默认 on_ok: needs_review——告警保持原有时序,只打上待复核标记。要直接结案就设 on_ok: dismiss |
同一局域网内有一个 OpenVoiceStream 实例,USB 麦克风与扬声器接在运行它的那台机器上,不接在摄像头上。
| 现象 | 处理 |
|---|---|
每条告警都是 no_answer | 要么提示音听不见,要么没有采到音。先查扬声器,再在告警主机上跑 arecord -l。 |
每条告警都是 unclear | ASR 返回的文本没命中词表。在控制台里看转写内容,把住户实际的说法加进 ok_keywords / help_keywords。 |
| 告警自己结案了 | on_ok 被设成了 dismiss。除非确实有人在复核这些驳回,否则改回 needs_review。 |
| 服务起来了但从不出声 | 确认告警主机的音频设备已接入容器,在 docker compose logs eldercare-alarm 里查看 TTS 或播放报错。 |
同一句话里同时有求救词和安全词时按求救处理。
隐私: 音频不落盘。审计保存判定结果、置信度、耗时与转写文本;把 store_transcript 设为 false 则不存转写文本。通知不含快照和视频。
curl -sf http://<ovs 地址>:8621/readyz 返回 200。reComputer J30 / J40 拉取现有 IP 摄像头的 RTSP 流,对每一路里的多个人独立跟踪并判定跌倒。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。远景和遮挡会降低召回。
在 Jetson 上部署检测器并构建推理引擎,预计需要 10–20 分钟。
rtsp://admin:password@192.168.1.64:554/Streaming/Channels/101。| 现象 | 处理 |
|---|---|
| 引擎构建失败 | 确认 /usr/src/tensorrt/bin/trtexec 存在,且磁盘有 10 GB 空闲 |
| 收不到摄像头画面 | 先用 VLC 测试 RTSP 地址,绝大多数问题是路径或用户名密码写错 |
| 容器反复重启 | 查看日志里的引擎路径;上次中断留下的半成品引擎必须删掉 |
| 部署时连不上 | 确认 SSH 可达且用户名正确——Seeed 镜像通常是 recomputer 或 nvidia |
从这台电脑通过 SSH 部署到 Jetson。
recomputer常见默认值:recomputer(Seeed reComputer J30 / J40 系列)、nvidia 或 ubuntu。
recomputerMQTT 主题的第一段——按你自己的习惯给这台设备取名(产品线、房间或站点都行),多台设备就不会混在一起
先用 VLC 测一下这个地址——路径或用户名密码写错是最常见的失败原因
cam-01会拼在 MQTT 主题后面,用于区分多路摄像头
yolo11s-poseOrin Nano 建议 YOLO11s;Orin NX 建议更准的 YOLO11m
8080告警面板页面对外的端口。本套栈使用主机网络,设备上 8080 已被占用就改这里。
bedroom这台摄像头看护的区域。部署会建立一个覆盖整幅画面的区域;若一台摄像头覆盖两个房间,之后在设备上把它拆成多个矩形。
60区域内允许持续无人多久才告警。要设得高于正常的离开时长——卫生间区域应远短于卧室。
30区域内有人但持续不动多久才告警。睡眠时段会触发它,除非区域排除床位或阈值覆盖一次午睡。
确认后的告警 POST 到哪里。负载只含告警 id、类型、区域、流、时间戳与操作者,不含快照或视频。留空则只在面板里记录。
点击 连接,每个被跟踪的人都会有独立的框、编号和状态颜色。
| 现象 | 处理 |
|---|---|
| 有视频但没有叠加层 | 预览是单独读 MQTT 的,确认 Jetson 的 1883 端口可达 |
| 有叠加层但没有视频 | 预览直接从摄像头拉 RTSP,确认这台电脑也能访问摄像头 |
| 框在不同人之间跳变 | 调高跟踪器的 IoU 阈值,或调整机位减少人物重叠 |
结果发往 recamera/fall-detection/results/<流编号>,一路摄像头一个主题。
NORMAL。检测器可以同时处理多路视频。在设备上的配置文件里往 streams 列表中添加,然后重启
容器即可;每一路各自维护跟踪状态,并有自己的 MQTT 主题。
告警面板已在步骤 1 与检测器一起部署在同一台设备上,默认端口 8080。面板提供站点总览、在实时画面上画识别区域、每个区域的无人超时与静止超时、按操作者记录的确认与驳回,以及不含视频的 webhook。
| 现象 | 处理 |
|---|---|
| 页面打不开 | 核对告警面板端口与部署步骤里填的一致,并确认设备防火墙放行。 |
| 出现登录页 | 部署设置了 ELDERCARE_API_TOKEN。输入该口令与操作者姓名——姓名会写进确认/驳回回执。 |
| 跌倒能告警,无人告警从不触发 | 检测器配置里 publish_empty_frames 已经是 true,这个超时依赖它。如果你把 config/config.json 换成了设备自带的那份,需要把这个键重新设上。 |
config/alarm-panel.yaml,再执行 docker compose restart alarm-panel),
让该区域空置,确认出现一条告警。验证完把原值改回去。可选,默认关闭。跌倒告警触发后,服务出声询问住户是否安好,并按回答处置;关闭后告警链路不变。
回答如何影响告警:
| 回答 | 结果 |
|---|---|
| 求救("救命"、"help"、"我起不来") | 立即确认,跳过剩余的人工窗口 |
| 完全没有回答 | 立即确认 |
| 听不明白 | 立即确认 |
| "我没事" | 默认 on_ok: needs_review——告警保持原有时序,只打上待复核标记。要直接结案就设 on_ok: dismiss |
同一局域网内有一个 OpenVoiceStream 实例,USB 麦克风与扬声器接在运行它的那台机器上,不接在摄像头上。
| 现象 | 处理 |
|---|---|
每条告警都是 no_answer | 要么提示音听不见,要么没有采到音。先查扬声器,再在告警主机上跑 arecord -l。 |
每条告警都是 unclear | ASR 返回的文本没命中词表。在控制台里看转写内容,把住户实际的说法加进 ok_keywords / help_keywords。 |
| 告警自己结案了 | on_ok 被设成了 dismiss。除非确实有人在复核这些驳回,否则改回 needs_review。 |
| 服务起来了但从不出声 | 确认告警主机的音频设备已接入容器,在 docker compose logs eldercare-alarm 里查看 TTS 或播放报错。 |
同一句话里同时有求救词和安全词时按求救处理。
隐私: 音频不落盘。审计保存判定结果、置信度、耗时与转写文本;把 store_transcript 设为 false 则不存转写文本。通知不含快照和视频。
curl -sf http://<ovs 地址>:8621/readyz 返回 200。检测器跑在 reComputer RK3576 / RK3588 的 NPU 上,MQTT 输出与其他套餐一致。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。
把检测器部署到你的瑞芯微板卡,预计需要 5 分钟左右。
librknnrt.so 已就位,并且装有 Docker。| 现象 | 处理 |
|---|---|
提示找不到 librknnrt.so | 安装板卡的 rknpu2 运行时包 |
| 模型加载失败 | 模型必须与板卡匹配,选对板卡型号后重新执行这一步 |
| 收不到摄像头画面 | 先用 VLC 测试 RTSP 地址,绝大多数问题是路径或用户名密码写错 |
| 帧率偏低 | 其他 NPU 业务在抢占加速器,先看看板卡上还跑着什么 |
radxa取决于板卡系统镜像,常见的是 radxa、cat、linaro 或 ubuntu。
recomputerMQTT 主题的第一段——按你自己的习惯给这台设备取名(产品线、房间或站点都行),多台设备就不会混在一起
先用 VLC 测一下这个地址——路径或用户名密码写错是最常见的失败原因
cam-01会拼在 MQTT 主题后面,用于区分多路摄像头
8080告警面板页面对外的端口。本套栈使用主机网络,设备上 8080 已被占用就改这里。
bedroom这台摄像头看护的区域。部署会建立一个覆盖整幅画面的区域;若一台摄像头覆盖两个房间,之后在设备上把它拆成多个矩形。
60区域内允许持续无人多久才告警。要设得高于正常的离开时长——卫生间区域应远短于卧室。
30区域内有人但持续不动多久才告警。睡眠时段会触发它,除非区域排除床位或阈值覆盖一次午睡。
确认后的告警 POST 到哪里。负载只含告警 id、类型、区域、流、时间戳与操作者,不含快照或视频。留空则只在面板里记录。
点击 连接,每个被跟踪的人都会有独立的框、编号和状态颜色。
| 现象 | 处理 |
|---|---|
| 有视频但没有叠加层 | 预览是单独读 MQTT 的,确认板卡的 1883 端口可达 |
| 骨架和人物错位 | 请向 Seeed 反馈 |
| 框在不同人之间跳变 | 调高跟踪器的 IoU 阈值,或调整机位减少人物重叠 |
板卡正在向 recamera/fall-detection/results/<流编号> 发布结果,一路摄像头一个主题。
告警面板已在步骤 1 与检测器一起部署在同一台设备上,默认端口 8080。面板提供站点总览、在实时画面上画识别区域、每个区域的无人超时与静止超时、按操作者记录的确认与驳回,以及不含视频的 webhook。
| 现象 | 处理 |
|---|---|
| 页面打不开 | 核对告警面板端口与部署步骤里填的一致,并确认设备防火墙放行。 |
| 出现登录页 | 部署设置了 ELDERCARE_API_TOKEN。输入该口令与操作者姓名——姓名会写进确认/驳回回执。 |
| 跌倒能告警,无人告警从不触发 | 这个超时要求画面里没人时检测器也发消息,确认画面无人时 MQTT 主题仍有消息。 |
config/alarm-panel.yaml,再执行 docker compose restart alarm-panel),
让该区域空置,确认出现一条告警。验证完把原值改回去。可选,默认关闭。跌倒告警触发后,服务出声询问住户是否安好,并按回答处置;关闭后告警链路不变。
回答如何影响告警:
| 回答 | 结果 |
|---|---|
| 求救("救命"、"help"、"我起不来") | 立即确认,跳过剩余的人工窗口 |
| 完全没有回答 | 立即确认 |
| 听不明白 | 立即确认 |
| "我没事" | 默认 on_ok: needs_review——告警保持原有时序,只打上待复核标记。要直接结案就设 on_ok: dismiss |
同一局域网内有一个 OpenVoiceStream 实例,USB 麦克风与扬声器接在运行它的那台机器上,不接在摄像头上。
| 现象 | 处理 |
|---|---|
每条告警都是 no_answer | 要么提示音听不见,要么没有采到音。先查扬声器,再在告警主机上跑 arecord -l。 |
每条告警都是 unclear | ASR 返回的文本没命中词表。在控制台里看转写内容,把住户实际的说法加进 ok_keywords / help_keywords。 |
| 告警自己结案了 | on_ok 被设成了 dismiss。除非确实有人在复核这些驳回,否则改回 needs_review。 |
| 服务起来了但从不出声 | 确认告警主机的音频设备已接入容器,在 docker compose logs eldercare-alarm 里查看 TTS 或播放报错。 |
同一句话里同时有求救词和安全词时按求救处理。
隐私: 音频不落盘。审计保存判定结果、置信度、耗时与转写文本;把 store_transcript 设为 false 则不存转写文本。通知不含快照和视频。
curl -sf http://<ovs 地址>:8621/readyz 返回 200。检测器跑在带 Hailo-8 加速器的 reComputer R2000 上,MQTT 输出与其他套餐一致。
重要提示: 这是辅助告警,不是经过认证的医疗或人身安全系统。
把检测器部署到带 Hailo 的设备,预计需要 5 分钟左右。
/dev/hailo0),且安装 HailoRT 4.21(GStreamer 插件、用户态库和内核驱动同一版本)。| 现象 | 处理 |
|---|---|
找不到 /dev/hailo0 | 加速器没插好或驱动没加载,用 hailortcli fw-control identify 检查 |
找不到 libhailort.so.4.21.0 | 安装 HailoRT 4.21,插件、库和驱动需同时为该版本 |
| 容器启动后退出 | 停掉占用加速器的其他进程 |
| 收不到摄像头画面 | 先用 VLC 测试 RTSP 地址,绝大多数问题是路径或用户名密码写错 |
| 部署在验证阶段停止 | 检查检测器日志中的 HAILO_BATCH 行、容器健康状态和配置主题上的 MQTT 结果 |
从这台电脑通过 SSH 部署到设备。
pi取决于系统镜像,常见的是 pi、recomputer 或 ubuntu。
recomputerMQTT 主题的第一段——按你自己的习惯给这台设备取名(产品线、房间或站点都行),多台设备就不会混在一起
先用 VLC 测一下这个地址——路径或用户名密码写错是最常见的失败原因
cam-01会拼在 MQTT 主题后面,用于区分多路摄像头
8080告警面板页面对外的端口。本套栈使用主机网络,设备上 8080 已被占用就改这里。
bedroom这台摄像头看护的区域。部署会建立一个覆盖整幅画面的区域;若一台摄像头覆盖两个房间,之后在设备上把它拆成多个矩形。
60区域内允许持续无人多久才告警。要设得高于正常的离开时长——卫生间区域应远短于卧室。
30区域内有人但持续不动多久才告警。睡眠时段会触发它,除非区域排除床位或阈值覆盖一次午睡。
确认后的告警 POST 到哪里。负载只含告警 id、类型、区域、流、时间戳与操作者,不含快照或视频。留空则只在面板里记录。
点击 连接,每个被跟踪的人都会有独立的框、编号和状态颜色。
| 现象 | 处理 |
|---|---|
| 有视频但没有叠加层 | 预览是单独读 MQTT 的,确认设备的 1883 端口可达 |
| 有叠加层但没有视频 | 预览直接从摄像头拉 RTSP,确认这台电脑也能访问摄像头 |
inference_time_ms 显示 0 | 属于预期,Hailo 运行时不上报该值 |
设备正在向 recamera/fall-detection/results/<流编号> 发布结果,一路摄像头一个主题。
告警面板已在步骤 1 与检测器一起部署在同一台设备上,默认端口 8080。面板提供站点总览、在实时画面上画识别区域、每个区域的无人超时与静止超时、按操作者记录的确认与驳回,以及不含视频的 webhook。
| 现象 | 处理 |
|---|---|
| 页面打不开 | 核对告警面板端口与部署步骤里填的一致,并确认设备防火墙放行。 |
| 出现登录页 | 部署设置了 ELDERCARE_API_TOKEN。输入该口令与操作者姓名——姓名会写进确认/驳回回执。 |
| 跌倒能告警,无人告警从不触发 | 检查区域绑定的流编号是否与部署表单里的 Stream ID 一致。 |
config/alarm-panel.yaml,再执行 docker compose restart alarm-panel),
让该区域空置,确认出现一条告警。验证完把原值改回去。可选,默认关闭。跌倒告警触发后,服务出声询问住户是否安好,并按回答处置;关闭后告警链路不变。
回答如何影响告警:
| 回答 | 结果 |
|---|---|
| 求救("救命"、"help"、"我起不来") | 立即确认,跳过剩余的人工窗口 |
| 完全没有回答 | 立即确认 |
| 听不明白 | 立即确认 |
| "我没事" | 默认 on_ok: needs_review——告警保持原有时序,只打上待复核标记。要直接结案就设 on_ok: dismiss |
同一局域网内有一个 OpenVoiceStream 实例,USB 麦克风与扬声器接在运行它的那台机器上,不接在摄像头上。
| 现象 | 处理 |
|---|---|
每条告警都是 no_answer | 要么提示音听不见,要么没有采到音。先查扬声器,再在告警主机上跑 arecord -l。 |
每条告警都是 unclear | ASR 返回的文本没命中词表。在控制台里看转写内容,把住户实际的说法加进 ok_keywords / help_keywords。 |
| 告警自己结案了 | on_ok 被设成了 dismiss。除非确实有人在复核这些驳回,否则改回 needs_review。 |
| 服务起来了但从不出声 | 确认告警主机的音频设备已接入容器,在 docker compose logs eldercare-alarm 里查看 TTS 或播放报错。 |
同一句话里同时有求救词和安全词时按求救处理。
隐私: 音频不落盘。审计保存判定结果、置信度、耗时与转写文本;把 store_transcript 设为 false 则不存转写文本。通知不含快照和视频。
curl -sf http://<ovs 地址>:8621/readyz 返回 200。