场景02:消防通道占用监测
当前阶段: 🔍 探索中 | 行业: 消防安全 | 关键词: 消防通道、占用监测、区域监测 | 返回消防场景 →
一、需求探索
1.1 痛点时刻
具体场景:
晚上8点,某商场3号消防通道被货物占用超过30分钟,监控室未及时发现。直到顾客投诉"消防通道被堵了",安保人员才赶到现场清理。
此时面临的问题:
- 消防通道被占用30分钟,期间如果发生火灾,疏散通道不畅
- 监控室有20个摄像头,安保人员无法实时盯着所有画面
- 没有自动报警机制,依赖顾客投诉或巡查发现
- 如果被消防部门检查发现,将面临罚款
业务背景:
- 场所规模:大型商场/写字楼,消防通道10-30条
- 占用情况:货物堆放、车辆停放、装修材料、垃圾堆积
- 监控覆盖:每条消防通道配备1-2个摄像头
- 管理难点:监控画面多,安保人员无法实时盯屏,容易遗漏
1.2 核心痛点
问题1:发现滞后
- 消防通道被占用后,可能30分钟-1小时才发现
- 没有自动报警机制,依赖人工巡查或顾客投诉
- 夜间安保人员少,更容易遗漏
问题2:处置慢
- 发现后需要人工通知相关部门清理
- 不知道是谁占用的,责任不清
- 清理不及时,影响消防安全
问题3:追溯难
- 事后无法追溯占用时长、占用原因
- 无法统计哪些区域经常被占用
- 无法评估安保人员的响应速度
1.3 业务规则(行业标准)
《消防法》相关要求:
- 不得占用、堵塞、封闭疏散通道、安全出口、消防车通道(第28条)
- 占用、堵塞、封闭消防车通道的,由消防救援机构责令改正,处五千元以上五万元以下罚款(第60条)
《建筑设计防火规范》相关要求:
- 疏散通道的净宽度不应小于1.4米
- 疏散通道不应设置门槛、台阶,不应堆放物品
实际业务规则(基于行业调研):
- 10分钟预警:消防通道占用 > 10分钟 → 推送预警给安保人员
- 30分钟报警:消防通道占用 > 30分钟 → 推送报警给安保主管
- 1小时紧急:消防通道占用 > 1小时 → 推送紧急通知给消防责任人
- 夜间降低阈值:夜间(22:00-6:00)→ 5分钟预警(人员少,响应慢)
成本测算:
- 占用成本:罚款5000-50000元 + 整改成本
- 安全风险:消防通道被占用,影响疏散和救援
- 声誉损失:被媒体曝光,影响商场声誉
- 平衡点:宁可误报,不可漏报
二、方案设计
2.1 业务规则设计
规则1:占用判定规则
typescript
// 消防通道占用判定
interface PassageOccupancy {
// 判定条件
passageId: string; // 通道ID
occupancyDuration: number; // 占用时长(分钟)
currentTime: Date; // 当前时间
isNightTime: boolean; // 是否夜间(22:00-6:00)
// 判定结果
status: 'NORMAL' | 'WARNING' | 'ALERT' | 'CRITICAL';
alertLevel: 'INFO' | 'WARNING' | 'CRITICAL';
occupancyType: 'GOODS' | 'VEHICLE' | 'CONSTRUCTION' | 'GARBAGE' | 'UNKNOWN';
}
// 判定逻辑
function checkPassageOccupancy(
passage: FirePassage,
currentTime: Date
): PassageOccupancy {
const occupancyDuration = Math.floor(
(currentTime.getTime() - passage.occupancyStartTime.getTime()) / (1000 * 60)
);
// 判断是否夜间
const hour = currentTime.getHours();
const isNightTime = hour >= 22 || hour < 6;
// 夜间降低阈值
const warningThreshold = isNightTime ? 5 : 10;
const alertThreshold = isNightTime ? 15 : 30;
const criticalThreshold = isNightTime ? 30 : 60;
if (occupancyDuration >= criticalThreshold) {
// 占用1小时 → 紧急
return {
status: 'CRITICAL',
occupancyDuration,
alertLevel: 'CRITICAL',
action: '立即清理,通知消防责任人'
};
} else if (occupancyDuration >= alertThreshold) {
// 占用30分钟 → 报警
return {
status: 'ALERT',
occupancyDuration,
alertLevel: 'CRITICAL',
action: '立即清理,通知安保主管'
};
} else if (occupancyDuration >= warningThreshold) {
// 占用10分钟 → 预警
return {
status: 'WARNING',
occupancyDuration,
alertLevel: 'WARNING',
action: '安排人员清理'
};
}
return { status: 'NORMAL', occupancyDuration };
}规则2:自动提醒规则
typescript
// 自动提醒动作
interface AutoReminder {
// 10分钟预警(夜间5分钟)
warning: {
condition: '消防通道占用 > 10分钟(夜间5分钟)';
notifyTo: ['安保人员', '值班人员'];
channel: ['系统消息', '手机APP'];
message: '3号消防通道被占用10分钟,请及时清理';
displayInfo: {
passageLocation: '通道位置、楼层';
occupancyType: '占用类型(货物/车辆/装修材料)';
snapshot: '监控截图';
nearbyStaff: '附近安保人员列表';
};
};
// 30分钟报警(夜间15分钟)
alert: {
condition: '消防通道占用 > 30分钟(夜间15分钟)';
notifyTo: ['安保人员', '安保主管', '物业经理'];
channel: ['系统消息', '手机APP', '短信'];
message: '3号消防通道被占用30分钟,请立即清理';
priority: 'HIGH';
};
// 1小时紧急(夜间30分钟)
critical: {
condition: '消防通道占用 > 1小时(夜间30分钟)';
notifyTo: ['安保人员', '安保主管', '物业经理', '消防责任人'];
channel: ['系统消息', '手机APP', '短信', '电话'];
message: '3号消防通道被占用1小时,请立即清理';
priority: 'CRITICAL';
autoActions: [
'调取监控录像',
'记录占用时长',
'通知相关部门'
];
};
}规则3:处置闭环规则
typescript
// 处置流程
interface DisposalProcess {
// 步骤1:安保人员确认(必须)
step1_confirm: {
action: '前往现场查看,确认占用情况';
timeLimit: 5; // 5分钟内到达
recordRequired: true; // 必须记录占用类型、占用原因
};
// 步骤2:清理占用(必须)
step2_clear: {
action: '清理占用物品或通知相关部门清理';
timeLimit: 15; // 15分钟内完成清理
reportRequired: true; // 必须上报清理结果
};
// 步骤3:结果记录(必须)
step3_record: {
mustRecord: [
'占用时长',
'占用类型',
'占用原因',
'清理措施',
'清理时长',
'责任人'
];
autoArchive: true; // 自动归档到消防台账
};
}2.2 技术方案
技术架构
监控摄像头 → AI视频分析 → 规则引擎 → 报警推送
↓
占用检测(目标识别)
↓
可视化大屏 + 移动端核心技术点
1. AI视频分析
- 目标识别:识别消防通道内的货物、车辆、人员
- 占用判定:通道内有物体停留 > 阈值时间 → 判定为占用
- 占用类型:识别占用物品类型(货物/车辆/装修材料/垃圾)
2. 占用检测逻辑
- 实时分析:每30秒分析一次监控画面
- 占用判定:通道内有物体 && 停留时间 > 10分钟 → 触发预警
- 夜间特殊处理:夜间降低阈值(5分钟预警)
3. 规则引擎
- 基于时间窗口的规则判断
- 支持规则配置(预警/报警阈值可调整)
- 支持时段配置(夜间降低阈值)
4. 提醒推送
- 多通道推送:系统消息、手机APP、短信、电话
- 分级推送:预警(APP)、报警(APP+短信)、紧急(APP+短信+电话)
- 推送确认:重要提醒需要确认收到
5. 处置闭环
- 安保人员确认:前往现场查看,记录占用情况
- 清理占用:清理占用物品或通知相关部门
- 结果记录:记录占用时长、清理措施、责任人
数据模型
typescript
// 消防通道信息
interface FirePassage {
id: string;
name: string; // 通道名称
location: string; // 位置(楼层、区域)
cameraId: string; // 监控摄像头ID
status: 'CLEAR' | 'OCCUPIED' | 'BLOCKED'; // 通道状态
width: number; // 通道宽度(米)
}
// 占用记录
interface OccupancyRecord {
id: string;
passageId: string;
passageName: string;
occupancyStartTime: Date; // 占用开始时间
occupancyEndTime: Date; // 占用结束时间
occupancyDuration: number; // 占用时长(分钟)
occupancyType: 'GOODS' | 'VEHICLE' | 'CONSTRUCTION' | 'GARBAGE' | 'UNKNOWN';
snapshot: string; // 监控截图
// 提醒记录
reminders: {
sentAt: Date;
type: 'WARNING' | 'ALERT' | 'CRITICAL';
recipients: string[];
confirmed: boolean;
}[];
// 处置记录
disposal: {
confirmedAt: Date; // 确认时间
confirmedBy: string; // 确认人
clearedAt: Date; // 清理时间
clearedBy: string; // 清理人
clearanceMethod: string; // 清理方式
remarks: string; // 备注
};
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:矿山场景的"人员定位异常预警"规则
相似点:
- 都是基于时间的异常判断
- 都需要实时监测 + 自动报警
- 都需要分级提醒 + 处置闭环
差异点:
| 维度 | 人员定位异常 | 消防通道占用 |
|---|---|---|
| 监测对象 | 人员定位信号 | 消防通道占用状态 |
| 判定条件 | 信号消失 > 3分钟 | 通道占用 > 10分钟 |
| 数据来源 | UWB定位系统 | AI视频分析 |
| 特殊规则 | 无 | 夜间降低阈值 |
技术复用度:80%
- 规则引擎逻辑:100%复用
- 提醒推送逻辑:100%复用
- 异常判断逻辑:80%复用(改为区域占用监测)
- 新增:AI视频分析(20%新开发)
3.2 Cursor Skill设计
Skill名称: personnel-location-anomaly.md (复用并调整)
调整说明:
- 将"人员定位信号"改为"消防通道占用状态"
- 将"信号消失"改为"通道占用"
- 将"3分钟"改为"10分钟"(夜间5分钟)
- 新增"夜间降低阈值"规则
- 新增"AI视频分析"逻辑
3.3 PROMPT模板
PROMPT 1:生成占用判断代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成消防通道占用判断的代码。
## 业务场景
消防通道被占用超过一定时间需要自动报警,确保消防通道畅通。
## 业务规则
1. 占用判定:
- 占用 > 10分钟(夜间5分钟) → 预警
- 占用 > 30分钟(夜间15分钟) → 报警
- 占用 > 1小时(夜间30分钟) → 紧急
2. 提醒推送:
- 预警:推送给安保人员(手机APP)
- 报警:推送给安保人员、安保主管(APP+短信)
- 紧急:推送给安保人员、安保主管、物业经理、消防责任人(APP+短信+电话)
3. 夜间特殊处理:
- 夜间(22:00-6:00)降低阈值
- 5分钟预警、15分钟报警、30分钟紧急
## 数据模型
- FirePassage:消防通道信息(id, name, location, status)
- OccupancyRecord:占用记录(passageId, occupancyStartTime, occupancyDuration)
## 技术要求
- 使用TypeScript
- 实时监测(每30秒检查一次)
- 支持规则配置(预警/报警阈值可调整)
- 记录所有占用和处置过程
请生成完整的代码实现。PROMPT 2:生成AI视频分析代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成AI视频分析的代码。
## 业务场景
通过AI视频分析,实时监测消防通道是否被占用。
## 业务规则
1. 目标识别:
- 识别消防通道内的货物、车辆、人员
- 判断物体是否停留在通道内
2. 占用判定:
- 通道内有物体 && 停留时间 > 10分钟 → 判定为占用
- 识别占用类型(货物/车辆/装修材料/垃圾)
3. 实时分析:
- 每30秒分析一次监控画面
- 记录占用开始时间、占用类型、监控截图
## 技术要求
- 调用AI视频分析API(目标识别)
- 支持多路监控同时分析
- 记录所有分析结果和截图
请生成完整的代码实现。3.4 开发周期预估
基于已有资产(人员定位异常预警):
原型验证:2天
- Day 1:复用personnel-location-anomaly规则,调整判定条件
- Day 2:对接AI视频分析API,测试占用检测
首版上线:7-10天
- Day 3-4:完善占用判断逻辑,支持夜间降低阈值
- Day 5-6:开发AI视频分析模块
- Day 7-8:完善提醒推送逻辑,对接微信/短信
- Day 9:测试处置闭环流程
- Day 10:部署上线
迭代优化:根据实际使用反馈调整阈值、优化AI识别准确率
四、开发资产
4.1 Cursor Skill
文件名: personnel-location-anomaly.md (复用并调整)
调整内容:
- 监测对象:人员定位信号 → 消防通道占用状态
- 判定条件:信号消失 > 3分钟 → 通道占用 > 10分钟
- 数据来源:UWB定位系统 → AI视频分析
- 新增:夜间降低阈值规则
4.2 技术迁移说明
可复用的已有资产:
矿山场景:人员定位异常预警规则
- 复用:规则引擎框架、提醒推送逻辑、异常判断逻辑
- 调整:监测对象(人员 → 区域)、判定条件(3分钟 → 10分钟)
- 复用度:80%
新增部分:
- AI视频分析模块(20%)
- 夜间降低阈值规则
- 占用类型识别
4.3 实施指南
步骤1:准备环境
bash
# 安装依赖
npm install
# 配置AI视频分析API
# 编辑 config/video-analysis-config.json步骤2:使用Cursor Skill
1. 将 personnel-location-anomaly.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 personnel-location-anomaly.md 中的业务规则,
实现消防通道占用监测功能,
注意夜间需要降低阈值"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/occupancy-rules.ts
export const OCCUPANCY_CONFIG = {
daytime: {
warningMinutes: 10, // 白天预警阈值
alertMinutes: 30, // 白天报警阈值
criticalMinutes: 60, // 白天紧急阈值
},
nighttime: {
warningMinutes: 5, // 夜间预警阈值
alertMinutes: 15, // 夜间报警阈值
criticalMinutes: 30, // 夜间紧急阈值
startHour: 22, // 夜间开始时间
endHour: 6, // 夜间结束时间
},
analysisInterval: 30, // 分析间隔(秒)
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟占用场景
npm run simulate:occupancy五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以用2天时间,基于模拟数据做原型演示
- 技术对接:提供AI视频分析API文档,评估对接工作量
- 成本预估:根据监控数量、分析频率,给出详细报价
相关场景
- 场景01:消防设施检测到期提醒 - 到期提醒类场景
- 矿山场景:人员定位异常预警 - 原始复用资产

