这个项目难在哪
每个案例的难点都不一样。先把难点说清楚,方案才有意义。
12 个子系统来自不同厂商,每家一套接口、一套数据格式,没有统一标准
设备类型跨度极大:门锁是低功耗离线设备,水控要求实时扣费,断路器要分钟级能效,摄像头是视频流
新建校区边建边接,第一批设备进场时接入标准还没定稿
6 万个终端的注册、心跳、状态同步,直接压垮了第一版按「每台设备一行实时状态」设计的表结构
项目背景:不是装设备,是让设备说同一种话
这是西南某医科大学的新建校区,4 万余名师生,60 栋楼宇。校区从零建设,好处是设备可以统一规划,坏处是所有子系统同时进场,谁也没有耐心等你的平台标准。
项目要接入的范围包括:宿舍智能门锁、浴室水表水控、直饮水、智能洗衣机、消费 POS、图书馆设备、建筑楼控、建筑能效、视频安防、出入口控制、停车场、机房动环、智慧教室,以及底层的计算机网络。
客户的核心诉求只有一句话:**6 万多个设备要能统一管理、统一维护、统一共享**。不是做一个大屏给人看,是让后勤、保卫、教务三个部门都能查到自己关心的设备状态,而不是各自登录一套厂商系统。
设备结构:6 万个终端到底是什么
很多「校园物联网」项目号称接入几万设备,实际把网络端口、软件账号都算进去了。这个项目把口径拆清楚:物联终端 61395 个,校园卡 45080 张,网络设备单独统计。
| 子系统 | 主要设备 | 数量 |
|---|---|---|
| 宿舍智能门锁 | 智能门锁 / 门锁网关 | 8,960 / 200 |
| 浴室水控 | 水表水控一体机 | 8,662 |
| 建筑能效监管 | 智能断路器(三批) | 4,000 + 6,000 + 1,000 |
| 视频安防监控 | 普通相机 / 球机 / 智能相机 / 全景鹰眼 / 警戒枪球 / AI 录像机 | 8,043 / 73 / 208 / 12 / 132 / 4 |
| 出入口控制 | 人脸门禁 / 通道控制器 / 抓拍机 / 测温组件 | 1,583 / 261 / 8 / 62 |
| 图书馆管理 | 图书馆设备 | 1,500 |
| 紧急报警 | 烟感 / 一键报警 / 信息传输装置 | 1,000 / 15 / 2 |
| 智慧洗衣 | 洗衣机控制终端 | 907 |
| 消费 POS | 充值终端 | 250 |
| 直饮水 | 物联网水控分体机 | 235 |
| 智慧教室 | 教室终端 | 47 |
| 停车场 | 雷视一体机 / 违停球 / 微模块采集器 / UPS | 12 / 15 / 1 / 1 |
| 机房动环 | 精密空调 / 温湿度 / 配电 / 冷通道 | 1 / 1 / 1 / 1 |
| 建筑楼控 | 工业网关 | 2 |
| 车载卡识别 | 车载识别终端 | 10 |
看这张表能发现一个问题:数量最大的是断路器和摄像头,但**最难接的既不是断路器也不是摄像头**。
摄像头数量最多(8472 路),但视频有 GB28181 这个成熟标准,接起来反而是最顺的。断路器 11000 个看着吓人,但它是标准 Modbus 或厂商私有协议,数据点固定,摸清一次就批量复制。
真正麻烦的是水控和门锁。水控 8662 台,每台都要实时扣费、余额同步、断网续传,涉及钱,出错就是投诉。门锁 8960 把,低功耗离线设备,大部分时间不在线,状态是「最后一次上报」而不是「当前状态」。这两类设备的逻辑,和普通传感器完全不是一回事。
难点一:12 家厂商,12 套接口
项目启动时,12 个子系统对应 12 家厂商。有的给 SDK,有的只给 HTTP 接口文档,有的给数据库直连账号,还有两家只能通过定时导出 Excel 交换数据。
平台侧的做法不是「一家一家对接」,而是先定物模型,再让厂商按物模型提供数据。这一步很关键——如果先对接再抽象,最后会得到 12 套无法统一的数据结构。
物模型分三层
- **属性(Property)**:设备当前状态,可读可写。门锁的开锁状态、水控的余额、断路器的功率。
- **事件(Event)**:设备主动上报的瞬时信息。门锁被撬、水控余额不足、烟感报警。
- **服务(Service)**:平台向设备下发的指令。远程开锁、水控强制断水、断路器分闸。
每类设备定义一套物模型,同型号设备复用。61395 个终端最终收敛成 40 多类物模型——这个收敛比是后面所有工作的基础。
接入通道按设备能力分三类
| 通道 | 适用设备 | 典型协议 |
|---|---|---|
| 直连型 | 自带网络能力、可跑 MQTT 的设备 | MQTT / HTTP |
| 网关型 | 低功耗、离线设备,经网关汇聚 | ZigBee / LoRa / 私有 2.4G |
| 平台型 | 已有厂商平台,只做数据对接 | HTTP API / 数据库 / 文件 |
门锁和部分水控走网关型,一个门锁网关带 40 多把锁。视频走平台型,只同步通道目录和状态,不碰视频流。断路器和楼控走直连或网关,看厂商固件。
现实里总有厂商以「接口是商业机密」为由不开放。这时候的退路是网关型接入——在设备侧加一层采集网关,从物理层或厂商本地数据库取数。代价是多了硬件成本和维护点,但比谈不下来卡住项目强。
难点二:6 万设备的状态同步
第一版设计把每台设备的当前状态存在一张表里,每次状态变化就更新。上线测试时,6 万设备的心跳直接把数据库写满了。
问题的根源是「所有设备都当成实时设备」这个假设。实际上 6 万个终端里,真正需要秒级状态的不到十分之一。
按设备类型分级
| 级别 | 设备类型 | 状态策略 |
|---|---|---|
| 实时级 | 水控、门禁、报警、停车场 | 事件驱动,变化即上报,秒级 |
| 准实时级 | 断路器、楼控、机房动环 | 分钟级轮询,批量入库 |
| 快照级 | 门锁、烟感、图书馆设备 | 只存最后上报状态,不追实时 |
| 目录级 | 摄像头、网络设备 | 只同步通道目录与在线状态 |
分级之后,实时写入的量降了两个数量级。门锁这类快照级设备,平台不关心「现在开着还是关着」,只关心「最后一次上报是什么时候、有没有异常」。这个认知转变省掉了大量无效写入。
离线判定不能只看心跳
门锁是低功耗设备,正常状态下可能几小时不上报。如果用「5 分钟没心跳就判离线」,8000 多把锁会同时变成离线,运维直接崩溃。
最终的做法是按设备类型设不同的离线阈值:水控 10 分钟、门锁 12 小时、摄像头 3 分钟、断路器 30 分钟。阈值不是一个全局参数,是物模型的一个属性。
设备台账:一物一码,比接入更难
6 万个设备接入平台之后,第二个问题马上来了:**这台设备是谁装的、装在哪、什么型号、保修到什么时候**。
新建校区的现实是:设备分批进场,施工队换了好几拨,有些设备装完了没登记,有些登记了型号写错,还有些装在图纸上有、现场找不到。
平台的做法是给每台设备一个唯一编码,把「设备身份」和「物理位置」分开存。位置用「楼宇 - 楼层 - 房间」三级编码,和设备编码解耦——设备可以换、位置不变,位置可以改造、设备不动。
- 设备编码由平台统一生成,不由厂商提供,避免厂商换型号导致编码失效
- 位置编码和校区基建图纸对齐,后勤、保卫用同一套位置语言
- 设备与位置是多对多关系:一间教室有多台设备,一台网关可能管多个房间的门锁
- 台账里保留「接入时间」和「首次上报时间」,两者不一致说明设备装了但没通
「接入时间」和「首次上报时间」的差值,是排查施工质量最有效的指标。差值超过 3 天的设备,八成是接线错了或者网关没通电,让施工队按这个列表返工,比全校区巡检快得多。
视频为什么不进物联网平台
8472 路摄像头是数量最大的一类设备,但平台**不接视频流**,只接通道目录和在线状态。
原因很直接:视频流的带宽和存储需求,和物联网数据的量级完全不是一个维度。8472 路摄像头如果都过物联网平台转发,平台会被拖死,而且没有任何收益——视频本来就该由视频平台管。
平台做的是三件事:同步摄像头目录(谁在哪、什么型号、什么状态)、在设备详情页嵌入视频预览(调视频平台的流地址)、把摄像头的告警事件接进来(比如警戒枪球触发的人形检测)。
这个分界在项目里反复被挑战。业务部门希望「在一个界面看到所有东西」,技术上又想「所有数据都进一个库」。最终的做法是**界面统一、数据分治**:用户在一个页面看到设备状态和视频画面,但底层是两套系统通过接口协作。
同一个客户后来还上了视频融合监管平台和 AI 算法配置管理平台,这两个是独立系统,和物联网底座通过接口对接。把三件事塞进一个平台,是这个行业最常见的架构错误。
边建边接:标准要在第一批设备进场前定下来
新建校区的物联网项目有个绕不开的矛盾:校区建设有工期,平台标准要时间。等标准定完再接入,工期等不起;先接入再定标准,后面全要返工。
这个项目的处理方式是先出一份「接入规范」的最小版本,只规定三件事:设备编码规则、必填属性字段、数据上报格式。这份规范在第一批设备进场前发给所有厂商,后面再逐步补充细节。
规范里最有用的一条是**必填字段清单**。设备型号、安装位置、所属子系统、责任厂商、保修截止日——这五个字段必须填,缺一个不予接入验收。这条卡住之后,后面的台账工作省了一大半。
代价是前期和厂商的沟通成本很高,有两家厂商因为不愿意改数据格式,最后改用网关采集。但从结果看,这个代价是值得的:如果先接入后补字段,6 万台设备的数据补录工作量是灾难级的。
交付结果与几条实在的经验
项目最终实现了 6 万余个物联终端的统一纳管,覆盖 12 个子系统、60 栋楼宇,4 万余名师生的日常使用。后勤、保卫、教务三个部门用同一套平台查设备,不再各登各的厂商系统。
三条可以复用的经验
- 1**先定物模型,再谈对接**。反过来做,最后会得到 12 套无法统一的数据结构,返工成本远高于前期沟通。
- 2**不是所有设备都需要实时状态**。按类型分级之后,写入压力能降两个数量级,离线判定阈值也必须按类型分别设。
- 3**设备台账比设备接入更难**。接入是技术问题,台账是管理问题,而管理问题往往更消耗项目周期。
如果重做一次,会改的地方是:把「首次上报时间」这个字段从第一天就设为必填,而不是等到排查施工质量时才发现它的价值。
用到的技术
这些技术在其他项目里也用过,完整的协议支持清单和已实测规模见技术能力
有类似的项目?
把你的现场情况说清楚就行,不用先写需求文档。我们会告诉你从哪切入最划算、哪些环节其实可以不花钱。