reCamera 在本地识别人并通过 MQTT 发出结果,一台电脑或 reComputer R1100 运行看板,保存历史数据。
- 设备: reCamera;一台电脑或 reComputer R1100 运行看板。
- 软件: 看板所在机器已安装 Docker,至少 2 GB 可用磁盘。
- 网络: 所有设备在同一网络。
reCamera 在本地识别人并通过 MQTT 发出结果,一台电脑或 reComputer R1100 运行看板,保存历史数据。
启动 MQTT broker、数据库、Grafana 看板和视频网关,所有摄像头都往这里发数据。部署时会自动发现同一网段的 ONVIF 摄像头;后端与摄像头不在同一网段时,在部署表单里手填摄像头地址。
确认 Docker Desktop 已启动。
只有 ONVIF 发现不到的摄像头才需要填,格式 id=地址,逗号分隔
| 现象 | 处理 |
|---|---|
| 端口被占用 | 释放 8086、3000、8080 和 1883 端口 |
| Docker 不可用 | 启动 Docker Desktop |
| 磁盘空间不足 | 至少保留 2 GB 可用空间 |
在 reCamera 上安装零售分析应用,设置数据发往哪个 broker。应用输出驻足状态(浏览 / 驻足 / 需要帮助)和进出店计数。
192.168.42.1;网线或 WiFi 连接时在路由器管理页面查 IP这一步会停用 Node-RED 自启动,两者不能同时运行。
| 现象 | 处理 |
|---|---|
| 连不上 | USB 连接用 192.168.42.1;网络连接去路由器查 IP |
| 看不到数据 | 确认步骤 1 已完成,reCamera 和服务器在同一网络 |
装完启动失败,日志里有 device_init 断言 | 重启摄像头 |
热力图默认显示摄像头视角,用内置校准工具可以显示在店铺平面图上。
多台摄像头各自校准后,人流叠加在同一张平面图上;页面左上角的下拉框可以只看某一台。
只看摄像头视角的热力图时可以跳过。
| 现象 | 处理 |
|---|---|
| 热力图位置不准 | 打开设置,点重置,换参考点重新校准 |
| 换了浏览器后校准还在 | 正常,校准保存在服务器上 |
点击下方按钮打开 Grafana 面板。
| 现象 | 处理 |
|---|---|
| 页面无法加载 | 确认步骤 1 部署成功,在服务器上执行 docker ps 查看服务 |
| 主机/端口错误 | 部署到远程设备时,把地址换成设备 IP |
| 看不到数据 | 确认步骤 2 已完成,MQTT 服务器 IP 填的是步骤 1 那台机器 |
admin / admin 登录,查看人流趋势reCamera Pro 在本地做检测、跟踪、驻足状态和进出店计数,一台电脑或 reComputer R1100 运行看板。
retail-vision 应用,本方案不提供该应用的安装包。启动 MQTT broker、数据库、Grafana 看板和视频网关,已经部署过就跳过。部署时会自动发现同一网段的 ONVIF 摄像头;后端与摄像头不在同一网段时,在部署表单里手填摄像头地址。
只有 ONVIF 发现不到的摄像头才需要填,格式 id=地址,逗号分隔
填入设备 Web 控制台账号(不是 SSH 账号)、安装点名称,以及步骤 1 那台机器的 MQTT 地址。MQTT 地址留空时,结果只在摄像头页面上显示,不上报看板。
| 现象 | 处理 |
|---|---|
| 提示应用中心里没有 retail-vision | 先在设备的应用中心安装该应用,再重跑这一步 |
| 看板没有数据 | 确认 MQTT 地址填的是步骤 1 那台机器,且两者在同一网络 |
| 看板上 Avg Dwell 一直是空的 | 正常,Pro 的应用不输出人均驻足时长,其他指标不受影响 |
点击下方按钮打开 Grafana 面板,登录账号 admin / admin。
| 现象 | 处理 |
|---|---|
| 页面无法加载 | 确认步骤 1 部署成功,在服务器上执行 docker ps 查看服务 |
| 主机/端口错误 | 部署到远程设备时,把地址换成设备 IP |
保留现有 IP 摄像头,用 reComputer RK3588 或 RK3576 在本地跑人流检测。
启动 MQTT broker、数据库、Grafana 看板和视频网关,已经部署过就跳过。部署时会自动发现同一网段的 ONVIF 摄像头;后端与摄像头不在同一网段时,在部署表单里手填摄像头地址。
只有 ONVIF 发现不到的摄像头才需要填,格式 id=地址,逗号分隔
通过 SSH 把检测器部署到板卡。板卡型号要选对,选错模型无法加载。看板在同一块板卡上时,MQTT 地址保持 127.0.0.1。
板卡须已安装 Docker 和 NPU 驱动(/usr/lib/librknnrt.so 存在)。
rk3588决定下载哪份模型——装错型号的模型加载不了
这块板子要看的摄像头 RTSP 地址
store-01MQTT 主题的第一段——用门店、楼层或站点名区分同一 broker 上的多个安装点
cam-01127.0.0.1看板后端所在地址。如果后端就部署在这块板子上,保持 127.0.0.1
1883| 现象 | 处理 |
|---|---|
| 容器起不来,报 librknnrt 相关错误 | 板卡上缺 NPU 驱动,确认 /usr/lib/librknnrt.so 存在 |
| 看板没数据 | 用 ffprobe rtsp://... 确认摄像头地址能通,检查 MQTT 地址 |
| 帧率明显偏低、CPU 占满 | 硬件解码未生效,确认板卡上的 MPP 库完整 |
| 现象 | 处理 |
|---|---|
| 页面无法加载 | 确认步骤 1 部署成功,在服务器上执行 docker ps 查看服务 |
| 主机/端口错误 | 部署到远程设备时,把地址换成设备 IP |
admin / admin 登录保留现有 IP 摄像头,用带 Hailo-8 加速卡的 reComputer Industrial R20 在本地跑人流检测。
启动 MQTT broker、数据库、Grafana 看板和视频网关,已经部署过就跳过。部署时会自动发现同一网段的 ONVIF 摄像头;后端与摄像头不在同一网段时,在部署表单里手填摄像头地址。
只有 ONVIF 发现不到的摄像头才需要填,格式 id=地址,逗号分隔
通过 SSH 把检测器部署到板卡。部署前会检查 Hailo 运行时版本,不匹配时停止并显示板上实际的版本。
板卡须已安装 Docker 和 HailoRT 4.21(驱动、用户库、GStreamer 插件版本一致)。
这块板子要看的摄像头 RTSP 地址
store-01MQTT 主题的第一段——用门店、楼层或站点名区分同一 broker 上的多个安装点
cam-01127.0.0.1看板后端所在地址。如果后端就部署在这块板子上,保持 127.0.0.1
1883| 现象 | 处理 |
|---|---|
报 HAILO_OUT_OF_PHYSICAL_DEVICES | 加速卡被另一个应用占用,先停掉它 |
| 部署时提示 libhailort 版本不符 | 把板上的 HailoRT 换成 4.21,驱动和用户库一起换 |
/dev/hailo0 不存在 | 加速卡没插好,或 hailo_pci 驱动没加载 |
| 看板没数据 | 用 ffprobe rtsp://... 确认摄像头地址能通,检查 MQTT 地址 |
| 现象 | 处理 |
|---|---|
| 页面无法加载 | 确认步骤 1 部署成功,在服务器上执行 docker ps 查看服务 |
| 主机/端口错误 | 部署到远程设备时,把地址换成设备 IP |
admin / admin 登录保留现有 IP 摄像头,用 NVIDIA Jetson 在本地跑人流检测。
启动 MQTT broker、数据库、Grafana 看板和视频网关,已经部署过就跳过。部署时会自动发现同一网段的 ONVIF 摄像头;后端与摄像头不在同一网段时,在部署表单里手填摄像头地址。
只有 ONVIF 发现不到的摄像头才需要填,格式 id=地址,逗号分隔
通过 SSH 把检测器部署到 Jetson。首次部署会编译 TensorRT engine,需要 2-5 分钟,之后的部署直接复用。
Jetson 须为 JetPack 6.x,已安装 Docker 和 NVIDIA runtime。
这台 Jetson 要看的摄像头 RTSP 地址
store-01MQTT 主题的第一段——用门店、楼层或站点名区分同一 broker 上的多个安装点
cam-01127.0.0.1看板后端所在地址。如果后端就部署在这台 Jetson 上,保持 127.0.0.1
1883| 现象 | 处理 |
|---|---|
| 连接超时 | 检查网络,用 ping 验证 Jetson IP |
| NVIDIA 运行时错误 | 在 Jetson 上运行 nvidia-smi 确认 GPU 可用 |
| 没有数据 | 用 ffprobe rtsp://... 验证 RTSP 地址,检查 MQTT 地址 |
| 首次启动慢 | 正在编译 TensorRT engine,仅首次,2-5 分钟 |
| 现象 | 处理 |
|---|---|
| 页面无法加载 | 确认步骤 1 部署成功,在服务器上执行 docker ps 查看服务 |
| 主机/端口错误 | 部署到远程设备时,把地址换成设备 IP |
admin / admin 登录