# ZoneAlarm — 视频监控电子围栏 + 姿态识别 基于 RK3588(RKNN NPU + MPP 硬解)的 AI 视频监控系统,支持: - **目标识别**(YOLOv5s)与电子围栏报警、继电器联动 - **姿态识别**(YOLOv8-pose):跌倒、倒地、举手呼救、异常蹲坐、半躺、手近嘴部、疲劳瞌睡、长时间静止、疑似离岗 - **报警历史**(围栏 + 姿态统一列表,含截图) - **Web 管理**:实时监控、电子围栏、报警历史、继电器控制、通道管理、系统设置 - **手机 H5**:视频预览 + 报警历史(`/mobile.html`) - **HDMI 直出**:4×4 宫格全屏显示 - **双机 16 路单屏**:主从角色可切换(详见 [docs/dual_board.md](docs/dual_board.md)) ## 目录结构 ``` src/ 源码 web/ Web 页面(index.html / mobile.html / preview.html / config.html) config/ config.json、fences.json models/ RKNN 模型(.rknn 不入库) scripts/ 模型转换、RTSP 端口转发 deploy/ 打包/安装脚本 docs/ 文档 data/ 报警数据库与截图(不入库) ``` ## 编译 ```bash ./build.sh ``` ## 运行 ```bash ./start.sh # 或 ./build/zone_alarm config/config.json # systemd systemctl restart zone_alarm ``` ## 主要配置(config/config.json) | 项 | 说明 | |---|---| | `model_path` / `pose_model_path` | 目标/姿态 RKNN 模型 | | `target_enabled` / `pose_enabled` | 是否启用目标/姿态识别 | | `skip_frames` | 每 N+1 帧推理一次 | | `display_fps` | 本机显示帧生成帧率 | | `grid_output` / `steel_output` | HDMI 网格/钢包位输出 | | `node_role` / `local_base` / `peer` | 单机/主从角色与对端 | | `watchdog_sec` | 主循环卡死看门狗 | ## 文档 - [双机 16 路单屏部署说明](docs/dual_board.md) ## 访问 - PC:`http://<板子IP>:8080/` - 手机:`http://<板子IP>:8080/mobile.html` - 默认账号:`admin / admin`