物联网与硬件
设备远程监控平台和小程序怎么开发?
这类项目分三层做:设备接入层(协议、联网、上报)+ 后台平台(监控、告警、权限、运营)+ 终端小程序或 App(查看状态、接收提醒、处理工单)。真正决定体验的不是界面好不好看,而是设备稳定性、告警准不准、权限边界清不清楚、多端数据是不是实时一致。
三层架构
第一层:设备接入层
- 通信协议:MQTT(首选)、HTTP、Modbus
- 鉴权:每台设备一对密钥/证书
- 心跳:5–30 秒一次,判断在线/离线
- 数据上报:状态数据(高频)+ 业务事件(低频)
- 指令下发:开关、设置、查询、重启
- 边缘容错:弱网时本地缓存,回网批量补传
第二层:后台监控平台
- 实时大盘:在线率、告警数量、地理分布、关键指标趋势
- 设备列表:分组、筛选、批量操作
- 设备详情:基础信息、实时状态、历史曲线、操作日志、维护记录
- 告警中心:未处理告警、处理中告警、历史告警、告警规则配置
- 工单系统:派单、处理、回单、SLA 监控
- 权限体系:超管 / 区域管理员 / 运维员 / 客户,按角色和数据范围控制
- 运营数据:使用率、收入、设备健康度报表
第三层:终端
小程序适合:
- 用户量大、低门槛获客(C 端用户、临时用户)
- 简单操作:扫码绑定、查看状态、报修
- 不需要复杂动效或硬件能力
App 适合:
- 重度运维角色(每天看多台设备)
- 需要推送通知、蓝牙等硬件能力
- 需要离线操作或本地缓存
关键设计点
1. 实时性
监控平台的"实时"通常指 1–5 秒延迟,超过 10 秒用户就开始抱怨。实现方式:
- 设备 → MQTT → 后端缓存 → WebSocket 推到前端
- 后端不直接查数据库,而是从内存或 Redis 取最新状态
2. 告警去重和分级
- 同一设备 1 分钟内同类告警合并
- 告警级别分清:警告 / 严重 / 紧急,分别走不同通知渠道
- 自动恢复后发"已恢复"消息
3. 权限边界
- 数据权限到设备组、到地理区域、到客户主体
- 操作权限到指令类型(查看 vs 控制)
- 高危操作(重启、关机、断电)必须二次确认
4. 多端一致性
- 后台、小程序、App 看到的状态必须实时一致
- 同一台设备从不同入口查看,数据来源都是同一服务
5. 历史数据查询
- 热数据(30 天内)查询要快
- 冷数据(30 天以上)走归档存储,慢一点可接受
- 大跨度查询要做聚合(小时聚合、日聚合)
实施节奏
| 阶段 | 时间 | 内容 |
|---|---|---|
| 一期 | 3–4 个月 | 协议接入 + 监控平台基础功能 + 小程序看状态 |
| 二期 | 2 个月 | 告警系统 + 工单 + 多角色权限 |
| 三期 | 持续 | 数据分析 + 智能预警 + 第三方对接 |
前期客户要准备的
- 设备协议文档(最关键)
- 设备数量、地域分布、预计接入节奏
- 用户角色清单(谁在用、看什么、能控什么)
- 关键告警场景定义
- 是否已有云平台或网关
我们做过 新能源智能充换电、BMS 电池智能管家、无人机智能充换电 这类设备监控平台项目,对协议接入、告警引擎、运维工单、权限体系都有现成的方法论可以复用。一期建议先把"设备稳定接入 + 实时监控 + 基础告警 + 终端查看"这条主链路打通,二期再扩工单、运营、数据分析。