物联网 · 盛世宏博 · 智慧档案库房 · 八防十防 · 温湿度/漏水/防火/防盗联动
关键词:智慧档案库房、温湿度监控、漏水检测、防火防盗、边缘网关、Modbus TCP、门禁视频联动、恒湿净化一体机、气体灭火辅助联动 标签:#物联网 #Modbus #TCP/IP #POE供电 #腾讯云 #Python #以太网温湿度传感器 #网口温湿度变送器 #机房监控
档案库房核心诉求是八防/十防:防潮、防高温、防水、防火、防盗、防尘、防光、防有害气体、防虫霉、防污染。
其中温湿度、漏水、防火、防盗是最容易出事故、也最适合做自动联动的四类。
设计原则先写死:
┌──────────────────────────────────────────────────────────┐
│ 应用平台层 │
│ 档案库房监控平台 / 大屏 / 报表 / 审计日志 / 告警闭环工单 │
└──────────────────────────┬───────────────────────────────┘
│ MQTT / HTTPS / Modbus TCP(北向)
┌──────────────────────────▼───────────────────────────────┐
│ 边缘联动层(每库房1台工业网关) │
│ 协议归一 · 本地阈值 · 规则引擎 · 断网缓存 · 视频预置位调用 │
└──────────────────────────┬───────────────────────────────┘
│ VLAN 110 动环域
┌──────────────────────────▼───────────────────────────────┐
│ 感知+执行层 │
│ 网口温湿度变送器 · 漏水绳 · 烟温感 · 门磁/PIR · 门禁 │
│ 恒湿消毒净化一体机 · 空调 · 新风机 · 智能水阀 · 声光报警 │
└──────────────────────────────────────────────────────────┘网络硬规则(和机房/配电室同源):
级别 | 触发 | 动作 | 人工介入 |
|---|---|---|---|
一级 环境自调 | 温/湿轻微越限 | 启停恒湿机/空调/新风,恢复即停 | 不需要 |
二级 风险告警 | 漏水、UV超标、PM2.5高 | 关加湿/新风 + 平台弹窗 + 短信 + 声光 | 确认处置 |
三级 紧急事件 | 烟雾、非法闯入 | 关风阀/空调、门禁解锁、视频全景、电话推送 | 立即处置 |
# 环境
IF zone_avg_hum > 60%RH FOR 300s THEN 恒湿机->除湿模式
IF zone_avg_hum < 45%RH FOR 300s THEN 恒湿机->加湿模式
IF temp > 24℃ FOR 600s THEN 空调制冷 + 平台预警
# 漏水
IF leak_sensor == TRUE FOR 3s THEN
关加湿功能
关对应区新风机
声光报警
视频预置位->漏水区
推送运维+档案主管
# 防火(辅助)
IF fire_panel == ALARM THEN
关空调/新风/恒湿机
关防火阀
门禁解锁(逃生)
视频全景录像
推送消防负责人+档案主管
平台不下发气体喷放指令
# 防盗
IF (门禁非法开门 OR PIR布防时段触发) THEN
声光报警
视频弹窗+抓拍
写审计日志
推送安保+档案主管关键点:“FOR N秒”做消抖,否则空调启停抖、水浸冷凝误报、PIR 飞虫都能把值班人逼疯。
# archive_linkage.py
from enum import Enum
import time
class Level(Enum):
ENV = 1 # 环境自调
WARN = 2 # 风险告警
EMERGENCY = 3
class ArchiveLinkage:
def __init__(self, gw):
self.gw = gw # 网关句柄:read/control/video/notify
self.state = {}
def zone_avg(self, zone, metric):
vals = [n.last_value for n in self.gw.nodes
if n.zone == zone and n.metric == metric and n.quality == "GOOD"]
return sum(vals)/len(vals) if vals else None
def rule_loop(self):
while True:
self._env_rules()
self._leak_rules()
self._fire_rules()
self._intrusion_rules()
time.sleep(2)
def _env_rules(self):
for z in self.gw.zones:
h = self.zone_avg(z, "hum")
t = self.zone_avg(z, "temp")
if h is not None:
if h > 60: self.gw.control(f"{z}/hum_machine", "dehumidify")
elif h < 45:self.gw.control(f"{z}/hum_machine", "humidify")
else: self.gw.control(f"{z}/hum_machine", "standby")
if t is not None and t > 24:
self.gw.control(f"{z}/ac", "cool")
self.gw.notify(Level.WARN, f"{z} 温度偏高 {t}℃")
def _leak_rules(self):
for s in self.gw.leak_sensors:
if s.stable_true(seconds=3):
self.gw.control(f"{s.zone}/humidifier", "off")
self.gw.control(f"{s.zone}/fresh_air", "off")
self.gw.alarm(level=Level.WARN, msg=f"{s.zone} 漏水:{s.position}")
self.gw.camera.goto_preset(s.zone, "leak")
self.gw.push(["ops","arch_mgr"], f"[漏水]{s.zone} {s.position}")
def _fire_rules(self):
if self.gw.fire_panel.status == "ALARM":
for dev in ["ac","fresh_air","hum_machine"]:
self.gw.control(f"all/{dev}", "off")
self.gw.control("all/fire_damper", "close")
self.gw.control("all/door", "unlock") # 逃生优先
self.gw.camera.record_all()
self.gw.alarm(level=Level.EMERGENCY, msg="火情告警:停风阀/解锁门/视频留证")
# 注意:不调用气体灭火喷放
def _intrusion_rules(self):
if not self.gw.arm_status:
return
for d in self.gw.intrusion_sensors:
if d.edge_trigger():
self.gw.alarm(level=Level.EMERGENCY, msg=f"非法闯入:{d.zone}")
self.gw.camera.popup(d.zone)
self.gw.log(f"INTRUSION {d.zone} {time.time()}")边缘层必须干的活:
zone / level / ts / src / action_taken Grafana/大屏上至少看:
1. 勘测:面积/密集架/管道/门窗/现有消防门禁
2. 出图:点位图 + 管线图 + VLAN/IP 规划表
3. 布线:PoE屏蔽网线单端接地,消防/安防/动环分网
4. 装设备:传感器→漏水绳→烟温感→门禁→摄像头→一体机
5. 网关:点表导入、规则配置、视频预置位、门禁布防时段
6. 单机冒烟:每台传感器读值比对标准表
7. 联动演练:
- 拿湿毛巾捂探头 → 湿度飙 → 一体机除湿
- 倒一点水在漏水绳 → 关加湿+弹视频
- 烟感测试键 → 停风+门禁解锁+视频录像
- 非工作时段 PIR 触发 → 声光+抓拍+推送
8. 72h 试运行:看曲线、看误报、调滞回
9. 验收交付:竣工图+寄存器表+pcap基线+校准记录+联动演练记录验收别只看“有数”:必须实测“烟感→停风”“漏水→关阀”“PIR→弹视频”三条,否则就是监而不控。
智慧档案库房监控系统,温湿度是日常、漏水是慢性杀手、火灾是毁灭级、盗窃是不可逆。
真正“智能联动”的标志不是大屏好看,而是:
把“感知—边缘规则—执行设备—平台审计”四段钉死,档案库房才从“有人看守的房间”变成“会自己保护自己的库房”。
这套交出去,档案主管、消防维保、安保、信息化口才都能签字。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。