Jelajahi Sumber

docs: 更新项目进度——补充硬件对接待实现内容(道闸/摄像头/小票/LED),标记为P0

lq 1 bulan lalu
induk
melakukan
ecffe7034d
1 mengubah file dengan 59 tambahan dan 18 penghapusan
  1. 59 18
      doc/项目进度.md

+ 59 - 18
doc/项目进度.md

@@ -44,20 +44,22 @@
 1. 系统设置 ──────── 停车场→岗亭→通道→设备  ✅ 100%
 2. 收费规则配置 ──── 按车型/免费时长/VIP     ✅ 100%
 3. 名单管理 ──────── 白名单/黑名单           ✅ 100%
-4. 车辆进场 ──────── RFID识别→查单→开闸     ✅ 100%
-5. 车辆出场 ──────── 识别→计费→..→开闸      ⚠️ 80% (缺收费)
+4. 车辆进场 ──────── RFID识别→查单→开闸     ⚠️ 80% (道闸继电器注释未启用)
+5. 车辆出场 ──────── 识别→计费→开闸          ⚠️ 70% (缺收费+道闸继电器)
 6. 收费结算 ──────── 现金/扫码/免密          ❌ 0%
 7. 小票打印 ──────── ESC/POS 串口打印        ❌ 0%
-8. 交接班对账 ────── 当班统计/现金核销       ❌ 0%
-9. 报表查询 ──────── 进出记录                ⚠️ 50% (缺收入/异常)
-10. 实时监控 ─────── 车位/设备/在线车         ❌ 0%
+8. 摄像头识别 ────── RTSP抓拍→OCR→触发       ❌ 0%
+9. LED车位屏 ────── 余位实时显示             ❌ 0%
+10. 交接班对账 ───── 当班统计/现金核销        ❌ 0%
+11. 报表查询 ─────── 进出记录                ⚠️ 50% (缺收入/异常)
+12. 实时监控 ─────── 车位/设备/在线车         ❌ 0%
 ```
 
 ## 车辆进出场触发方式
 
 | 触发方式 | 状态 | 说明 |
 |---------|:--:|------|
-| UHF RFID 自动识别 | ✅ | `service/uhf/reader.go`,读标签→查车辆→进出场 |
+| UHF RFID 自动识别 | ⚠️ | 读标签→查车辆→进出场逻辑完整,但**道闸继电器调用被注释**,识别后不会实际开闸 |
 | 前端手动录入 | ⚠️ | 后端 API 已实现,**前端无操作页面** |
 | 摄像头车牌识别 | ❌ | `camera` 表已建,无拍照/OCR/触发逻辑 |
 
@@ -88,12 +90,51 @@
 
 ## 待开发模块
 
-### P0 — 核心闭环(收费 + 打印)
+### P0 — 核心闭环(收费 + 打印 + 硬件对接
 
 | 功能 | 后端 | 前端 | 说明 |
 |------|:--:|:--:|------|
 | 收费结算 | ❌ | ❌ | 出场计费后无收款流程:现金/扫码支付、免密支付 |
-| 小票打印 | ❌ | ❌ | 串口 ESC/POS 指令,58mm 热敏小票 |
+| 小票打印 | ❌ | ❌ | 串口 ESC/POS 指令,58mm 热敏小票打印机 |
+| **道闸控制** | ⚠️ | ❌ | ~~继电器指令已实现(CloseRelay1/ReleaseRelay1),但进出场流程中被注释~~ |
+| **摄像头车牌识别** | ❌ | ❌ | RTSP 视频流抓拍 + OCR 车牌识别,`camera` 表已建 |
+| **LED 车位显示** | ❌ | ❌ | 入口剩余车位显示屏对接 |
+
+**道闸控制待实现内容**:
+
+| 组件 | 说明 |
+|------|------|
+| 进出场开闸 | `handleReportData()` 中 `CloseRelay1(2)` 当前已注释,需解除注释并调试 |
+| 手动开闸 | 前端操作页面点击开闸按钮,调用继电器 API |
+| 防砸车 | 地感线圈或红外对射检测车辆是否还在道闸下方 |
+| 超时自动落杆 | 开闸后 N 秒未检测到车辆通过,自动落杆 |
+
+**摄像头待实现内容**:
+
+| 组件 | 说明 |
+|------|------|
+| 硬件对接 | RTSP 视频流拉取或 SDK 回调(海康/大华/宇视等) |
+| 抓拍触发 | 车辆进入识别区 → 抓拍一张图片 |
+| OCR 识别 | 车牌识别算法或第三方云服务(百度/阿里 OCR) |
+| 业务触发 | 识别到车牌 → 自动调用 `VehicleEntry()`/`VehicleExit()` |
+| 图片留存 | `VehicleRecord` 已有 `EntryImage`/`ExitImage` 字段 |
+
+**小票打印机待实现内容**:
+
+| 组件 | 说明 |
+|------|------|
+| 串口通信 | 通过串口/USB 连接 58mm 热敏打印机 |
+| ESC/POS 指令 | 封装打印指令集:文字、条码、二维码、切纸 |
+| 小票模板 | 停车小票格式:车牌号、进场时间、出场时间、费用、收款方式 |
+| 打印触发 | 收费完成后自动打印,支持补打 |
+
+**LED 车位显示屏待实现内容**:
+
+| 组件 | 说明 |
+|------|------|
+| 硬件对接 | 串口/TCP 通信协议,常见型号(如 P10 户外屏控制卡) |
+| 余位计算 | 总车位 - 当前在场车辆数 = 剩余车位 |
+| 实时更新 | 车辆进出场时自动刷新 LED 显示 |
 
 ### P1 — 运营管理
 
@@ -123,14 +164,12 @@
 |------|:--:|:--:|------|
 | 手动进出场操作页 | ✅ | ❌ | 后端 API 已有,缺前端操作页面 |
 
-### P2 — 监控与硬件
+### P2 — 监控与边缘端
 
 | 功能 | 后端 | 前端 | 说明 |
 |------|:--:|:--:|------|
 | 实时监控大屏 | ❌ | ❌ | 车位余量、在线车辆、设备状态 |
 | 在线车辆统计 | ❌ | ⚠️ | 前端空占位 |
-| 摄像头车牌识别 | ❌ | ❌ | DAO 已有 camera 表,抓拍/OCR/触发全缺 |
-| LED 车位显示 | ❌ | ❌ | 入口剩余车位屏 |
 | RK3568 边缘端 | ❌ | ❌ | edge/ 通信层(TCP协议 + 事件总线) |
 
 ## 前端页面清单(37 页)
@@ -204,10 +243,12 @@
 
 ## 下一步建议
 
-1. **手动进出场操作页面** (P0.5) — 后端 API 已就绪,只需前端页面,半天可完成
-2. **收费结算模块** (P0) — 闭环核心,优先级最高
-3. **小票打印** (P0) — 配合收费
-4. **包月车管理** (P1) — 月卡办理/续费/到期处理
-5. **摄像头车牌识别** (P2) — 第三种进出场触发方式
-6. **交接班 + 收入报表** (P1) — 运营必需
-7. **监控大屏** (P2) — 锦上添花
+1. **道闸控制** (P0) — 继电器指令已有,解除注释 + 调试即可,半天
+2. **手动进出场操作页面** (P0.5) — 后端 API 已就绪,只需前端页面,半天
+3. **收费结算模块** (P0) — 闭环核心,配合小票打印
+4. **小票打印** (P0) — ESC/POS 串口指令封装 + 小票模板
+5. **摄像头车牌识别** (P0) — 第三种进出场触发方式(RTSP + OCR)
+6. **LED 车位显示** (P0) — 入口剩余车位屏对接
+7. **包月车管理** (P1) — 月卡办理/续费/到期处理
+8. **交接班 + 收入报表** (P1) — 运营必需
+9. **监控大屏** (P2) — 锦上添花