设备上云不只是“连上 MQTT 发 JSON”。生产系统要完成设备身份建立、安全连接、配置同步、遥测处理、命令确认、离线缓存和生命周期管理。

首次上云顺序

1
2
3
4
5
6
7
8
9
10
工厂写入设备唯一标识和初始凭据
-> 设备启动并获得网络
-> 校准时间、解析接入域名
-> 与引导服务建立 TLS
-> 证明设备身份并激活
-> 换取设备证书或长期凭据
-> 连接 MQTT Broker
-> 订阅命令 Topic
-> 上报在线状态、能力和配置版本
-> 开始遥测与事件上报

初始凭据不应在所有设备间共享。长期凭据要可轮换、吊销,并绑定设备、租户和最小 Topic 权限。

MQTT over TLS、Keep Alive 与 LWT

MQTT over TLS 表示 MQTT 报文在 TLS 安全通道中传输。TLS 提供传输加密、完整性和服务器认证,也可以配合客户端证书进行双向认证。

Keep Alive 用心跳检测连接是否仍可用;Last Will and Testament(LWT,遗嘱消息)在客户端异常断开时由 Broker 发布预设状态。

1
2
3
设备正常上线:主动发布 online
设备正常退出:主动发布 offline 并断开
设备异常掉线:Broker 超时后发布 LWT offline

LWT 只能说明连接异常,不代表硬件一定损坏。平台可结合最近遥测时间、网络质量和业务心跳判断在线状态。

遥测上行链路

1
2
3
4
5
设备采集 -> 本地校验与序号 -> MQTT Broker
-> 鉴权/限流 -> Kafka 或内部队列
-> Worker 解析、去重、校时
-> 时序数据库
-> 规则引擎、告警和看板

消息至少包含设备 ID、事件 ID、设备序号、设备时间、数据版本和测量值。服务端接收时间不能替代设备采集时间,但设备时钟也可能错误,需要同时保留两者。

命令下发状态机

1
2
created -> sent -> gateway_received -> device_executed -> confirmed
-> failed / timed_out

命令要定义过期时间、可重试性、幂等键和期望状态。开门、启动电机等高风险命令还要执行权限、审计、二次确认和本地安全条件检查。

断网缓存和补传

设备或网关应把待上传数据写入有界持久队列。网络恢复后按序号补传并限制速率,优先传告警和关键事件,避免历史数据洪峰冲垮 Broker 和数据库。

存储满时必须有明确策略:丢最旧、丢低优先级、聚合采样或停止非关键采集,而不是无限占用磁盘。

延伸阅读

站内搜索

没有找到内容!