feat(大屏): 视频识别直连 park-vision + 绑定轮询/二维码
- config.js 增 getVisionApiBase(),优先绑定下发的本园区 vision_api(经 tenant info) - main.jsx bootstrap 读 /park/api/config 的 vision_api - useVisionDetection 帧 POST 到独立 vision 服务;未配置识别整体禁用 - BindScreen 连接码轮询(无码5s/有码30min) + 渲染二维码(qrcode.react)、绑定后入园区 - 部署文档补 vision_api/识别服务说明
This commit is contained in:
+21
-1
@@ -11,13 +11,15 @@
|
||||
"mqtt_url": "ws://192.168.1.3:8083/mqtt",
|
||||
"mqtt_username": "dpm",
|
||||
"mqtt_password": "123456",
|
||||
"voice_url": "ws://192.168.1.3:8765/v1/realtime"
|
||||
"voice_url": "ws://192.168.1.3:8765/v1/realtime",
|
||||
"vision_api": "http://192.168.1.9:8091"
|
||||
}
|
||||
```
|
||||
|
||||
- `api_base`:server-core 统一入口园区地址(`http://<IP>:8090/park`;生产 `https://opc.pinesound.cn/park`),大屏 API/媒体/OTA 都走它
|
||||
- `mqtt_url`:EMQX Broker 的 **WebSocket** 地址(端口 8083)
|
||||
- `mqtt_username/password`:Broker 鉴权账号(默认 dpm / 123456,与后端 .env 一致)
|
||||
- `vision_api`:**可选**。视频识别独立服务(code/park-vision,`http://<IP>:8091`)。不填=视频识别禁用(摄像头不开启)。也可经 server-core `/park/api/config` 下发(见「三、视频识别」)。
|
||||
|
||||
地址解析优先级:**config.json > 后端 /api/config > 构建默认(192.168.1.9)**。
|
||||
|
||||
@@ -76,3 +78,21 @@ Test-NetConnection 192.168.1.3 -Port 8083
|
||||
- 应用日志打印 `[bootstrap] config.json MQTT -> ...` = config.json 生效
|
||||
- 打印 `[bootstrap] /api/config MQTT -> ...` = 后端下发
|
||||
- 两者都没有 = 两个来源都不可达,请检查 IP/防火墙
|
||||
|
||||
## 三、视频识别(可选,独立 park-vision 服务)
|
||||
|
||||
视频识别能力已从 server-core 剥离为**独立项目 `code/park-vision`**(YOLO 帧识别 + LLM 场景语义),
|
||||
server-core `/park` 不再承接识别请求(`/park/api/vision/frame|llm` 已移除,仅保留遥测 `/api/vision/event`)。
|
||||
|
||||
**配置方式(二选一)**,未配置则视频识别整体禁用(摄像头不开启、页面显示「手势识别未启用」):
|
||||
|
||||
1. **config.json(部署机)**:`"vision_api": "http://<IP>:8091"`
|
||||
2. **server-core 全局(admin 端)**:运营端「视频识别服务」页启用+填地址 → 写 `park_settings` →
|
||||
大屏启动时从 `GET /park/api/config` 取 `vision_api`(enabled=1 才下发)
|
||||
|
||||
**部署完整识别链路**:
|
||||
```bash
|
||||
# 独立识别服务(需 torch/ultralytics + 模型 yolov8n-face.pt / yolov8n-pose.pt 置于 models/)
|
||||
cd code/park-vision && uv sync && uv run uvicorn app.main:app --host 0.0.0.0 --port 8091
|
||||
# 放模型后再启动;缺模型时 /vision/frame 返回「模型未加载」
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user